Duncan Sands 
							
						 
					 
					
						
						
							
						
						20d629cb90 
					 
					
						
						
							
							Fix typo.  Patch by nlewycky.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58709  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-11-04 18:05:30 +00:00 
						 
				 
			
				
					
						
							
							
								Nuno Lopes 
							
						 
					 
					
						
						
							
						
						7ecbfd1157 
					 
					
						
						
							
							fix leakage of IfcvtTokens  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58690  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-11-04 13:02:59 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						279c22e6da 
					 
					
						
						
							
							Optimized FCMP_OEQ and FCMP_UNE for x86.  
						
						... 
						
						
						
						Where previously LLVM might emit code like this:
        ucomisd %xmm1, %xmm0
        setne   %al
        setp    %cl
        orb     %al, %cl
        jne     .LBB4_2
it now emits this:
        ucomisd %xmm1, %xmm0
        jne     .LBB4_2
        jp      .LBB4_2
It has fewer instructions and uses fewer registers, but it does
have more branches. And in the case that this code is followed by
a non-fallthrough edge, it may be followed by a jmp instruction,
resulting in three branch instructions in sequence. Some effort
is made to avoid this situation.
To achieve this, X86ISelLowering.cpp now recognizes FCMP_OEQ and
FCMP_UNE in lowered form, and replace them with code that emits
two branches, except in the case where it would require converting
a fall-through edge to an explicit branch.
Also, X86InstrInfo.cpp's branch analysis and transform code now
knows now to handle blocks with multiple conditional branches. It
uses loops instead of having fixed checks for up to two
instructions. It can now analyze and transform code generated
from FCMP_OEQ and FCMP_UNE.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57873  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-10-21 03:29:32 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						ae73dc1448 
					 
					
						
						
							
							Tidy up several unbeseeming casts from pointer to intptr_t.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55779  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-09-04 17:05:41 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						1501cdbf63 
					 
					
						
						
							
							Fix SmallVector's size calculation so that a size of 0 is  
						
						... 
						
						
						
						handled correctly, and change a few SmallVector uses to use
size 0 to more clearly reflect their intent.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55181  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-08-22 16:07:55 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						44eb65cf58 
					 
					
						
						
							
							Convert uses of std::vector in TargetInstrInfo to SmallVector.  This change had to be propoagated down into all the targets and up into all clients of this API.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54802  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-08-14 22:49:33 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						8e5f2c6f65 
					 
					
						
						
							
							Pool-allocation for MachineInstrs, MachineBasicBlocks, and  
						
						... 
						
						
						
						MachineMemOperands. The pools are owned by MachineFunctions.
This drastically reduces the number of calls to malloc/free made
during the "Emit" phase of scheduling, as well as later phases
in CodeGen. Combined with other changes, this speeds up the
"instruction selection" phase of CodeGen by 10% in some cases.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53212  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-07-07 23:14:23 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						b3dd264f9d 
					 
					
						
						
							
							Register if-converter pass for -debug-pass.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51931  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-06-04 09:15:51 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						fb8075d03f 
					 
					
						
						
							
							Add a quick and dirty "loop aligner pass". x86 uses it to align its loops to 16-byte boundaries.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47703  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-02-28 00:43:03 +00:00 
						 
				 
			
				
					
						
							
							
								Anton Korobeynikov 
							
						 
					 
					
						
						
							
						
						4c71dfe356 
					 
					
						
						
							
							Update gcc 4.3 warnings fix patch with recent head changes  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47368  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-02-20 11:10:28 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						3035959425 
					 
					
						
						
							
							Use empty() instead of comparing size() with zero.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46514  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-01-29 13:02:09 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						749c6f6b5e 
					 
					
						
						
							
							rename TargetInstrDescriptor -> TargetInstrDesc.  
						
						... 
						
						
						
						Make MachineInstr::getDesc return a reference instead
of a pointer, since it can never be null.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45695  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-01-07 07:27:27 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						f86e1df877 
					 
					
						
						
							
							simplify some code using new predicates  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45689  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-01-07 05:40:58 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						69244300b8 
					 
					
						
						
							
							Rename MachineInstr::getInstrDescriptor -> getDesc(), which reflects  
						
						... 
						
						
						
						that it is cheap and efficient to get.
Move a variety of predicates from TargetInstrInfo into 
TargetInstrDescriptor, which makes it much easier to query a predicate
when you don't have TII around.  Now you can use MI->getDesc()->isBranch()
instead of going through TII, and this is much more efficient anyway. Not
all of the predicates have been moved over yet.
Update old code that used MI->getInstrDescriptor()->Flags to use the
new predicates in many places.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45674  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-01-07 01:56:04 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						4ee451de36 
					 
					
						
						
							
							Remove attribution from file headers, per discussion on llvmdev.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45418  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-12-29 20:36:04 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						11ce02dbdd 
					 
					
						
						
							
							Somehow this wasn't committed last time. M_CLOBBERS_PRED is gone.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@38495  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-07-10 17:50:43 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						d2c5eb864f 
					 
					
						
						
							
							Teach if-conversion about instructions that were already predicated, e.g. conditional move.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37964  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-07-06 23:24:39 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						9ffd340daf 
					 
					
						
						
							
							Avoid if-converting simple block that ends with unconditional branch or fallthrough unless it branches / falls to the 'false' block. Not profitable, may end up increasing code size.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37660  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-06-19 21:45:13 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						eaa91b0a1f 
					 
					
						
						
							
							Replace TargetInstrInfo::CanBeDuplicated() with a M_NOT_DUPLICABLE bit.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37643  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-06-19 01:26:51 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						c4047a8e96 
					 
					
						
						
							
							Fix some fragile code wrt CFG edge updating.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37634  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-06-18 22:44:57 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						a1a878791b 
					 
					
						
						
							
							Properly remove duplicate instructions as result of diamond if-conversion. Other bug fixes.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37623  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-06-18 08:37:25 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						e882fca902 
					 
					
						
						
							
							Really turn if-converter loose:  
						
						... 
						
						
						
						1. Consider all possible ifcvt cases at once. No longer restricted to bottom
   up iterative approach.
2. Sort all possible cases based on a cost function. Perform the most profitable
   ones first invalidate others that target the same blocks.
3. Fixed a number of bugs related to block duplication.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37613  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-06-16 09:34:52 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						a2acf840a7 
					 
					
						
						
							
							Not every predicable block can be safely duplicated.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37607  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-06-15 21:18:05 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						bf9d02eaf6 
					 
					
						
						
							
							MachineInstr::isPredicable() is no longer needed.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37599  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-06-15 19:06:07 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						9333545980 
					 
					
						
						
							
							Extra edges are deleted later if needed.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37593  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-06-15 17:34:48 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						2c8c3a4a0d 
					 
					
						
						
							
							Allow small blocks to be duplicated to enable if-conversion.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37590  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-06-15 07:36:12 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						bc198eeba6 
					 
					
						
						
							
							No really, clear predcessors states.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37581  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-06-14 23:34:09 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						e37e24331c 
					 
					
						
						
							
							If BB is predicated, invalidate its predecessor(s) which would if-convert it. It needs to be re-analyzed.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37580  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-06-14 23:13:19 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						b7c908bb81 
					 
					
						
						
							
							Fix typo.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37577  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-06-14 21:26:08 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						86ff296e63 
					 
					
						
						
							
							Fix some stupid bugs that have effectively disabled if-conversion.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37575  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-06-14 20:28:52 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						93a8e5ea0c 
					 
					
						
						
							
							Typo  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37566  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-06-13 00:04:00 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						cc8fb46cdc 
					 
					
						
						
							
							Now if-converting all 4 variants of triangles.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37565  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-06-12 23:54:05 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						9618bcaf7d 
					 
					
						
						
							
							Restructure code to reduce ifcvt compile time cost.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37543  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-06-11 22:26:22 +00:00 
						 
				 
			
				
					
						
							
							
								Reid Spencer 
							
						 
					 
					
						
						
							
						
						a9bf49c7e3 
					 
					
						
						
							
							Fix the build.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37537  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-06-10 00:19:17 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						1c9f91d7b2 
					 
					
						
						
							
							Don't change CFG during analysis stage. Do so during ifcvt and invalidate predecessors accordingly.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37531  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-06-09 01:03:43 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						7e75ba802e 
					 
					
						
						
							
							Carefully remove extraneous CFG edges after each ifcvt.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37529  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-06-08 22:01:07 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						2acdbcccd8 
					 
					
						
						
							
							Correct transfer predicate information.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37524  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-06-08 19:17:12 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						edf4896a14 
					 
					
						
						
							
							Hidden options to help debugging ifcvt issues.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37523  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-06-08 19:10:51 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						ac5f142b9f 
					 
					
						
						
							
							Allow more cmp / bcc to be predicated; clean up triangle ifcvt checking code.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37518  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-06-08 09:36:04 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						27af5c414b 
					 
					
						
						
							
							Only remove the edge from entry to false if false block is merged.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37503  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-06-07 22:31:28 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						f476961ae6 
					 
					
						
						
							
							ifcvt a triangle: don't merge ifcvt block with rejoin block if it can fall through to it. If merged, the resulting block is not a candidate for iterative ifcvting since it contains both predicated and non-predicated code.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37487  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-06-07 08:13:00 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						d4de6d91b2 
					 
					
						
						
							
							Lots of bug fixes. Now finally in a reasonable state.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37485  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-06-07 02:12:15 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						96dd9a8b1b 
					 
					
						
						
							
							Quick patch to fix the build, based on what it appears Evan meant to write.  
						
						... 
						
						
						
						Evan, please check that this is in fact correct.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37471  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-06-06 16:22:00 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						7a655479ae 
					 
					
						
						
							
							Lots of bug fixes.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37467  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-06-06 10:16:17 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						3d6f60ec19 
					 
					
						
						
							
							If a unconditional branch is added to branch to the false path during ifcvt, the predicated block cannot be iteratively ifcvted.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37456  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-06-06 02:08:52 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						cb78d67a1a 
					 
					
						
						
							
							Minor statistics counting bug.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37451  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-06-06 01:12:44 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						e705213b67 
					 
					
						
						
							
							Fix a couple of typos and be smarter about order of blocks when ifcvt a diamond.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37449  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-06-06 00:57:55 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						993fc9594e 
					 
					
						
						
							
							Fix diamond shape ifcvt bugs.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37444  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-06-05 23:46:14 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						a1a9f408da 
					 
					
						
						
							
							ReplaceUsesOfBlockWith() can modify the predecessors list.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37441  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-06-05 22:03:53 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						e004317c66 
					 
					
						
						
							
							Do not ifcvt if either true / false path is a backedge. Not profitable in almost all cases.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37440  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-06-05 20:38:42 +00:00