a98c679de0 
								
							 
						 
						
							
							
								
								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.
llvm-svn: 45674 
							
						 
						
							2008-01-07 01:56:04 +00:00  
				
					
						
							
							
								 
						
							
								3bf5603ce4 
								
							 
						 
						
							
							
								
								Add that this preserves some analyses.  
							
							... 
							
							
							
							llvm-svn: 45573 
							
						 
						
							2008-01-04 08:48:49 +00:00  
				
					
						
							
							
								 
						
							
								66470d02c3 
								
							 
						 
						
							
							
								
								Move option to enable machine LICM into LLVMTargetMachine.cpp.  
							
							... 
							
							
							
							llvm-svn: 45572 
							
						 
						
							2008-01-04 08:11:03 +00:00  
				
					
						
							
							
								 
						
							
								d865697016 
								
							 
						 
						
							
							
								
								Call the parent's getAnalysisUsage.  
							
							... 
							
							
							
							llvm-svn: 45571 
							
						 
						
							2008-01-04 07:50:05 +00:00  
				
					
						
							
							
								 
						
							
								b5c1d9b7da 
								
							 
						 
						
							
							
								
								remove dead #includes and reorder the rest.  
							
							... 
							
							
							
							llvm-svn: 45569 
							
						 
						
							2008-01-04 06:41:45 +00:00  
				
					
						
							
							
								 
						
							
								0ba4184404 
								
							 
						 
						
							
							
								
								Use the correct MachineRegisterInfo object.  
							
							... 
							
							
							
							llvm-svn: 45499 
							
						 
						
							2008-01-02 21:10:54 +00:00  
				
					
						
							
							
								 
						
							
								f0b37780ca 
								
							 
						 
						
							
							
								
								Remove dead code.  
							
							... 
							
							
							
							llvm-svn: 45496 
							
						 
						
							2008-01-02 20:47:37 +00:00  
				
					
						
							
							
								 
						
							
								5da1945cdd 
								
							 
						 
						
							
							
								
								Use the new architecture to get the containing machine basic block for a machine  
							
							... 
							
							
							
							instruction. Also, use "splice" to move the new instruction instead of
remove/insert (where it was leaking memory anyway).
llvm-svn: 45492 
							
						 
						
							2008-01-02 19:32:43 +00:00  
				
					
						
							
							
								 
						
							
								f3ebc3f3d2 
								
							 
						 
						
							
							
								
								Remove attribution from file headers, per discussion on llvmdev.  
							
							... 
							
							
							
							llvm-svn: 45418 
							
						 
						
							2007-12-29 20:36:04 +00:00  
				
					
						
							
							
								 
						
							
								65c001e6bc 
								
							 
						 
						
							
							
								
								Updated comments to reflect what "side effects" means in this situation.  
							
							... 
							
							
							
							llvm-svn: 45245 
							
						 
						
							2007-12-20 01:08:10 +00:00  
				
					
						
							
							
								 
						
							
								166f746246 
								
							 
						 
						
							
							
								
								Add debugging info. Use the newly created "hasUnmodelledSideEffects" method.  
							
							... 
							
							
							
							llvm-svn: 45178 
							
						 
						
							2007-12-18 21:38:04 +00:00  
				
					
						
							
							
								 
						
							
								38236ef6cb 
								
							 
						 
						
							
							
								
								Need to grow the indexed map. Added debug statements.  
							
							... 
							
							
							
							llvm-svn: 44892 
							
						 
						
							2007-12-11 23:27:51 +00:00  
				
					
						
							
							
								 
						
							
								642e15a7cb 
								
							 
						 
						
							
							
								
								Simplify slightly.  
							
							... 
							
							
							
							llvm-svn: 44881 
							
						 
						
							2007-12-11 22:22:22 +00:00  
				
					
						
							
							
								 
						
							
								b678ae7c38 
								
							 
						 
						
							
							
								
								Blark! How in the world did this work without this?!  
							
							... 
							
							
							
							llvm-svn: 44874 
							
						 
						
							2007-12-11 19:40:06 +00:00  
				
					
						
							
							
								 
						
							
								7717a8a37d 
								
							 
						 
						
							
							
								
								- Update the virtual reg to machine instruction map when hoisting.  
							
							... 
							
							
							
							- Fix subtle bug when creating initially creating this map.
llvm-svn: 44873 
							
						 
						
							2007-12-11 19:17:04 +00:00  
				
					
						
							
							
								 
						
							
								5143d898c8 
								
							 
						 
						
							
							
								
								Checking for "zero operands" during the "CanHoistInst()" method isn't necessary  
							
							... 
							
							
							
							because those with side effects will be caught by other checks in here.
Also, simplify the check for a BB in a sub loop.
llvm-svn: 44871 
							
						 
						
							2007-12-11 18:45:11 +00:00  
				
					
						
							
							
								 
						
							
								3f19dfe794 
								
							 
						 
						
							
							
								
								Reverting 44702. It wasn't correct to rename them.  
							
							... 
							
							
							
							llvm-svn: 44727 
							
						 
						
							2007-12-08 23:58:46 +00:00  
				
					
						
							
							
								 
						
							
								2b07d8c5a0 
								
							 
						 
						
							
							
								
								Renaming:  
							
							... 
							
							
							
							isTriviallyReMaterializable -> hasNoSideEffects
  isReallyTriviallyReMaterializable -> isTriviallyReMaterializable
llvm-svn: 44702 
							
						 
						
							2007-12-08 07:17:56 +00:00  
				
					
						
							
							
								 
						
							
								4375173ba0 
								
							 
						 
						
							
							
								
								Incorporated comments from Evan and Chris:  
							
							... 
							
							
							
							http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20071203/056043.html 
http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20071203/056048.html 
llvm-svn: 44696 
						
							2007-12-08 01:47:01 +00:00  
				
					
						
							
							
								 
						
							
								fb706bc52b 
								
							 
						 
						
							
							
								
								Initial commit of the machine code LICM pass. It successfully hoists this:  
							
							... 
							
							
							
							_foo:
        li r2, 0
LBB1_1: ; bb
        li r5, 0
        stw r5, 0(r3)
        addi r2, r2, 1
        addi r3, r3, 4
        cmplw cr0, r2, r4
        bne cr0, LBB1_1 ; bb
LBB1_2: ; return
        blr 
to:
_foo:
        li r2, 0
        li r5, 0
LBB1_1: ; bb
        stw r5, 0(r3)
        addi r2, r2, 1
        addi r3, r3, 4
        cmplw cr0, r2, r4
        bne cr0, LBB1_1 ; bb
LBB1_2: ; return
        blr
ZOMG!! :-)
Moar to come...
llvm-svn: 44687 
							
						 
						
							2007-12-07 21:42:31 +00:00