- Apr 21, 2010
-
-
Evan Cheng authored
llvm-svn: 101979
-
Evan Cheng authored
llvm-svn: 101978
-
Dan Gohman authored
llvm-svn: 101977
-
Johnny Chen authored
before reglist were not properly handled with respect to IT Block. Fix that by creating a new method ARMBasicMCBuilder::DoPredicateOperands() used by those instructions for disassembly. Add a test case. llvm-svn: 101974
-
Bill Wendling authored
fixes a bug (<rdar://problem/7880900>) in the JIT. This code wouldn't work: target triple = "x86_64-apple-darwin" define double @func(double %a) { %tmp1 = fmul double %a, 5.000000e-01 ; <double> [#uses=1] ret double %tmp1 } define i32 @main() nounwind { %1 = call double @func(double 4.770000e-04) ; <i64> [#uses=0] ret i32 0 } llvm-svn: 101965
-
Chris Lattner authored
(shl (or x,c), 3) the same as (shl (add x, c), 3) when x doesn't have any bits from c set. This finishes off PR1135. Before we compiled the block to: to: LBB0_3: ## %bb cmpb $4, %dl sete %dl addb %dl, %cl movb %cl, %dl shlb $2, %dl addb %r8b, %dl shlb $2, %dl movzbl %dl, %edx movl %esi, (%rdi,%rdx,4) leaq 2(%rdx), %r9 movl %esi, (%rdi,%r9,4) leaq 1(%rdx), %r9 movl %esi, (%rdi,%r9,4) addq $3, %rdx movl %esi, (%rdi,%rdx,4) incb %r8b decb %al movb %r8b, %dl jne LBB0_1 Now we produce: LBB0_3: ## %bb cmpb $4, %dl sete %dl addb %dl, %cl movb %cl, %dl shlb $2, %dl addb %r8b, %dl shlb $2, %dl movzbl %dl, %edx movl %esi, (%rdi,%rdx,4) movl %esi, 8(%rdi,%rdx,4) movl %esi, 4(%rdi,%rdx,4) movl %esi, 12(%rdi,%rdx,4) incb %r8b decb %al movb %r8b, %dl jne LBB0_1 llvm-svn: 101958
-
Dale Johannesen authored
user-defined operations that use MMX register types, but the compiler shouldn't generate them on its own. This adds a Synthesizable abstraction to represent this, and changes the vector widening computation so it won't produce MMX types. (The motivation is to remove noise from the ABI compatibility part of the gcc test suite, which has some breakage right now.) llvm-svn: 101951
-
- Apr 20, 2010
-
-
Johnny Chen authored
instead of just asserting. llvm-svn: 101942
-
Johnny Chen authored
transform the Opcode to the corresponding t2LDR*pci counterpart. Ref: A8.6.86 LDRT, A8.6.65 LDRBT, A8.6.77 LDRHT, A8.6.81 LDRSBT, A8.6.85 LDRSHT llvm-svn: 101915
-
Chris Lattner authored
patch by Kalle Raiskila! llvm-svn: 101875
-
Chris Lattner authored
an optimizer infinite loop on the file, PR6866. llvm-svn: 101854
-
Johnny Chen authored
d==15 is considered illegal. Return false instead of assert(). llvm-svn: 101852
-
Eric Christopher authored
shifts and null vectors. Autoupgrade these to what we'd lower them to. Add a testcase to exercise this. llvm-svn: 101851
-
Johnny Chen authored
llvm-svn: 101839
-
Johnny Chen authored
llvm-svn: 101827
-
Dan Gohman authored
llvm-svn: 101824
-
- Apr 19, 2010
-
-
Johnny Chen authored
Pseudocode details of conditional, Condition bits '111x' indicate the instruction is always executed. That is, '1111' is a leagl condition field value, which is now mapped to ARMCC::AL. Also add a test case for condition field '1111'. llvm-svn: 101817
-
Evan Cheng authored
llvm-svn: 101808
-
Johnny Chen authored
instructions should have Rd (Inst{11-8}) != 0b1111. Ref: A6.3 32-bit Thumb instruction encoding A6.3.11 Data-processing (shifted register) llvm-svn: 101788
-
Johnny Chen authored
VLD1q*_UPD and VST1q*_UPD have the ${dst:dregpair} operand now. llvm-svn: 101784
-
- Apr 18, 2010
-
-
Anton Korobeynikov authored
llvm-svn: 101755
-
Anton Korobeynikov authored
FU per CPU arch to 32 per intinerary allowing precise modelling of quite complex pipelines in the future. llvm-svn: 101754
-
- 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
-