- Oct 29, 2006
-
-
Chris Lattner authored
llvm-svn: 31281
-
Chris Lattner authored
used by comparisons in the main block. llvm-svn: 31279
-
Evan Cheng authored
llvm-svn: 31276
-
Nick Lewycky authored
llvm-svn: 31275
-
- Oct 28, 2006
-
-
Chris Lattner authored
edges whose destinations are not phi nodes don't bother us. Also, share split edges, since the split edge can't have a phi. This significantly reduces the complexity of generated code in some cases. llvm-svn: 31274
-
Chris Lattner authored
jump tables that are dead. llvm-svn: 31273
-
Chris Lattner authored
llvm-svn: 31269
-
Chris Lattner authored
llvm-svn: 31267
-
Chris Lattner authored
llvm-svn: 31266
-
Chris Lattner authored
the pred block doesn't fall through into them if it's a jumptable. llvm-svn: 31263
-
Jim Laskey authored
llvm-svn: 31261
-
Chris Lattner authored
being inserted on unsplit critical edges, which introduces (sometimes large amounts of) partially dead spill code. This also fixes PR925 + CodeGen/Generic/switch-crit-edge-constant.ll llvm-svn: 31260
-
Chris Lattner authored
llvm-svn: 31254
-
Jim Laskey authored
llvm-svn: 31243
-
Chris Lattner authored
Add many fewer CFG edges and PHI node entries. If there is a switch which has the same block as multiple destinations, only add that block once as a successor/phi node (in the jumptable case) llvm-svn: 31242
-
Jim Laskey authored
llvm-svn: 31240
-
- Oct 27, 2006
-
-
Chris Lattner authored
llvm-svn: 31233
-
Chris Lattner authored
cmpwi cr0, r4, 4 bgt cr0, LBB1_2 ;UnifiedReturnBlock LBB1_3: ;entry cmplwi cr0, r3, 0 bne cr0, LBB1_2 ;UnifiedReturnBlock instead of: cmpwi cr7, r4, 4 mfcr r2 addic r4, r3, -1 subfe r3, r4, r3 rlwinm r2, r2, 30, 31, 31 or r2, r2, r3 cmplwi cr0, r2, 0 bne cr0, LBB1_2 ;UnifiedReturnBlock LBB1_1: ;cond_true llvm-svn: 31232
-
Chris Lattner authored
This compiles Regression/CodeGen/X86/or-branch.ll into: _foo: subl $12, %esp call L_bar$stub movl 20(%esp), %eax movl 16(%esp), %ecx cmpl $5, %eax jl LBB1_1 #cond_true LBB1_3: #entry testl %ecx, %ecx jne LBB1_2 #UnifiedReturnBlock LBB1_1: #cond_true call L_bar$stub addl $12, %esp ret LBB1_2: #UnifiedReturnBlock addl $12, %esp ret instead of: _foo: subl $12, %esp call L_bar$stub movl 20(%esp), %eax movl 16(%esp), %ecx cmpl $4, %eax setg %al testl %ecx, %ecx setne %cl testb %cl, %al jne LBB1_2 #UnifiedReturnBlock LBB1_1: #cond_true call L_bar$stub addl $12, %esp ret LBB1_2: #UnifiedReturnBlock addl $12, %esp ret And on ppc to: cmpwi cr0, r29, 5 blt cr0, LBB1_1 ;cond_true LBB1_3: ;entry cmplwi cr0, r30, 0 bne cr0, LBB1_2 ;UnifiedReturnBlock instead of: cmpwi cr7, r4, 4 mfcr r2 addic r4, r3, -1 subfe r30, r4, r3 rlwinm r29, r2, 30, 31, 31 and r2, r29, r30 cmplwi cr0, r2, 0 bne cr0, LBB1_2 ;UnifiedReturnBlock llvm-svn: 31230
-
- Oct 26, 2006
-
-
Evan Cheng authored
llvm-svn: 31209
-
Reid Spencer authored
Make necessary changes to support DIV -> [SUF]Div. This changes llvm to have three division instructions: signed, unsigned, floating point. The bytecode and assembler are bacwards compatible, however. llvm-svn: 31195
-
Chris Lattner authored
llvm-svn: 31188
-
- Oct 25, 2006
-
-
Chris Lattner authored
llvm-svn: 31180
-
Chris Lattner authored
llvm-svn: 31179
-
- Oct 24, 2006
-
-
Devang Patel authored
llvm-svn: 31171
-
Chris Lattner authored
visitBr to just call visitSwitchCase, eliminating duplicate logic. llvm-svn: 31167
-
Chris Lattner authored
Rename LHSBB/RHSBB to TrueBB/FalseBB. Allow the RHS value to be null, in which case the LHS is treated as a bool. llvm-svn: 31166
-
Chris Lattner authored
llvm-svn: 31161
-
Jim Laskey authored
llvm-svn: 31155
-
Jim Laskey authored
llvm-svn: 31153
-
Jim Laskey authored
llvm-svn: 31152
-
Chris Lattner authored
a place more useful. In particular, if we can put them in a place where code will be able to fall into it, do so. Otherwise, put it in a place it can fall through into a successor. Otherwise, if preventing a fallthrough, move to the end of the function, out of the way. This deletes several hundred unconditional branches from spass. llvm-svn: 31149
-
Chris Lattner authored
llvm-svn: 31145
-
Chris Lattner authored
llvm-svn: 31140
-
- Oct 23, 2006
-
-
Chris Lattner authored
movl 32(%esp), %eax cmpl $1, %eax je LBB1_1 #bb LBB1_4: #entry cmpl $2, %eax je LBB1_2 #bb2 jmp LBB1_3 #UnifiedReturnBlock LBB1_1: #bb notice that we would miss the fall through and emit this instead: movl 32(%esp), %eax cmpl $2, %eax je LBB1_2 #bb2 LBB1_4: #entry cmpl $1, %eax jne LBB1_3 #UnifiedReturnBlock LBB1_1: #bb llvm-svn: 31130
-
Jim Laskey authored
llvm-svn: 31129
-
Chris Lattner authored
llvm-svn: 31125
-
Chris Lattner authored
llvm-svn: 31124
-
- Oct 22, 2006
-
-
Chris Lattner authored
llvm-svn: 31119
-
- Oct 21, 2006
-
-
Chris Lattner authored
llvm-svn: 31102
-