Commit graph

139 commits

Author SHA1 Message Date
dand-oss
db00a6b8de C++ cleanup of old C conventions - prefer C++ casting to unsafe C style casts - use templates to encapsulate casting - prefer new to malloc - apply const when possible - decalare variables as near to use as possible 2012-09-10 16:52:50 -07:00
Siu Kwan Lam
47baa49160 Merge pull request #18 from laanwj/2012_09_constantint_value
Thanks!
2012-09-10 16:41:19 -07:00
Siu Kwan Lam
cc12434f57 Add thread local 2012-09-10 16:37:20 -07:00
Wladimir J. van der Laan
41953602bf Add ways to get the value of a ConstantInt
- property z_ext_value gets the zero-extended value using LLVMConstIntGetZExtValue
- property s_ext_value gets the sign-extended value using LLVMConstIntGetSExtValue
- add test case for both
2012-09-09 12:40:40 +02:00
Wladimir J. van der Laan
3b22d5accf Add wrapping constructor for (signed) long long
Completely analogous to how unsigned long long is handled
2012-09-09 12:04:27 +02:00
Siu Kwan Lam
fbb7208b85 add invariant load
add related test
2012-09-06 20:00:01 -07:00
Siu Kwan Lam
82117d899e add support for metadata.
add related test.
2012-09-06 15:47:23 -07:00
Siu Kwan Lam
78cde30883 Revive inline_function() 2012-09-04 10:06:36 -07:00
Wladimir J. van der Laan
5bd4991f0b Implement property CallOrInvokeInstruction.called_function
Also add a testcase.
2012-09-02 13:23:47 +02:00
Siu Kwan Lam
5d14461c84 Fix ConstantExpr opcode to use C++ enum values.
Note: C++ opcode is different from C opcode values.
Add ConstantExpr opcode name.
Add test for these.
2012-09-01 20:53:33 -07:00
Wladimir J. van der Laan
c033ba02a4 Implement property ConstantExpr.opcode
Use LLVM C-API function `LLVMGetConstOpcode`
2012-09-01 17:33:55 +02:00
Ilan Schnell
abe5f2b42b REL: master now 0.8.3 2012-08-31 19:14:34 -05:00
Mark Wiebe
01b55b48f7 Add detection of whether LLVM has PTX in the windows build 2012-08-29 13:51:07 -07:00
Siu Kwan Lam
38d4de35bb Make it possible to pass LLVM options from environment variables.
These options are parsed like commandline options to llc.
2012-08-26 21:00:56 -07:00
Mark Wiebe
bc2c9a24ed Support possibility of neither PTX backend being available 2012-08-23 09:27:30 -07:00
Mark Wiebe
788af6d82d Disable PTX backend by default on windows 2012-08-23 09:27:28 -07:00
Siu Kwan Lam
d78253ebe3 Add control to alignment of ld/st inst 2012-08-21 18:28:35 -05:00
Ilan Schnell
552bae1864 add uses tests 2012-08-19 17:32:15 -05:00
Ilan Schnell
501c3d0f61 move native tests 2012-08-19 17:08:34 -05:00
Ilan Schnell
a24d4a9f12 add object cahce tests 2012-08-19 17:10:31 -05:00
Ilan Schnell
274a9e9cd2 finished moving passes tests 2012-08-19 16:26:01 -05:00
Ilan Schnell
4a090c8c76 add passes tests 2012-08-19 16:36:32 -05:00
Ilan Schnell
4985615442 add tests to llvm package 2012-08-19 16:01:17 -05:00
Ilan Schnell
d6fdd31883 Merge branch 'issue8-py2.6' 2012-08-18 22:10:16 -05:00
Siu Kwan Lam
1ed2049395 add method to retrieve host cpu name
add stub method to enginebuilder to setMCPU and setMAttrs -- these are not implemented in llvm3.1
2012-08-18 17:32:40 -07:00
Siu Kwan Lam
d1bcdd05d1 add NVPTX for LLVM 3.2;
auto-gen _intrinsic_ids.py  in setup.py;
2012-08-18 15:29:26 -07:00
Jon Riehl
7c22f37b57 Adding support for building the "insertvalue" instruction. 2012-08-17 15:52:07 -05:00
Siu Kwan Lam
7880cdd3ba Fix get intrinsic 2012-08-15 16:13:38 -07:00
Siu Kwan Lam
8eb6a34d54 Replace fprintf with exception 2012-08-15 15:22:08 -07:00
Siu Kwan Lam
8b273490a9 Can create PTX target machine and print PTX asm 2012-08-14 16:50:32 -07:00
Siu Kwan Lam
f85713a736 Enable PTX backend 2012-08-14 15:05:22 -07:00
Siu Kwan Lam
ec71908874 Add target machine 2012-08-14 12:04:28 -07:00
Siu Kwan Lam
2fd1e6d056 Add & use capsulethunk for Py2.6 2012-08-10 19:22:30 -07:00
Siu Kwan Lam
bed4f24cbd Added Module.to_native_object() and Module.to_native_assembly().
Added test for these new functions.
2012-08-09 15:41:55 -07:00
Siu Kwan Lam
5e15b27909 Atomic load/store must explicit define alignment. 2012-08-03 14:13:22 -07:00
Siu Kwan Lam
f479f85676 Add memory fence 2012-08-03 12:30:01 -07:00
Siu Kwan Lam
6ac0f3c369 Add atomic load/store 2012-08-03 11:56:59 -07:00
Siu Kwan Lam
4d763680f6 Add easier atomic api 2012-08-03 10:28:17 -07:00
Siu Kwan Lam
fb72ab5c8d Add the rest of atomic op. 2012-08-03 10:14:09 -07:00
Siu Kwan Lam
acad5c9d8b Added atomic cmpxchg. 2012-08-02 17:54:40 -07:00
Siu Kwan Lam
9d068fd582 Add methods to set volatile inst. 2012-08-02 16:51:42 -07:00
Siu Kwan Lam
4783429804 Drop unused argument for GenericValue.pointer(). 2012-07-26 15:44:53 -07:00
Siu Kwan Lam
9aadd489c3 Python3 ready. Py2.7 and Py3 working. Drop PyCObject for all.
Pre Py2.7 support should be possible by including  "capsulethunk.h". (See llvm/wrap.h)
2012-07-26 15:25:23 -07:00
Siu Kwan Lam
afcdd30c88 Stick with C++ for everything. 2012-07-25 18:32:21 -07:00
Siu Kwan Lam
93c25ca98b Fix _wLLVMEngineBuilderCreate. 2012-07-25 18:25:25 -07:00
Siu Kwan Lam
5bb4b8affb Added EngineBuilder.
Added test/enginebuilder.
2012-07-25 15:31:18 -07:00
Siu Kwan Lam
6a02c36f04 Added PassManagerBuilder.
Updated test/passes.py for PassManagerBuilder.
2012-07-24 23:42:28 -07:00
Siu Kwan Lam
99c7a0736e Comment out pass constants in C files. 2012-07-24 12:25:42 -07:00
Siu Kwan Lam
2d79cfa437 Replaced PASS_* constants with pass name lookup. 2012-07-23 17:39:40 -07:00
Siu Kwan Lam
54a0a95faf Fix missing return in llvm/core.py and do some refactoring;
Update test/testall.py.

TODO: Need to update the passes.
2012-07-23 09:27:24 -07:00