- Mar 16, 2010
-
-
Bob Wilson authored
llvm-svn: 98642
-
Bob Wilson authored
U test/CodeGen/ARM/tls2.ll U test/CodeGen/ARM/arm-negative-stride.ll U test/CodeGen/ARM/2009-10-30.ll U test/CodeGen/ARM/globals.ll U test/CodeGen/ARM/str_pre-2.ll U test/CodeGen/ARM/ldrd.ll U test/CodeGen/ARM/2009-10-27-double-align.ll U test/CodeGen/Thumb2/thumb2-strb.ll U test/CodeGen/Thumb2/ldr-str-imm12.ll U test/CodeGen/Thumb2/thumb2-strh.ll U test/CodeGen/Thumb2/thumb2-ldr.ll U test/CodeGen/Thumb2/thumb2-str_pre.ll U test/CodeGen/Thumb2/thumb2-str.ll U test/CodeGen/Thumb2/thumb2-ldrh.ll U utils/TableGen/TableGen.cpp U utils/TableGen/DisassemblerEmitter.cpp D utils/TableGen/RISCDisassemblerEmitter.h D utils/TableGen/RISCDisassemblerEmitter.cpp U Makefile.rules U lib/Target/ARM/ARMInstrNEON.td U lib/Target/ARM/Makefile U lib/Target/ARM/AsmPrinter/ARMInstPrinter.cpp U lib/Target/ARM/AsmPrinter/ARMAsmPrinter.cpp U lib/Target/ARM/AsmPrinter/ARMInstPrinter.h D lib/Target/ARM/Disassembler U lib/Target/ARM/ARMInstrFormats.td U lib/Target/ARM/ARMAddressingModes.h U lib/Target/ARM/Thumb2ITBlockPass.cpp llvm-svn: 98640
-
Johnny Chen authored
(RISCDisassemblerEmitter) which emits the decoder functions for ARM and Thumb, and the disassembler core which invokes the decoder function and builds up the MCInst based on the decoded Opcode. Added sub-formats to the NeonI/NeonXI instructions to further refine the NEONFrm instructions to help disassembly. We also changed the output of the addressing modes to omit the '+' from the assembler syntax #+/-<imm> or +/-<Rm>. See, for example, A8.6.57/58/60. And modified test cases to not expect '+' in +reg or #+num. For example, ; CHECK: ldr.w r9, [r7, #28] llvm-svn: 98637
-
Bob Wilson authored
This does not move entirely to UAL syntax, since the default "increment after" suffix is empty but we still use "IA" for that. llvm-svn: 98635
-
Bob Wilson authored
llvm-svn: 98596
-
Bob Wilson authored
Radar 7459078. llvm-svn: 98586
-
- Mar 15, 2010
-
-
Bill Wendling authored
section, remove the target-specific code that performs this. llvm-svn: 98580
-
Chris Lattner authored
doesn't have a type constraint on the scalar because we don't have an 'sAny' type. llvm-svn: 98527
-
- Mar 14, 2010
-
-
Anton Korobeynikov authored
llvm-svn: 98503
-
Anton Korobeynikov authored
llvm-svn: 98502
-
Chris Lattner authored
with an MCSymbol instead of an immediate. llvm-svn: 98481
-
Chris Lattner authored
an MCSymbol. Make the EH_LABEL MachineInstr hold its label with an MCSymbol instead of ID. Fix a bug in MMI.cpp which would return labels named "Label4" instead of "label4". llvm-svn: 98463
-
Chris Lattner authored
instead of label ID's. This cleans up and regularizes a bunch of code and makes way for future progress. Unfortunately, this pointed out to me that JITDwarfEmitter.cpp is largely copy and paste from DwarfException/MachineModuleInfo and other places. This is very sad and disturbing. :( One major change here is that TidyLandingPads moved from being called in DwarfException::BeginFunction to being called in DwarfException::EndFunction. There should not be any functionality change from doing this, but I'm not an EH expert. llvm-svn: 98459
-
- Mar 13, 2010
-
-
Chris Lattner authored
llvm-svn: 98451
-
Chris Lattner authored
and passing off ownership to AsmPrinter. Now MachineModuleInfo creates it and owns it by value. This allows us to use MCSymbols more consistently throughout the rest of the code generator, and simplifies a bit of code. This also allows MachineFunction to keep an MCContext reference handy, and cleans up the TargetRegistry interfaces for AsmPrinters. llvm-svn: 98450
-
Benjamin Kramer authored
llvm-svn: 98430
-
Bob Wilson authored
base register updating load/store-multiple instructions. llvm-svn: 98427
-
Bob Wilson authored
writebacks to the address register. This gets rid of the hack that the first register on the list was the magic writeback register operand. There was an implicit constraint that if that operand was not reg0 it had to match the base register operand. The post-RA scheduler's antidependency breaker did not understand that constraint and sometimes changed one without the other. This also fixes Radar 7495976 and should help the verifier work better for ARM code. There are now new ld/st instructions explicit writeback operands and explicit constraints that tie those registers together. llvm-svn: 98409
-
Bob Wilson authored
mostly the same. llvm-svn: 98402
-
- Mar 12, 2010
-
-
Bob Wilson authored
llvm-svn: 98398
-
Bob Wilson authored
llvm-svn: 98395
-
Jeffrey Yasskin authored
llvm-svn: 98394
-
Chris Lattner authored
remove it. llvm-svn: 98390
-
- Mar 11, 2010
-
-
Johnny Chen authored
instead of Pseudo, which helps Thumb decoder to recognize them as Thumb instr. llvm-svn: 98285
-
Bill Wendling authored
for the NLP because the object it's pointing to may be internal to the file. This seems counter-intuitive, but bear with me. When we place the LSDA into the TEXT section, the type info pointers need to be indirect and pc-rel. We accomplish this by using NLPs. However, sometimes the types are local to the file. GCC gets around this by not using a NLP in this case, but a "regular" indirection like this: GCC_except_tbl: .long Lfoo-. __ZTIA: @ This is local ... Lfoo: .long __ZTIA LLVM prefers NLPs on Darwin. In fact, it's more optimal for load performance to use them. llvm-svn: 98218
-
Johnny Chen authored
Plus fixed the encoding of t2LDRDpci such that P = 1 and W = 0 (offset mode). llvm-svn: 98217
-
Bob Wilson authored
llvm-svn: 98215
-
Bob Wilson authored
Radar 7686922. llvm-svn: 98210
-
- Mar 10, 2010
-
-
Bob Wilson authored
Patch by Sean Callanan. llvm-svn: 98200
-
Bill Wendling authored
indicates that an MCSymbol is external or not. (It's true if it's external.) This will be used to specify the correct information to add to non-lazy pointers. That will be explained further when this bit is used. llvm-svn: 98199
-
Jim Grosbach authored
400.perlbench for the nightly tests. llvm-svn: 98183
-
Jim Grosbach authored
llvm-svn: 98182
-
Johnny Chen authored
operands into their own PrintMethod, in order not to pollute the printOperand() impl with disassembly only Imm modifiers. llvm-svn: 98172
-
Chris Lattner authored
llvm-svn: 98124
-
Jim Grosbach authored
llvm-svn: 98109
-
- Mar 09, 2010
-
-
Jim Grosbach authored
is preparatory to having PEI's scavenged frame index value reuse logic properly distinguish types of frame values (e.g., whether the value is stack-pointer relative or frame-pointer relative). No functionality change. llvm-svn: 98086
-
Johnny Chen authored
what fields of the CPSR or SPSR are affected. llvm-svn: 98085
-
Jim Grosbach authored
register is involved for thumb1. Work around this for the moment by only re-using SP-relative offsets. This is temporary 'til the code can distinguish multiple base registers. llvm-svn: 98071
-
Bill Wendling authored
Place the LSDA into the TEXT section for ARM platforms. This involves making the encoding indirect, pcrel, and sdata4 instead of an absolute pointer. The references to the type infos are then non-lazy pointers. Revision 98019 changed the encoding of non-lazy pointers to add the symbol to the non-lazy pointer definition if it's a local symbol (otherwise, it's external and set to '0' so that the loader can adjust it to the real value). This paved the way for this change to work on ARM. llvm-svn: 98068
-
rdar://problem/6804645Bill Wendling authored
bear with the awful code. It won't last in its current state beyond tonight. llvm-svn: 98040
-