- Apr 02, 2007
-
-
Chris Lattner authored
llvm-svn: 35598
-
Zhou Sheng authored
2. Use cheaper APInt methods. llvm-svn: 35594
-
Zhou Sheng authored
llvm-svn: 35593
-
Chris Lattner authored
target hook. This allows us to codegen a loop as: LBB1_1: @cond_next mov r2, #0 str r2, [r0, +r3, lsl #2] add r3, r3, #1 cmn r3, #1 bne LBB1_1 @cond_next instead of: LBB1_1: @cond_next mov r2, #0 str r2, [r0], #+4 add r3, r3, #1 cmn r3, #1 bne LBB1_1 @cond_next This looks the same, but has one fewer induction variable (and therefore, one fewer register) live in the loop. llvm-svn: 35592
-
Chris Lattner authored
equality comparisons of a constant. This allows us to codegen the 'sintzero' loop in PR1288 as: LBB1_1: ;cond_next li r4, 0 addi r2, r2, 1 stw r4, 0(r3) addi r3, r3, 4 cmpwi cr0, r2, -1 bne cr0, LBB1_1 ;cond_next instead of: LBB1_1: ;cond_next addi r2, r2, 1 li r4, 0 xoris r5, r2, 65535 stw r4, 0(r3) addi r3, r3, 4 cmplwi cr0, r5, 65535 bne cr0, LBB1_1 ;cond_next This implements CodeGen/PowerPC/compare-simm.ll, and also cuts 74 instructions out of kc++. llvm-svn: 35590
-
Chris Lattner authored
llvm-svn: 35588
-
Chris Lattner authored
llvm-svn: 35587
-
Chris Lattner authored
llvm-svn: 35586
-
Chris Lattner authored
test/Transforms/InstCombine/xor.ll:test28 llvm-svn: 35584
-
Chris Lattner authored
llvm-svn: 35576
-
Chris Lattner authored
isel has its own particular features that it wants in the CFG, in order to reduce the number of times a constant is computed, etc. Make sure that we clean up the CFG before doing any other things for isel. Doing so can dramatically reduce the number of split edges and reduce the number of places that constants get computed. For example, this shrinks CodeGen/Generic/phi-immediate-factoring.ll from 44 to 37 instructions on X86, and from 21 to 17 MBB's in the output. This is primarily a code size win, not a performance win. This implements CodeGen/Generic/phi-immediate-factoring.ll and PR1296. llvm-svn: 35575
-
Lauro Ramos Venancio authored
flags (ARMISD::CMPNZ) and comparisons that use all flags (ARMISD::CMP). - Defines the instructions: TST, TEQ (ARM) and TST (Thumb). llvm-svn: 35573
-
Reid Spencer authored
Make sure that the CTPOP result is casted to i32 as the bit counting intrinsics all return i32 now (this affects CTLZ and CTTZ as well). llvm-svn: 35567
-
Chris Lattner authored
llvm-svn: 35563
-
- Apr 01, 2007
-
-
Chris Lattner authored
llvm-svn: 35561
-
Chris Lattner authored
llvm-svn: 35560
-
Reid Spencer authored
last night's regression in SingleSource/UnitTests/2005-05-11-Popcount-ffs-fls llvm-svn: 35556
-
Zhou Sheng authored
llvm-svn: 35555
-
Evan Cheng authored
llvm-svn: 35551
-
Reid Spencer authored
Support overloaded intrinsics bswap, ctpop, cttz, ctlz. llvm-svn: 35547
-
Reid Spencer authored
Adjust for changes in the bit counting intrinsics. They all return i32 now so we have to trunc/zext the DAG node accordingly. llvm-svn: 35546
-
Reid Spencer authored
Change getOperationName to return std::string instead of const char* llvm-svn: 35545
-
Reid Spencer authored
Implement "actual" argument types for the Intrinsic member functions. This involves changing the getName, getType, and getDeclaration methods to have optional parameters for the actual types. These are necessary in order for the type/name to be constructed properly for overloaded intrinsics. Only the caller knows the actual argument types desired. llvm-svn: 35541
-
Reid Spencer authored
1. Clear up confusion between "GotBits" and "ExpectBits". GotBits is the type actually provided. ExpectedBits is the type expected for the intrinsics. Before this patch, it was reversed! 2. Implement checks for overloaded intrinsics. This involves computing the suffix expected and making sure the suffix matches the function name. It also includes some intrinsic-specific checks such as ensuring that the bswap parameter and result are the same width and an even number of bytes. llvm-svn: 35540
-
Chris Lattner authored
llvm-svn: 35536
-
Nick Lewycky authored
llvm-svn: 35534
-
- Mar 31, 2007
-
-
Andrew Lenharth authored
llvm-svn: 35533
-
Anton Korobeynikov authored
llvm-svn: 35532
-
Bill Wendling authored
llvm-svn: 35531
-
Chris Lattner authored
llvm-svn: 35530
-
Chris Lattner authored
llvm-svn: 35529
-
Chris Lattner authored
llvm-svn: 35528
-
Chris Lattner authored
llvm-svn: 35527
-
Chris Lattner authored
llvm-svn: 35526
-
Zhou Sheng authored
llvm-svn: 35525
-
Zhou Sheng authored
llvm-svn: 35524
-
Bill Wendling authored
llvm-svn: 35523
-
Chris Lattner authored
llvm-svn: 35522
-
Chris Lattner authored
llvm-svn: 35521
-
Chris Lattner authored
llvm-svn: 35520
-