| 
							
							
								 Evan Cheng | b5a0690788 | Correctly mark early-exit on the false path. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37387 91177308-0d34-0410-b5e6-96231b3b80d8 | 2007-06-01 20:29:21 +00:00 |  | 
			
				
					| 
							
							
								 Evan Cheng | 8c52938e44 | Ifcvt triangle: don't ifcvt 'true' BB if it has other predecessors; don't merge 'false' BB if it has other predecessors. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37382 91177308-0d34-0410-b5e6-96231b3b80d8 | 2007-06-01 07:41:07 +00:00 |  | 
			
				
					| 
							
							
								 Evan Cheng | fe57a7e4df | Remove a bogus check. Even terminators in a ifcvt need to be predicated. Unconditional branches can usually be converted to conditional ones. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37380 91177308-0d34-0410-b5e6-96231b3b80d8 | 2007-06-01 00:55:26 +00:00 |  | 
			
				
					| 
							
							
								 Evan Cheng | 5f70218c75 | Allow multiple ifcvt candidates to share children blocks; add some debugging code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37379 91177308-0d34-0410-b5e6-96231b3b80d8 | 2007-06-01 00:12:12 +00:00 |  | 
			
				
					| 
							
							
								 Evan Cheng | f15d44cc10 | Fix a typo. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37374 91177308-0d34-0410-b5e6-96231b3b80d8 | 2007-05-31 20:53:33 +00:00 |  | 
			
				
					| 
							
							
								 Evan Cheng | 8258210ed4 | Change traversal order to bottom up in preparation for more aggressive if-conversion. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37365 91177308-0d34-0410-b5e6-96231b3b80d8 | 2007-05-30 19:49:19 +00:00 |  | 
			
				
					| 
							
							
								 Evan Cheng | 58fbb9f5ba | Don't merge in tail block of a diamond if it has more than one predecessors after if-conversion. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37353 91177308-0d34-0410-b5e6-96231b3b80d8 | 2007-05-29 23:37:20 +00:00 |  | 
			
				
					| 
							
							
								 Evan Cheng | c8ed9badfa | If there is an empty block between a source and its successor block, it still requires a unconditional branch. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37344 91177308-0d34-0410-b5e6-96231b3b80d8 | 2007-05-29 22:31:16 +00:00 |  | 
			
				
					| 
							
							
								 Evan Cheng | 4bec8ae694 | Silly boog. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37328 91177308-0d34-0410-b5e6-96231b3b80d8 | 2007-05-25 00:59:01 +00:00 |  | 
			
				
					| 
							
							
								 Evan Cheng | a13aa95bc8 | Preliminary iterative if-conversion support. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37309 91177308-0d34-0410-b5e6-96231b3b80d8 | 2007-05-23 07:23:16 +00:00 |  | 
			
				
					| 
							
							
								 Evan Cheng | a6b4f43eaa | If-convert early exit blocks (returns, etc.); bug fixes, etc. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37270 91177308-0d34-0410-b5e6-96231b3b80d8 | 2007-05-21 22:22:58 +00:00 |  | 
			
				
					| 
							
							
								 Evan Cheng | 7f8ff8af1a | Clean up. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37237 91177308-0d34-0410-b5e6-96231b3b80d8 | 2007-05-18 19:32:08 +00:00 |  | 
			
				
					| 
							
							
								 Evan Cheng | 36489bbbac | Change to depth-first traversal. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37236 91177308-0d34-0410-b5e6-96231b3b80d8 | 2007-05-18 19:26:33 +00:00 |  | 
			
				
					| 
							
							
								 Evan Cheng | cf6cc112d5 | Some restructuring in preparation for most aggressive if-conversion. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37231 91177308-0d34-0410-b5e6-96231b3b80d8 | 2007-05-18 18:14:37 +00:00 |  | 
			
				
					| 
							
							
								 Evan Cheng | 6092ca1556 | Watch out for blocks that end with a return. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37227 91177308-0d34-0410-b5e6-96231b3b80d8 | 2007-05-18 17:06:53 +00:00 |  | 
			
				
					| 
							
							
								 Evan Cheng | 47d2502072 | If true / false blocks fallthrough before ifcvt, add unconditional branches to ifcvt'd block. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37200 91177308-0d34-0410-b5e6-96231b3b80d8 | 2007-05-18 01:55:58 +00:00 |  | 
			
				
					| 
							
							
								 Evan Cheng | 86cbfea33b | Make use of target specific block size limits; bug fixes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37195 91177308-0d34-0410-b5e6-96231b3b80d8 | 2007-05-18 00:20:58 +00:00 |  | 
			
				
					| 
							
							
								 Evan Cheng | d6ddc308f0 | isBlockPredicable() always ignore terminal instructions; add comments. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37126 91177308-0d34-0410-b5e6-96231b3b80d8 | 2007-05-16 21:54:37 +00:00 |  | 
			
				
					| 
							
							
								 Evan Cheng | c3a289c4b5 | Rename M_PREDICATED to M_PREDICABLE; Moved isPredicable() to MachineInstr. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37121 91177308-0d34-0410-b5e6-96231b3b80d8 | 2007-05-16 20:56:08 +00:00 |  | 
			
				
					| 
							
							
								 Evan Cheng | c5d05ef357 | Devang points out that we need an assertion here. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37097 91177308-0d34-0410-b5e6-96231b3b80d8 | 2007-05-16 05:11:10 +00:00 |  | 
			
				
					| 
							
							
								 Evan Cheng | 4e654852f1 | Initial commit of (very basic) if converter. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37092 91177308-0d34-0410-b5e6-96231b3b80d8 | 2007-05-16 02:00:57 +00:00 |  |