- Apr 17, 2010
-
-
Chris Lattner authored
even if the element of the array has no size. llvm-svn: 101662
-
Chris Lattner authored
in memory operands. rdar://7874844 llvm-svn: 101661
-
Dan Gohman authored
llvm-svn: 101655
-
Chris Lattner authored
llvm-svn: 101648
-
Dan Gohman authored
llvm-svn: 101640
-
Dan Gohman authored
llvm-svn: 101639
-
Dan Gohman authored
llvm-svn: 101637
-
Dan Gohman authored
llvm-svn: 101636
-
Dan Gohman authored
const_casts, and it reinforces the design of the Target classes being immutable. SelectionDAGISel::IsLegalToFold is now a static member function, because PIC16 uses it in an unconventional way. There is more room for API cleanup here. And PIC16's AsmPrinter no longer uses TargetLowering. llvm-svn: 101635
-
Dan Gohman authored
MachineFunctionInfo subclasses. llvm-svn: 101634
-
Chandler Carruth authored
Also rename the classes appropriately. The CMake build already used these names. llvm-svn: 101631
-
Chris Lattner authored
i8 field when they really do not. This fixes rdar://7840289 llvm-svn: 101629
-
Evan Cheng authored
llvm-svn: 101621
-
Bob Wilson authored
may be called when either the source or destination type is i64, and my change also hadn't fixed the most obvious problem -- assuming that i64 will only be bitconverted to f64, ignoring the various vector types. Radar 7873160. llvm-svn: 101615
-
Chris Lattner authored
llvm-svn: 101581
-
Eric Christopher authored
Probably the best way to know that all getOperand() calls have been handled is to replace that API instead of updating. llvm-svn: 101579
-
Johnny Chen authored
llvm-svn: 101573
-
Dan Gohman authored
llvm-svn: 101564
-
Johnny Chen authored
on it. llvm-svn: 101563
-
Johnny Chen authored
case. Also, the 0xFF hex literal involved in the shift for ESize64 should be suffixed "ul" to preserve the shift result. Implemented printHex*ImmOperand() by copying from ARMAsmPrinter.cpp and added a test case for DisassembleN1RegModImmFrm()/printHex64ImmOperand(). llvm-svn: 101557
-
- Apr 16, 2010
-
-
Chris Lattner authored
llvm-svn: 101538
-
Dan Gohman authored
llvm-svn: 101531
-
Johnny Chen authored
this patch removes the assert() from printAddrMode3OffsetOperand() and adds a test case. llvm-svn: 101529
-
Johnny Chen authored
to the UAL syntax of LDCL<c>, instead. Add a test case for this change which also tests the removal of assert() from printAddrMode2OffsetOperand(). llvm-svn: 101527
-
Johnny Chen authored
considered legal instructions. Refs: A8.6.51 LDC, LDC2 (immediate) -- page A8-107, A8.6.58 LDR (immediate, ARM) -- page A8-121, and A8.6.194 STR (immediate, ARM) -- page A8-395. llvm-svn: 101524
-
Gabor Greif authored
with a fix for self-hosting rotate CallInst operands, i.e. move callee to the back of the operand array the motivation for this patch are laid out in my mail to llvm-commits: more efficient access to operands and callee, faster callgraph-construction, smaller compiler binary llvm-svn: 101465
-
Evan Cheng authored
Adding support for dag combiner to promote operations for profit. This requires target specific queries. For example, x86 should promote i16 to i32 when it does not impact load folding. x86 support is off by default. It can be enabled with -promote-16bit. Work in progress. llvm-svn: 101448
-
Evan Cheng authored
llvm-svn: 101446
-
Gabor Greif authored
llvm-svn: 101434
-
Johnny Chen authored
am2offset. Modified the instruction table entry and added a new test case. llvm-svn: 101415
-
Evan Cheng authored
Use default lowering of DYNAMIC_STACKALLOC. As far as I can tell, ARM isle is doing the right thing and codegen looks correct for both Thumb and Thumb2. llvm-svn: 101410
-
- Apr 15, 2010
-
-
Gabor Greif authored
with a fix rotate CallInst operands, i.e. move callee to the back of the operand array the motivation for this patch are laid out in my mail to llvm-commits: more efficient access to operands and callee, faster callgraph-construction, smaller compiler binary llvm-svn: 101397
-
Evan Cheng authored
ARM SelectDYN_ALLOC should emit a copy from SP rather than referencing SP directly. In cases where there are two dyn_alloc in the same BB it would have caused the old SP value to be reused and badness ensues. rdar://7493908 llvm is generating poor code for dynamic alloca, I'll fix that later. llvm-svn: 101383
-
Johnny Chen authored
llvm-svn: 101382
-
Dan Gohman authored
llvm-svn: 101379
-
Dan Gohman authored
can't be static. llvm-svn: 101377
-
Dan Gohman authored
llvm-svn: 101376
-
Gabor Greif authored
llvm-svn: 101368
-
Gabor Greif authored
of the operand array the motivation for this patch are laid out in my mail to llvm-commits: more efficient access to operands and callee, faster callgraph-construction, smaller compiler binary llvm-svn: 101364
-
rdar://7860110Chris Lattner authored
a load/or/and/store sequence into a narrower store when it is safe. Daniel tells me that clang will start producing this sort of thing with bitfields, and this does trigger a few dozen times on 176.gcc produced by llvm-gcc even now. This compiles code like CodeGen/X86/2009-05-28-DAGCombineCrash.ll into: movl %eax, 36(%rdi) instead of: movl $4294967295, %eax ## imm = 0xFFFFFFFF andq 32(%rdi), %rax shlq $32, %rcx addq %rax, %rcx movq %rcx, 32(%rdi) and each of the testcases into a single store. Each of them used to compile into craziness like this: _test4: movl $65535, %eax ## imm = 0xFFFF andl (%rdi), %eax shll $16, %esi addl %eax, %esi movl %esi, (%rdi) ret llvm-svn: 101343
-