Siu Kwan Lam
43095609c3
Add intrinsic check
2014-01-16 16:49:23 -06:00
Siu Kwan Lam
b9cccbf9ae
Close everything properly
2014-01-16 11:22:52 -06:00
Siu Kwan Lam
8689d62f02
Fix for PY3
2014-01-15 17:41:15 -06:00
Siu Kwan Lam
17d3cef4bd
Fix build_pass_manager fpm handling
2013-12-31 16:57:45 -06:00
Siu Kwan Lam
ecac668bef
Fix inline threshold and add size level
2013-12-27 22:21:33 -06:00
Siu Kwan Lam
078f1fe5c1
Move capsule code into C++
2013-12-23 17:17:12 -06:00
Siu Kwan Lam
b9752e1e98
Add deprecated module and deprecate alloca_array
2013-12-20 12:26:35 -06:00
Siu Kwan Lam
f8c1c78df1
Leaner
2013-12-18 15:25:14 -06:00
Siu Kwan Lam
b8e0338da8
Add AllocaInstruction
2013-12-18 10:43:11 -06:00
Siu Kwan Lam
091a393d1d
insert_value, extract_value can be multiple dimensional
2013-12-16 14:05:19 -06:00
Troy Powell
c199881b67
fixing index.rst
2013-11-18 15:59:01 -06:00
Ilan Schnell
fb3b6a3674
update changelog
0.12.1
2013-11-11 15:22:39 -06:00
Siu Kwan Lam
4e814b7d53
skip test for building executable from native object and assembly on OSX
2013-11-11 12:20:43 -06:00
Siu Kwan Lam
8a6dd7af7f
fix loop-vectorize for llvm-3.3
2013-11-05 16:58:20 -06:00
Siu Kwan Lam
d08095299e
add example for using vector instructions
2013-11-01 16:58:49 -05:00
Siu Kwan Lam
bf5859be7e
fix bad version checking which disables auto-vectorization for llvm 3.3
2013-11-01 16:50:53 -05:00
Siu Kwan Lam
18d3b4809f
Fix py2.6--use Popen instead of check_output
2013-10-05 13:55:26 +08:00
Siu Kwan Lam
a82e876f93
Add test skipping to disable arch specific tests conditionally
2013-10-05 13:37:04 +08:00
Siu Kwan Lam
1f7b9e3922
Fix setup.py
2013-10-04 15:35:22 +08:00
Siu Kwan Lam
fac1bc782d
Reorganize and cleanup tests
2013-10-04 15:24:30 +08:00
Siu Kwan Lam
ea452bd33c
Fix test
2013-09-30 17:18:30 -05:00
Siu Kwan Lam
ddf2007553
Adjust test for win32 x86 ABI
2013-09-30 17:13:06 -05:00
Siu Kwan Lam
e7a7896710
Adjust test for win32 amd64 ABI
2013-09-30 16:59:46 -05:00
Siu Kwan Lam
69a78d0a54
Test ABI for structures and reorganize tests a bit.
2013-09-30 16:24:26 -05:00
Siu Kwan Lam
cc4e4631bd
fix windows build: include all LLVM static library
2013-09-19 17:38:46 -05:00
Siu Kwan Lam
8034854ad4
make visual studio happy
2013-09-19 17:11:54 -05:00
Siu Kwan Lam
733fd7d18e
fix missing re-export for old llvm.ee symbols
2013-09-19 15:05:29 -05:00
Siu Kwan Lam
6e55bfc406
fix spaces redundant trailing spaces and missing line break at EOF
2013-09-18 11:58:05 -05:00
anthony cantor
72192c7e6a
fixed documentation typo
2013-09-18 11:52:22 -05:00
anthony cantor
b303fd532a
fixes to make this branch compatible with llvm versions before 3.4
2013-09-18 11:52:22 -05:00
anthony cantor
aa264cee2d
added align parameter to llvm.mc.Disassembler.decode
...
i cant find any method in llvm to automatically get the
correct instruction alignment for disassembling. i thought
it would be MCAsmInfo.getMinInstAlignment, but that value is
1 for the ARM target machine. since that is clearly the wrong
instruction alignment for disassembling arm, the user should
be able to configure the alignment to whatever is needed.
2013-09-18 11:52:22 -05:00
anthony cantor
3743146121
only convert input bytes if they are a string and we are in python 3
...
in python 2 'str' and 'bytes' are the same. if input bytes are not
a string or bytes, then raise a TypeError.
2013-09-18 11:52:22 -05:00
anthony cantor
8de5c3faff
added some methods to llvm.mc.Operand
...
methods that describe what type of operand it is
2013-09-18 11:52:22 -05:00
anthony cantor
083586464b
add bindings for instruction description methods to MCInstrDesc
...
use these new bindings instead of MCInstrAnalysis bindings in
llvm.mc.Instr because MCInstrAnalaysis is just a thin layer
encapsulating MCInstrInfo that seems largely pointless.
2013-09-18 11:52:22 -05:00
anthony cantor
0f3d5a8127
decode yields a tuple of integers instead of a bytearray
...
a tuple of integers is immutable and more similar to python 3
bytes than bytearray
2013-09-18 11:52:22 -05:00
anthony cantor
3e77a55de3
added methods to Instr which describe possible branch/terminator properties
2013-09-18 11:52:22 -05:00
anthony cantor
65c4558cac
added opcode property to llvm.mc.Instr
2013-09-18 11:52:22 -05:00
anthony cantor
43f7330fda
llvm.mc.Disassembler.decode now yields the byte sequence which generated the instruction
...
added custom method to extra.h to return a PyBytes object
from the bytes read from MemoryObject.readBytes.
also moved the generic methods from StringRefMemoryObject
up to MemoryObject
2013-09-18 11:52:22 -05:00
anthony cantor
1d735e49d2
fix python2/3 incompatibility
...
bytes built-in is different in python2
2013-09-18 11:52:22 -05:00
anthony cantor
fea82991c3
convert str input to bytes
...
StringRefMemoryObject constructor binding specifies bytes as
its input parameter, so we have to convert it.
2013-09-18 11:52:22 -05:00
anthony cantor
b3bf7f86cd
MCExpr pointer is owned by the MCOperand object
2013-09-18 11:52:22 -05:00
anthony cantor
3c06f0d590
add flags, ts_flags properties for Instr class
2013-09-18 11:52:22 -05:00
anthony cantor
cadc53f174
no need for get method in TargetInstrInfo
...
MCInstrInfo parent already has a binding
2013-09-18 11:52:22 -05:00
anthony cantor
0ed471d336
added example-instruction-info.py
...
demonstrates getting flag information for an opcode
2013-09-18 11:52:22 -05:00
anthony cantor
7234b0d200
use getRegInfo instead of creating a register info object
...
also raise exception if a property is accessed which is not
available on that particular TargetMachine.
2013-09-18 11:52:22 -05:00
anthony cantor
fa3aec8353
added some bindings to TargetMachine methods
...
these methods return pointers to MC objects relevant
to the arch the TargetMachine represents.
2013-09-18 11:52:21 -05:00
anthony cantor
bd9d71c713
added some bindings for MC classes
2013-09-18 11:52:21 -05:00
anthony cantor
8dbfc377ad
added functionality to llvm.mc.Instr to print itself
...
uses binding of printInst on MCInstPrinter for printing
instruction.
also fixed a bug in llvm.mc.Disassembler.decode: idx should
start at zero, and we should pass code.getBase() + idx to
getInstruction. idx must start at zero because the while loop
compares it against code.getExtent() which returns only the
length of bs.
2013-09-18 11:52:21 -05:00
anthony cantor
82d9c787f3
added llvm.mc.Operand class
...
Operand encapsulates information that llvm provides about an MCOperand
in an instruction.
2013-09-18 11:52:21 -05:00
anthony cantor
87d444c9e9
added tests to testall for llvm.target and llvm.mc
...
tests dont check for correctness, just exercise the API
2013-09-18 11:52:21 -05:00