- Feb 06, 2013
-
-
Jim Grosbach authored
For example, ARM has several instructions with a literal '#0' immediate in the syntax that's not represented as an actual operand. The asm matcher is expected a token operand, but the parser will have created an immediate operand. This is currently handled by dedicated per-instruction C++ munging of the ParsedAsmOperand list, but will be better handled by this hook. llvm-svn: 174487
-
- Feb 05, 2013
-
-
Eli Bendersky authored
llvm-svn: 174390
-
Jack Carter authored
and enables the instruction printer to print aliased instructions. Due to usage of RegisterOperands a change in common code (utils/TableGen/AsmWriterEmitter.cpp) is required to get the correct register value if it is a RegisterOperand. Contributer: Vladimir Medic llvm-svn: 174358
-
- Feb 01, 2013
-
-
Andrew Trick authored
Drive by fix. I noticed some missing logic that might bite future users. This shouldn't affect the final output on currently modeled targets. llvm-svn: 174142
-
- Jan 31, 2013
-
-
Jakob Stoklund Olesen authored
llvm-svn: 174068
-
Tim Northover authored
This patch adds support for AArch64 (ARM's 64-bit architecture) to LLVM in the "experimental" category. Currently, it won't be built unless requested explicitly. This initial commit should have support for: + Assembly of all scalar (i.e. non-NEON, non-Crypto) instructions (except the late addition CRC instructions). + CodeGen features required for C++03 and C99. + Compilation for the "small" memory model: code+static data < 4GB. + Absolute and position-independent code. + GNU-style (i.e. "__thread") TLS. + Debugging information. The principal omission, currently, is performance tuning. This patch excludes the NEON support also reviewed due to an outbreak of batshit insanity in our legal department. That will be committed soon bringing the changes to precisely what has been approved. Further reviews would be gratefully received. llvm-svn: 174054
-
- Jan 27, 2013
-
-
Bill Wendling authored
In the future, AttributeWithIndex won't be used anymore. Besides, it exposes the internals of the AttributeSet to outside users, which isn't goodness. llvm-svn: 173606
-
- Jan 16, 2013
-
-
Chad Rosier authored
// FIXME: Constraints are hard coded to 'm', but we need an 'r' // constraint for addressof. This needs to be cleaned up! Test cases are already in place. Specifically, clang/test/CodeGen/ms-inline-asm.c t15(), t16(), and t24(). llvm-svn: 172569
-
- Jan 11, 2013
-
-
Michael Ilseman authored
llvm-svn: 172159
-
- Jan 10, 2013
-
-
Jordan Rose authored
def foo : bar; ~~~ This allows us to produce more precise diagnostics about a certain superclass, and even provide fixits. llvm-svn: 172085
-
Tim Northover authored
llvm-svn: 172077
-
Tim Northover authored
The purpose of this patch is to allow PredicateMethods to be set to something like "isUImm<8>", calling a C++ template method to reduce code duplication. For this to work, the PredicateMethod must be mangled into a valid C++ identifier for insertion into an enum. llvm-svn: 172073
-
- Jan 09, 2013
-
-
Tim Northover authored
When processing possible aliases, TableGen assumes that if an operand *can* be an immediate, then it always *will* be. This is incorrect for the AArch64 backend. This patch inserts a check in the generated code to make sure isImm is true first. llvm-svn: 171972
-
Andrew Trick authored
This was an experimental option, but needs to be defined per-target. e.g. PPC A2 needs to aggressively hide latency. I converted some in-order scheduling tests to A2. Hal is working on more test cases. llvm-svn: 171946
-
- Jan 02, 2013
-
-
Chandler Carruth authored
llvm-svn: 171363
-
- Dec 26, 2012
-
-
NAKAMURA Takumi authored
Reported by Yang Yongyong, thanks! llvm-svn: 171101
-
- Dec 24, 2012
-
-
Elena Demikhovsky authored
llvm-svn: 171026
-
- Dec 22, 2012
-
-
Bill Wendling authored
Change 'AttrVal' to 'AttrKind' to better reflect that it's a kind of attribute instead of the value of the attribute. llvm-svn: 170972
-
- Dec 20, 2012
-
-
Richard Smith authored
llvm-svn: 170627
-
Jim Grosbach authored
MC disassembler clients (LLDB) are interested in querying if an instruction may affect control flow other than by virtue of being an explicit branch instruction. For example, instructions which write directly to the PC on some architectures. llvm-svn: 170610
-
- Dec 19, 2012
-
-
Roman Divacky authored
llvm-svn: 170578
-
Bill Wendling authored
Rename the 'Attributes' class to 'Attribute'. It's going to represent a single attribute in the future. llvm-svn: 170502
-
- Dec 10, 2012
-
-
Anshuman Dasgupta authored
beyond array bounds. No test case since I cannot reproduce an ICE with this bug. According to Carlos -- the bug reporter -- a segfault occurs only when LLVM is compiled with a specific version of GCC. llvm-svn: 169783
-
- Dec 08, 2012
-
-
Bill Wendling authored
llvm-svn: 169651
-
- Dec 05, 2012
-
-
Andrew Trick authored
This is much simpler to reason about, more efficient, and fixes some corner cases involving implicit super-register defs. Fixed rdar://12797931. llvm-svn: 169425
-
Andrew Trick authored
At build-time register pressure was always computed in terms of register units. But the compile-time API was expressed in terms of register classes because it was intended for virtual registers (and physical register units weren't yet used anywhere in codegen). Now that the codegen uses physreg units consistently, prepare for tracking register pressure also in terms of live units, not live registers. llvm-svn: 169360
-
Michael J. Spencer authored
llvm-svn: 169344
-
- Dec 04, 2012
-
-
Chandler Carruth authored
I've tried to find main moudle headers where possible, but the TableGen stuff may warrant someone else looking at it. llvm-svn: 169251
-
- Nov 29, 2012
-
-
Jakob Stoklund Olesen authored
Use this type for arrays of physical registers. llvm-svn: 168850
-
- Nov 28, 2012
-
-
Jakob Stoklund Olesen authored
This class has been merged into its super-class TargetInstrInfo. llvm-svn: 168760
-
- Nov 20, 2012
-
-
Bill Wendling authored
When code deletes the context, the AttributeImpls that the AttrListPtr points to are now invalid. Therefore, instead of keeping a separate managed static for the AttrListPtrs that's reference counted, move it into the LLVMContext and delete it when deleting the AttributeImpls. llvm-svn: 168354
-
- Nov 16, 2012
-
-
Weiming Zhao authored
This patch replaces the hard coded GPR pair [R0, R1] of Intrinsic:arm_ldrexd and [R2, R3] of Intrinsic:arm_strexd with even/odd GPRPair reg class. Similar to the lowering of atomic_64 operation. llvm-svn: 168207
-
- Nov 09, 2012
-
-
Evandro Menezes authored
Avoid iterating over list of operands beyond the number of operands in it. PS: this fixes issue with revision #167634. llvm-svn: 167635
-
Evandro Menezes authored
Avoid iterating over list of operands beyond the number of operands in it. llvm-svn: 167634
-
- Nov 08, 2012
-
-
Michael Liao authored
- Add RTM code generation support throught 3 X86 intrinsics: xbegin()/xend() to start/end a transaction region, and xabort() to abort a tranaction region llvm-svn: 167573
-
- Nov 02, 2012
-
-
Rafael Espindola authored
"../llvm-git/utils/TableGen/CodeGenSchedule.cpp", line 1594.12: 1540-0218 (S) The call does not match any parameter list for "operator+". "../llvm-git/include/llvm/ADT/STLExtras.h", line 130.1: 1540-1283 (I) "template <class _Iterator, class Func> llvm::operator+(mapped_iterator<_Iterator,Func>::difference_type, const mapped_iterator<_Iterator,Func> &)" is not a viable candidate. Patch by Kai. llvm-svn: 167311
-
- Nov 01, 2012
-
-
Jakob Stoklund Olesen authored
Explicitly allow composition of null sub-register indices, and handle that common case in an inlinable stub. Use a compressed table implementation instead of the previous nested switches which generated pretty bad code. llvm-svn: 167190
-
- Oct 25, 2012
-
-
Kaelyn Uhrain authored
llvm-svn: 166719
-
Joerg Sonnenberger authored
Most places can use PrintFatalError as the unwinding mechanism was not used for anything other than printing the error. The single exception was CodeGenDAGPatterns.cpp, where intermediate errors during type resolution were ignored to simplify incremental platform development. This use is replaced by an error flag in TreePattern and bailout earlier in various places if it is set. llvm-svn: 166712
-
David Blaikie authored
llvm-svn: 166694
-