- Sep 28, 2006
-
-
Chris Lattner authored
llvm-svn: 30642
-
- Sep 27, 2006
-
-
Chris Lattner authored
llvm-svn: 30631
-
Chris Lattner authored
llvm-svn: 30621
-
- Sep 26, 2006
-
-
Chris Lattner authored
llvm-svn: 30608
-
Chris Lattner authored
int x __attribute__((used)); to: .data .comm _x,4 ; 'x' .no_dead_strip _x on both x86 and ppc darwin targets. llvm-svn: 30605
-
Chris Lattner authored
because they have an aggressive linker that does dead code stripping. llvm-svn: 30604
-
- Sep 25, 2006
-
-
Chris Lattner authored
llvm-svn: 30598
-
- Sep 24, 2006
-
-
Andrew Lenharth authored
llvm-svn: 30594
-
Andrew Lenharth authored
llvm-svn: 30593
-
Andrew Lenharth authored
llvm-svn: 30591
-
- Sep 22, 2006
-
-
Evan Cheng authored
llvm-svn: 30583
-
Rafael Espindola authored
llvm-svn: 30581
-
Nate Begeman authored
llvm-svn: 30577
-
- Sep 21, 2006
-
-
Rafael Espindola authored
llvm-svn: 30567
-
Rafael Espindola authored
llvm-svn: 30566
-
Chris Lattner authored
llvm-svn: 30559
-
Chris Lattner authored
llvm-svn: 30556
-
Nick Lewycky authored
llvm-svn: 30553
-
Anton Korobeynikov authored
llvm-svn: 30549
-
- Sep 20, 2006
-
-
Andrew Lenharth authored
llvm-svn: 30548
-
Chris Lattner authored
should create the right asmprinter subclass. llvm-svn: 30542
-
Chris Lattner authored
llvm-svn: 30541
-
Andrew Lenharth authored
llvm-svn: 30534
-
Andrew Lenharth authored
llvm-svn: 30531
-
Andrew Lenharth authored
llvm-svn: 30530
-
Chris Lattner authored
llvm-svn: 30518
-
Chris Lattner authored
llvm-svn: 30515
-
Chris Lattner authored
llvm-svn: 30512
-
Chris Lattner authored
llvm-svn: 30510
-
Chris Lattner authored
1. Codegen this comparison: if (X == 0x8000) as: cmplwi cr0, r3, 32768 bne cr0, LBB1_2 ;cond_next instead of: lis r2, 0 ori r2, r2, 32768 cmpw cr0, r3, r2 bne cr0, LBB1_2 ;cond_next 2. Codegen this comparison: if (X == 0x12345678) as: xoris r2, r3, 4660 cmplwi cr0, r2, 22136 bne cr0, LBB1_2 ;cond_next instead of: lis r2, 4660 ori r2, r2, 22136 cmpw cr0, r3, r2 bne cr0, LBB1_2 ;cond_next llvm-svn: 30509
-
Chris Lattner authored
llvm-svn: 30508
-
Chris Lattner authored
Allow it to be clever when possible and fall back to the gross code when needed. This allows us to compile: long long foo1(long long X, int C) { return X << (C|32); } long long foo2(long long X, int C) { return X << (C&~32); } to: _foo1: rlwinm r2, r5, 0, 27, 31 slw r3, r4, r2 li r4, 0 blr .globl _foo2 .align 4 _foo2: rlwinm r2, r5, 0, 27, 25 subfic r5, r2, 32 slw r3, r3, r2 srw r5, r4, r5 or r3, r3, r5 slw r4, r4, r2 blr instead of: _foo1: ori r2, r5, 32 subfic r5, r2, 32 addi r6, r2, -32 srw r5, r4, r5 slw r3, r3, r2 slw r6, r4, r6 or r3, r3, r5 slw r4, r4, r2 or r3, r3, r6 blr .globl _foo2 .align 4 _foo2: rlwinm r2, r5, 0, 27, 25 subfic r5, r2, 32 addi r6, r2, -32 srw r5, r4, r5 slw r3, r3, r2 slw r6, r4, r6 or r3, r3, r5 slw r4, r4, r2 or r3, r3, r6 blr llvm-svn: 30507
-
- Sep 19, 2006
-
-
Rafael Espindola authored
add comments untabify llvm-svn: 30486
-
Rafael Espindola authored
llvm-svn: 30485
-
Chris Lattner authored
llvm-svn: 30483
-
Chris Lattner authored
like: long long test(long long X, int Y) { return 1ULL << Y; } long long test2(long long X, int Y) { return -1LL << Y; } which we used to compile to: _test: li r2, 1 subfic r3, r5, 32 li r4, 0 addi r6, r5, -32 srw r3, r2, r3 slw r4, r4, r5 slw r6, r2, r6 or r3, r4, r3 slw r4, r2, r5 or r3, r3, r6 blr _test2: li r2, -1 subfic r3, r5, 32 addi r6, r5, -32 srw r3, r2, r3 slw r4, r2, r5 slw r2, r2, r6 or r3, r4, r3 or r3, r3, r2 blr Now we produce: _test: li r2, 1 addi r3, r5, -32 subfic r4, r5, 32 slw r3, r2, r3 srw r4, r2, r4 or r3, r4, r3 slw r4, r2, r5 blr _test2: li r2, -1 subfic r3, r5, 32 addi r6, r5, -32 srw r3, r2, r3 slw r4, r2, r5 slw r2, r2, r6 or r3, r4, r3 or r3, r3, r2 blr llvm-svn: 30479
-
- Sep 18, 2006
-
-
Andrew Lenharth authored
A pass to remove the worst of the replay trap offenders, and as a bonus, align basic blocks when it is free to do so llvm-svn: 30467
-
Andrew Lenharth authored
llvm-svn: 30463
-
Chris Lattner authored
llvm-svn: 30457
-
Chris Lattner authored
llvm-svn: 30451
-