- Mar 19, 2010
-
-
Chris Lattner authored
to maintain a list of types (one for each result of the node) instead of a single type. There are liberal hacks added to emulate the old behavior in various situations, but they can start disolving now. llvm-svn: 98999
-
Chris Lattner authored
we don't blow the smallvector as often. No functionality change. llvm-svn: 98968
-
Chris Lattner authored
from the pattern if present, and we use it instead of the bit. llvm-svn: 98938
-
Chris Lattner authored
dag isel gen instead of instruction properties. This allows the oh-so-useful behavior of matching a variadic non-root node. llvm-svn: 98934
-
Chris Lattner authored
llvm-svn: 98933
-
Daniel Dunbar authored
llvm-svn: 98927
-
Chris Lattner authored
llvm-svn: 98918
-
Chris Lattner authored
record* -> instrinfo instead of std::string -> instrinfo. This speeds up tblgen on cellcpu from 7.28 -> 5.98s with a debug build (20%). llvm-svn: 98916
-
Chris Lattner authored
Use CodeGenTarget::getInstNamespace in one place and fix it. llvm-svn: 98915
-
Chris Lattner authored
llvm-svn: 98914
-
Chris Lattner authored
llvm-svn: 98912
-
Chris Lattner authored
to a vector that CGT stores instead of synthesizing it on every call. llvm-svn: 98910
-
Chris Lattner authored
llvm-svn: 98908
-
Chris Lattner authored
llvm-svn: 98906
-
Chris Lattner authored
llvm-svn: 98904
-
Chris Lattner authored
llvm-svn: 98900
-
Chris Lattner authored
like this: def : Pat<(add ...), (FOOINST)>; When fooinst only has a single implicit def (e.g. to R1). This will be handled as if written as (set R1, (FOOINST ...)) llvm-svn: 98897
-
- Mar 18, 2010
-
-
Chris Lattner authored
llvm-svn: 98879
-
Chris Lattner authored
shouldn't change this. llvm-svn: 98872
-
Chris Lattner authored
llvm-svn: 98871
-
Chris Lattner authored
llvm-svn: 98870
-
Chris Lattner authored
instruction. Instructions must use 'ins' and 'outs' now. llvm-svn: 98868
-
Chris Lattner authored
Add checking that the input/output operand list in spelled right. llvm-svn: 98865
-
Daniel Dunbar authored
to allow custom post-processing of matched instructions. llvm-svn: 98857
-
Kovarththanan Rajaratnam authored
llvm-svn: 98820
-
- Mar 16, 2010
-
-
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
-
Chris Lattner authored
have enums for them. llvm-svn: 98597
-
- Mar 15, 2010
-
-
Chris Lattner authored
now enforces that input/output named values have hte same type. llvm-svn: 98535
-
Chris Lattner authored
changing the primary datastructure from being a "std::vector<unsigned char>" to being a new TypeSet class that actually has (gasp) invariants! This changes more things than I remember, but one major innovation here is that it enforces that named input values agree in type with their output values. This also eliminates code that transparently assumes (in some cases) that SDNodeXForm input/output types are the same, because this is wrong in many case. This also eliminates a bug which caused a lot of ambiguous patterns to go undetected, where a register class would sometimes pick the first possible type, causing an ambiguous pattern to get arbitrary results. With all the recent target changes, this causes no functionality change! llvm-svn: 98534
-
- Mar 14, 2010
-
-
Evan Cheng authored
llvm-svn: 98468
-
- Mar 08, 2010
-
-
Chris Lattner authored
needs to be majorly refactored, but this spot bugfix allows things like: def vmrghw_shuffle : PatFrag<(ops node:$lhs, node:$rhs), (vector_shuffle (v4i32 node:$lhs), node:$rhs), [{ ... llvm-svn: 97952
-
- Mar 07, 2010
-
-
Chris Lattner authored
llvm-svn: 97912
-
Chris Lattner authored
llvm-svn: 97911
-
Chris Lattner authored
Now it will factor things like this: CheckType i32 ... CheckOpcode ISD::AND CheckType i64 ... into: SwitchType: i32: ... i64: CheckOpcode ISD::AND ... This shrinks hte table by a few bytes, nothing spectacular. llvm-svn: 97908
-
Chris Lattner authored
for CheckValueTypeMatcher. The isContradictory implementation helps us factor better, shrinking x86 table from 79144 -> 78896 bytes. llvm-svn: 97905
-
- Mar 05, 2010
-
-
Mikhail Glushenkov authored
As in 'llvmc -O2 -O2 test.c'. llvm-svn: 97787
-
- Mar 04, 2010
-
-
Chris Lattner authored
we sometimes emit nodes multiple times to string buffers to size them. Compute the histogram correctly. llvm-svn: 97708
-
Chris Lattner authored
llvm-svn: 97705
-
Chris Lattner authored
sequence, just emit instruction predicates right before them. This exposes yet more factoring opportunitites, shrinking the X86 table to 79144 bytes. llvm-svn: 97704
-