- Nov 29, 2010
-
-
Michael J. Spencer authored
llvm-svn: 120304
-
Michael J. Spencer authored
llvm-svn: 120298
-
- Nov 23, 2010
-
-
Bob Wilson authored
llvm-svn: 120033
-
- Nov 19, 2010
-
-
Jason W Kim authored
Fix .o emission of ARM movt/movw. MCSymbolRefExpr::VK_ARM_(HI||LO)16 for the .o path now works for ARM. Note: lo16AllZero remains in ARMInstrInfo.td - It can be factored out when Thumb movt is repaired. Existing tests cover this update. llvm-svn: 119760
-
Bill Wendling authored
llvm-svn: 119759
-
- Nov 18, 2010
-
-
Bob Wilson authored
This makes it symmetric with the 'u' modifier that forces an unsigned type. This is needed for unsigned vector shifts, where the shift amount still needs to be signed. PR8482 (Radar 8603521). llvm-svn: 119742
-
- Nov 17, 2010
-
-
Evan Cheng authored
and xor. The 32-bit move immediates can be hoisted out of loops by machine LICM but the isel hacks were preventing them. Instead, let peephole optimization pass recognize registers that are defined by immediates and the ARM target hook will fold the immediates in. Other changes include 1) do not fold and / xor into cmp to isel TST / TEQ instructions if there are multiple uses. This happens when the 'and' is live out, machine sink would have sinked the computation and that ends up pessimizing code. The peephole pass would recognize situations where the 'and' can be toggled to define CPSR and eliminate the comparison anyway. 2) Move peephole pass to after machine LICM, sink, and CSE to avoid blocking important optimizations. rdar://8663787, rdar://8241368 llvm-svn: 119548
-
Bill Wendling authored
instructions have to distinguish between lists of single- and double-precision registers in order for the ASM matcher to do a proper job. In all other respects, a list of single- or double-precision registers are the same as a list of GPR registers. llvm-svn: 119460
-
Bob Wilson authored
llvm-svn: 119406
-
Bob Wilson authored
llvm-svn: 119405
-
Bob Wilson authored
No functional change. llvm-svn: 119404
-
- Nov 16, 2010
-
-
Bob Wilson authored
Stop defining types with "__neon_" prefixes and then using typedefs without the prefix; there's no reason to do that anymore. Remove types that combine multiple Neon vectors and treat them as a single long vector; they are not used. llvm-svn: 119369
-
Bob Wilson authored
I've temporarily disabled the failing clang test. llvm-svn: 119367
-
Bob Wilson authored
It's breaking buildbots. llvm-svn: 119363
-
Bob Wilson authored
Thanks to Nate Begeman for an earlier version of this patch. llvm-svn: 119358
-
Bill Wendling authored
'db', 'ib', 'da') instead of having that mode as a separate field in the instruction. It's more convenient for the asm parser and much more readable for humans. <rdar://problem/8654088> llvm-svn: 119310
-
- Nov 15, 2010
-
-
Chris Lattner authored
llvm-svn: 119130
-
Chris Lattner authored
llvm-svn: 119129
-
Chris Lattner authored
llvm-svn: 119128
-
Chris Lattner authored
Switch the ARM backend to use 'let' instead of 'set' with this change. llvm-svn: 119120
-
- Nov 11, 2010
-
-
Jim Grosbach authored
llvm-svn: 118829
-
Owen Anderson authored
Add support for specifying a PostEncoderMethod, which can perform post-processing after the automated encoding of an instruction. Not yet used. llvm-svn: 118759
-
- Nov 10, 2010
-
-
Dan Gohman authored
their comments. llvm-svn: 118696
-
- Nov 09, 2010
-
-
Dan Gohman authored
llvm-svn: 118622
-
- Nov 06, 2010
-
-
Chris Lattner authored
llvm-svn: 118359
-
Chris Lattner authored
fixed physical registers. Start moving fp comparison aliases to the .td file (which default to using %st1 if nothing is specified). llvm-svn: 118352
-
Chris Lattner authored
add fixed immediate values. Move the aad and aam aliases to use this, and document it. llvm-svn: 118350
-
Chris Lattner authored
result instruction operand numbering matched the result pattern. Fixing this allows us to move the xchg/test aliases to the .td file. llvm-svn: 118334
-
Chris Lattner authored
from c++ hacks to proper .td InstAlias definitions. Change them! llvm-svn: 118330
-
Chris Lattner authored
operand list instead of the operand list redundantly declared on the alias or instruction. With this change, we finally remove the ins/outs list on the alias. Before: def : InstAlias<(outs GR16:$dst), (ins GR8 :$src), "movsx $src, $dst", (MOVSX16rr8W GR16:$dst, GR8:$src)>; After: def : InstAlias<"movsx $src, $dst", (MOVSX16rr8W GR16:$dst, GR8:$src)>; This also makes the alias mechanism more general and powerful, which will be exploited in subsequent patches. llvm-svn: 118329
-
Chris Lattner authored
(someinst GR16:$foo, GR32:$foo) Reimplement BuildAliasOperandReference to be correctly based on the names of operands in the result pattern, instead of on the instruction operand definitions. llvm-svn: 118328
-
Chris Lattner authored
llvm-svn: 118327
-
Chris Lattner authored
llvm-svn: 118326
-
Chris Lattner authored
llvm-svn: 118325
-
Chris Lattner authored
file instead of the asmmatcher. llvm-svn: 118324
-
- Nov 04, 2010
-
-
Duncan Sands authored
and as such can be represented by an MVT - the more complicated EVT is not needed. Use MVT for ValVT everywhere. llvm-svn: 118245
-
Chris Lattner authored
Right now the code is partitioned but the behavior is the same. This should be improved in the near future. This removes some uses of TheOperandList. llvm-svn: 118232
-
Chris Lattner authored
it doesn't do any lexical stuff anymore. llvm-svn: 118230
-
Chris Lattner authored
llvm-svn: 118228
-
Chris Lattner authored
on the incoming operand list. This also makes the code simpler. llvm-svn: 118225
-