37099990b3 
								
							 
						 
						
							
							
								
								Changed memory reference instructions to store the result as the implicit  
							
							... 
							
							
							
							type of the instruction.
llvm-svn: 148 
							
						 
						
							2001-07-07 08:36:30 +00:00  
				
					
						
							
							
								 
						
							
								32503d5637 
								
							 
						 
						
							
							
								
								Fixed some error messages to be nicer  
							
							... 
							
							
							
							llvm-svn: 147 
							
						 
						
							2001-07-07 08:36:05 +00:00  
				
					
						
							
							
								 
						
							
								29aae157f7 
								
							 
						 
						
							
							
								
								Add method to unify all exit nodes of a method  
							
							... 
							
							
							
							llvm-svn: 143 
							
						 
						
							2001-07-06 16:58:36 +00:00  
				
					
						
							
							
								 
						
							
								c385bebc89 
								
							 
						 
						
							
							
								
								Implement support for postdominators, except in dom frontiers  
							
							... 
							
							
							
							llvm-svn: 142 
							
						 
						
							2001-07-06 16:58:22 +00:00  
				
					
						
							
							
								 
						
							
								8024bde7c7 
								
							 
						 
						
							
							
								
								Update to include right file  
							
							... 
							
							
							
							llvm-svn: 138 
							
						 
						
							2001-07-06 16:32:07 +00:00  
				
					
						
							
							
								 
						
							
								81f3ace753 
								
							 
						 
						
							
							
								
								IntervalPartition was changed to inherit from vector<Interval*> instead of  
							
							... 
							
							
							
							contain it so that it would have full iterator access without much work.
Writer includes code to print out IntervalPartition's now.
llvm-svn: 133 
							
						 
						
							2001-07-03 15:28:35 +00:00  
				
					
						
							
							
								 
						
							
								fa3ac26d22 
								
							 
						 
						
							
							
								
								Code got moved from the lib/Assembly/Writer/IntervalWriter.cpp file to  
							
							... 
							
							
							
							here.  Updates to correct description n stuff.
llvm-svn: 129 
							
						 
						
							2001-07-03 05:36:34 +00:00  
				
					
						
							
							
								 
						
							
								a7f22e53c0 
								
							 
						 
						
							
							
								
								Add printing code for dominator info  
							
							... 
							
							
							
							llvm-svn: 125 
							
						 
						
							2001-07-02 05:46:47 +00:00  
				
					
						
							
							
								 
						
							
								081aabc330 
								
							 
						 
						
							
							
								
								Checkin of new dominator calculation routines.  These will be improved in  
							
							... 
							
							
							
							the future to do post dominators and stuff
llvm-svn: 124 
							
						 
						
							2001-07-02 05:46:38 +00:00  
				
					
						
							
							
								 
						
							
								0c94a300eb 
								
							 
						 
						
							
							
								
								Moved deleter to include/llvm/Tools/STLExtras.h  
							
							... 
							
							
							
							llvm-svn: 120 
							
						 
						
							2001-07-02 01:08:08 +00:00  
				
					
						
							
							
								 
						
							
								b28986ffc7 
								
							 
						 
						
							
							
								
								Initial checkin.  Should print dead instructions, except it doesn't do  
							
							... 
							
							
							
							control dependencies.  :(
llvm-svn: 119 
							
						 
						
							2001-06-30 06:39:11 +00:00  
				
					
						
							
							
								 
						
							
								1960b3c6d2 
								
							 
						 
						
							
							
								
								Rename DoSparseConditionalConstantProp -> DoSCCP  
							
							... 
							
							
							
							llvm-svn: 117 
							
						 
						
							2001-06-30 06:37:43 +00:00  
				
					
						
							
							
								 
						
							
								d42d492734 
								
							 
						 
						
							
							
								
								Optimizations got their own header files  
							
							... 
							
							
							
							Optimizations now live in the 'opt' namespace
include/llvm/Opt was renamed include/llvm/Optimizations
llvm-svn: 113 
							
						 
						
							2001-06-30 04:36:40 +00:00  
				
					
						
							
							
								 
						
							
								31cf984332 
								
							 
						 
						
							
							
								
								Implement reduceApply method  
							
							... 
							
							
							
							llvm-svn: 112 
							
						 
						
							2001-06-30 04:35:40 +00:00  
				
					
						
							
							
								 
						
							
								c10245352c 
								
							 
						 
						
							
							
								
								Add a new pop_back() method  
							
							... 
							
							
							
							llvm-svn: 111 
							
						 
						
							2001-06-30 04:35:21 +00:00  
				
					
						
							
							
								 
						
							
								7ce8b17e60 
								
							 
						 
						
							
							
								
								Export ConstantFoldTerminator, allow it to fold conditional branches to  
							
							... 
							
							
							
							the same label.
llvm-svn: 107 
							
						 
						
							2001-06-29 23:56:58 +00:00  
				
					
						
							
							
								 
						
							
								10b250eb4d 
								
							 
						 
						
							
							
								
								Added documentation.  Constant fold terminators.  
							
							... 
							
							
							
							llvm-svn: 106 
							
						 
						
							2001-06-29 23:56:23 +00:00  
				
					
						
							
							
								 
						
							
								2dd58aefa5 
								
							 
						 
						
							
							
								
								Add a check to avoid allowing V->replaceAllUsesWith(V)  
							
							... 
							
							
							
							llvm-svn: 104 
							
						 
						
							2001-06-29 05:25:51 +00:00  
				
					
						
							
							
								 
						
							
								615d3cf40d 
								
							 
						 
						
							
							
								
								Add implementation of BasicBlock::removePredecessor code that was factored  
							
							... 
							
							
							
							out of DCE.cpp
llvm-svn: 103 
							
						 
						
							2001-06-29 05:25:23 +00:00  
				
					
						
							
							
								 
						
							
								84f07396d3 
								
							 
						 
						
							
							
								
								* Factored RemovePredecessorFromBlock into BasicBlock::removePredecessor  
							
							... 
							
							
							
							* Avoid messing around with this case:
  br label %A
%A:  br label %A
* Enable optimizations that are correct now.
llvm-svn: 102 
							
						 
						
							2001-06-29 05:24:28 +00:00  
				
					
						
							
							
								 
						
							
								e4abb60948 
								
							 
						 
						
							
							
								
								We need to make sure to remove PHI nodes in the successor that cannot be  
							
							... 
							
							
							
							executed when removing branch dest.
llvm-svn: 101 
							
						 
						
							2001-06-29 05:23:10 +00:00  
				
					
						
							
							
								 
						
							
								d77f3c0cbd 
								
							 
						 
						
							
							
								
								Added a note about a new verification the verifier should do  
							
							... 
							
							
							
							Removed a redundant check
llvm-svn: 100 
							
						 
						
							2001-06-29 05:22:12 +00:00  
				
					
						
							
							
								 
						
							
								4cee8d8ffb 
								
							 
						 
						
							
							
								
								Miscellaneous cleanups:  
							
							... 
							
							
							
							* Convert post to pre-increment for for loops
  * Use generic programming more
  * Use new Value::cast* instructions
  * Use new Module, Method, & BasicBlock forwarding methods
  * Use new facilities in STLExtras.h
  * Use new Instruction::isPHINode() method
llvm-svn: 96 
							
						 
						
							2001-06-27 23:41:11 +00:00  
				
					
						
							
							
								 
						
							
								347389dae8 
								
							 
						 
						
							
							
								
								Add a new Sparse Conditional Constant Propogation pass  
							
							... 
							
							
							
							llvm-svn: 95 
							
						 
						
							2001-06-27 23:38:11 +00:00  
				
					
						
							
							
								 
						
							
								0ee411c080 
								
							 
						 
						
							
							
								
								Change to use the new GenericBinaryInst class.  Support lots more operators.  
							
							... 
							
							
							
							llvm-svn: 92 
							
						 
						
							2001-06-27 23:36:49 +00:00  
				
					
						
							
							
								 
						
							
								1a67fb8860 
								
							 
						 
						
							
							
								
								Misc cleanup  
							
							... 
							
							
							
							llvm-svn: 91 
							
						 
						
							2001-06-27 23:36:09 +00:00  
				
					
						
							
							
								 
						
							
								f222bf33c3 
								
							 
						 
						
							
							
								
								* Expose DoConstantPoolMerging  
							
							... 
							
							
							
							* Cleanups (post->pre increment, new cleaner API, etc)
* Moved stuff into ConstantHandling.h
llvm-svn: 90 
							
						 
						
							2001-06-27 23:35:26 +00:00  
				
					
						
							
							
								 
						
							
								4c8ba81f21 
								
							 
						 
						
							
							
								
								Convert ugly postincrement to efficient preincrement  
							
							... 
							
							
							
							llvm-svn: 89 
							
						 
						
							2001-06-27 23:34:01 +00:00  
				
					
						
							
							
								 
						
							
								223796ccf2 
								
							 
						 
						
							
							
								
								Convert postincrements to more efficient preincrements  
							
							... 
							
							
							
							llvm-svn: 81 
							
						 
						
							2001-06-27 23:28:02 +00:00  
				
					
						
							
							
								 
						
							
								01683cca32 
								
							 
						 
						
							
							
								
								Moved UnaryOperator::create to InstrTypes.cpp until there is an iUnaryOps.cpp  
							
							... 
							
							
							
							Moved BinaryOperator::create to iBinaryOperators.cpp
Add getUniqueName to SymbolTable
llvm-svn: 76 
							
						 
						
							2001-06-25 07:33:13 +00:00  
				
					
						
							
							
								 
						
							
								dbdaaef7d5 
								
							 
						 
						
							
							
								
								Implement induction variable injection!  
							
							... 
							
							
							
							llvm-svn: 75 
							
						 
						
							2001-06-25 07:32:19 +00:00  
				
					
						
							
							
								 
						
							
								31e23cdeb4 
								
							 
						 
						
							
							
								
								Renamed get.*Operator to create seeing that it would have to be qualified  
							
							... 
							
							
							
							with the classname anyways.
llvm-svn: 74 
							
						 
						
							2001-06-25 07:31:31 +00:00  
				
					
						
							
							
								 
						
							
								7221d33514 
								
							 
						 
						
							
							
								
								* Rename get.*Operator to create seeing that it would have to be qualified  
							
							... 
							
							
							
							with the classname anyways.
* Add an isPHINode() method to Instruction
* Add getUniqueName() to SymbolTable class
* Add an insert method to ValueHolder
llvm-svn: 73 
							
						 
						
							2001-06-25 07:31:05 +00:00  
				
					
						
							
							
								 
						
							
								c3a6f546de 
								
							 
						 
						
							
							
								
								A silly stupid test of the loop depth calculator was added.  REMOVE in the  
							
							... 
							
							
							
							future.
llvm-svn: 72 
							
						 
						
							2001-06-25 03:55:37 +00:00  
				
					
						
							
							
								 
						
							
								ed59025460 
								
							 
						 
						
							
							
								
								IntervalPartition: recode to use IntervalIterator to do all the work  
							
							... 
							
							
							
							LoopDepth.cpp: new file that calculates the depth of a loop, using
IntervalPartitions.
llvm-svn: 71 
							
						 
						
							2001-06-25 03:55:04 +00:00  
				
					
						
							
							
								 
						
							
								601012721c 
								
							 
						 
						
							
							
								
								New file due to the Intervals.h splitup  
							
							... 
							
							
							
							llvm-svn: 66 
							
						 
						
							2001-06-24 04:07:44 +00:00  
				
					
						
							
							
								 
						
							
								f64a8936e5 
								
							 
						 
						
							
							
								
								#include a different header due to Intervals.h splitting up  
							
							... 
							
							
							
							llvm-svn: 63 
							
						 
						
							2001-06-24 04:05:45 +00:00  
				
					
						
							
							
								 
						
							
								dec727e346 
								
							 
						 
						
							
							
								
								IntervalPartition & IntervalIterator classes have been split out into  
							
							... 
							
							
							
							their own .h files & .cpp file
llvm-svn: 62 
							
						 
						
							2001-06-24 04:05:21 +00:00  
				
					
						
							
							
								 
						
							
								4c16155c36 
								
							 
						 
						
							
							
								
								Prepare for split between Interval, IntervalIterator, and IntervalIPartition  
							
							... 
							
							
							
							llvm-svn: 60 
							
						 
						
							2001-06-24 03:25:01 +00:00  
				
					
						
							
							
								 
						
							
								4c4f178723 
								
							 
						 
						
							
							
								
								Implement a lot more functionality.  Now loop invariant and linear  
							
							... 
							
							
							
							induction variables are correctly identified.
llvm-svn: 57 
							
						 
						
							2001-06-22 02:24:38 +00:00  
				
					
						
							
							
								 
						
							
								34b62a04b6 
								
							 
						 
						
							
							
								
								Interval::HeaderNode is now accessed thorugh an accessor function  
							
							... 
							
							
							
							llvm-svn: 56 
							
						 
						
							2001-06-22 02:23:39 +00:00  
				
					
						
							
							
								 
						
							
								4b94e23bd0 
								
							 
						 
						
							
							
								
								Add a space to the PHI node output code to make it look nicer  
							
							... 
							
							
							
							llvm-svn: 53 
							
						 
						
							2001-06-21 05:29:56 +00:00  
				
					
						
							
							
								 
						
							
								b20a15d334 
								
							 
						 
						
							
							
								
								Moved printing code to the Assembly/Writer library.  
							
							... 
							
							
							
							Code now detects looping intervals
llvm-svn: 52 
							
						 
						
							2001-06-21 05:27:22 +00:00  
				
					
						
							
							
								 
						
							
								d79faa35af 
								
							 
						 
						
							
							
								
								Implement the new Interval::isLoop method  
							
							... 
							
							
							
							Implement destructor to free memory
llvm-svn: 51 
							
						 
						
							2001-06-21 05:26:15 +00:00  
				
					
						
							
							
								 
						
							
								778de94723 
								
							 
						 
						
							
							
								
								Get rid of a silly printout that isn't needed right now  
							
							... 
							
							
							
							llvm-svn: 45 
							
						 
						
							2001-06-20 23:09:39 +00:00  
				
					
						
							
							
								 
						
							
								f86e38e452 
								
							 
						 
						
							
							
								
								Add capability to print a derived interval graph  
							
							... 
							
							
							
							llvm-svn: 42 
							
						 
						
							2001-06-20 22:44:38 +00:00  
				
					
						
							
							
								 
						
							
								5035efaeda 
								
							 
						 
						
							
							
								
								Add capability to build a derived interval graph  
							
							... 
							
							
							
							llvm-svn: 41 
							
						 
						
							2001-06-20 22:44:32 +00:00  
				
					
						
							
							
								 
						
							
								28ae5cbcb5 
								
							 
						 
						
							
							
								
								Initial Checking of Interval handling code  
							
							... 
							
							
							
							llvm-svn: 39 
							
						 
						
							2001-06-20 20:09:55 +00:00  
				
					
						
							
							
								 
						
							
								d286a997d3 
								
							 
						 
						
							
							
								
								Add a test case for interval code  
							
							... 
							
							
							
							llvm-svn: 36 
							
						 
						
							2001-06-20 19:27:11 +00:00  
				
					
						
							
							
								 
						
							
								5ba5f88c35 
								
							 
						 
						
							
							
								
								Updates to work with new cfg namespace  
							
							... 
							
							
							
							llvm-svn: 29 
							
						 
						
							2001-06-13 19:55:22 +00:00  
				
					
						
							
							
								 
						
							
								874ddadf72 
								
							 
						 
						
							
							
								
								Updates to support  
							
							... 
							
							
							
							* Changes in PHI node structure
llvm-svn: 25 
							
						 
						
							2001-06-11 15:04:40 +00:00  
				
					
						
							
							
								 
						
							
								931ef3bf05 
								
							 
						 
						
							
							
								
								Updates to support  
							
							... 
							
							
							
							* Changes in PHI node structure
* Change to PHI syntax
llvm-svn: 24 
							
						 
						
							2001-06-11 15:04:20 +00:00  
				
					
						
							
							
								 
						
							
								5f46e8c9da 
								
							 
						 
						
							
							
								
								Moved getBinaryOperator to the BinaryOperator class and the getUnaryOperator  
							
							... 
							
							
							
							to the UnaryOperator class (from the Instruction class).
llvm-svn: 21 
							
						 
						
							2001-06-08 21:30:13 +00:00  
				
					
						
							
							
								 
						
							
								7e0d6e05ac 
								
							 
						 
						
							
							
								
								Updated to work with new CFG.h file.  
							
							... 
							
							
							
							llvm-svn: 15 
							
						 
						
							2001-06-07 21:18:45 +00:00  
				
					
						
							
							
								 
						
							
								e6c4ea9861 
								
							 
						 
						
							
							
								
								Add extra method to PHI node class  
							
							... 
							
							
							
							llvm-svn: 11 
							
						 
						
							2001-06-07 16:59:37 +00:00  
				
					
						
							
							
								 
						
							
								d821c2af37 
								
							 
						 
						
							
							
								
								Significant rework.  DCE is still not done (see #ifdef'd out parts)  
							
							... 
							
							
							
							but at least the stuff that is checked in, now works.
llvm-svn: 10 
							
						 
						
							2001-06-07 16:59:26 +00:00  
				
					
						
							
							
								 
						
							
								a2f01878b7 
								
							 
						 
						
							
							
								
								Fixed to print slightly differently.  Added use counts for labels  
							
							... 
							
							
							
							llvm-svn: 9 
							
						 
						
							2001-06-07 16:58:55 +00:00  
				
					
						
							
							
								 
						
							
								e358b22776 
								
							 
						 
						
							
							
								
								Fixes for BB iterators, additional methods added for DCE pass  
							
							... 
							
							
							
							llvm-svn: 8 
							
						 
						
							2001-06-07 16:58:36 +00:00  
				
					
						
							
							
								 
						
							
								2f7c963559 
								
							 
						 
						
							
							
								
								Initial revision  
							
							... 
							
							
							
							llvm-svn: 2 
							
						 
						
							2001-06-06 20:29:01 +00:00