7e89a616e6 
								
							 
						 
						
							
							
								
								Don't print spurious linking warnings about methods that are never used.  
							
							... 
							
							
							
							Cleanup ExprTypeConvert a bit.
llvm-svn: 1141 
							
						 
						
							2001-11-05 19:43:10 +00:00  
				
					
						
							
							
								 
						
							
								0ecba60d26 
								
							 
						 
						
							
							
								
								Use the expression map correctly.  
							
							... 
							
							
							
							llvm-svn: 1140 
							
						 
						
							2001-11-05 18:30:53 +00:00  
				
					
						
							
							
								 
						
							
								db750679a3 
								
							 
						 
						
							
							
								
								New file for expression tree conversion  
							
							... 
							
							
							
							llvm-svn: 1128 
							
						 
						
							2001-11-04 23:24:20 +00:00  
				
					
						
							
							
								 
						
							
								3084cb65ff 
								
							 
						 
						
							
							
								
								Refactor code to share stuff  
							
							... 
							
							
							
							llvm-svn: 1127 
							
						 
						
							2001-11-04 23:24:06 +00:00  
				
					
						
							
							
								 
						
							
								cb3da314d9 
								
							 
						 
						
							
							
								
								* Relax restriction that prevented malloc promotion in certain cases  
							
							... 
							
							
							
							llvm-svn: 1125 
							
						 
						
							2001-11-04 22:11:10 +00:00  
				
					
						
							
							
								 
						
							
								36c5a79153 
								
							 
						 
						
							
							
								
								* Disable debug output  
							
							... 
							
							
							
							* fix minor bug with taking datasize of unsized array type
* Insert code to support speculative changes later
llvm-svn: 1122 
							
						 
						
							2001-11-04 21:32:11 +00:00  
				
					
						
							
							
								 
						
							
								40a2d9076b 
								
							 
						 
						
							
							
								
								Convert backward conversion of expression trees into a new more powerful bidirectional approach.  Add transforms for more instructions.  
							
							... 
							
							
							
							llvm-svn: 1121 
							
						 
						
							2001-11-04 20:21:12 +00:00  
				
					
						
							
							
								 
						
							
								33d9cb9903 
								
							 
						 
						
							
							
								
								Minor method rename  
							
							... 
							
							
							
							llvm-svn: 1119 
							
						 
						
							2001-11-04 08:08:34 +00:00  
				
					
						
							
							
								 
						
							
								f00563d39d 
								
							 
						 
						
							
							
								
								Add transformations for Load and GetElementPtr.  Fix broken transform with shr.  
							
							... 
							
							
							
							llvm-svn: 1118 
							
						 
						
							2001-11-04 07:42:17 +00:00  
				
					
						
							
							
								 
						
							
								eb7b620d58 
								
							 
						 
						
							
							
								
								Fix cast instructions that end up in bad places in GCC output  
							
							... 
							
							
							
							llvm-svn: 1117 
							
						 
						
							2001-11-04 07:40:51 +00:00  
				
					
						
							
							
								 
						
							
								033324fc0c 
								
							 
						 
						
							
							
								
								Avoid making a broken transformation!  
							
							... 
							
							
							
							llvm-svn: 1115 
							
						 
						
							2001-11-03 21:30:22 +00:00  
				
					
						
							
							
								 
						
							
								ec83fc091e 
								
							 
						 
						
							
							
								
								Add new cleanup pass:  
							
							... 
							
							
							
							//  1. PHI nodes with multiple entries for the same predecessor.  GCC sometimes
//     generates code that looks like this:
//
//  bb7:  br bool %cond1004, label %bb8, label %bb8
//  bb8: %reg119 = phi uint [ 0, %bb7 ], [ 1, %bb7 ]
//
//     which is completely illegal LLVM code.  To compensate for this, we insert
//     an extra basic block, and convert the code to look like this:
//
//  bb7: br bool %cond1004, label %bbX, label %bb8
//  bbX: br label bb8
//  bb8: %reg119 = phi uint [ 0, %bbX ], [ 1, %bb7 ]
//
llvm-svn: 1114 
							
						 
						
							2001-11-03 21:08:59 +00:00  
				
					
						
							
							
								 
						
							
								784c623efb 
								
							 
						 
						
							
							
								
								* Export method to merge identically named methods  
							
							... 
							
							
							
							* Add code to fix PHI nodes that are missing arguments.  These PHI nodes can
  be generated by GCC if there is an uninitialized variable flowing into a merge
  point.  For example:
int foo(int y) {
  int X;
  if (y) X = 1;
  return X;
}
llvm-svn: 1110 
							
						 
						
							2001-11-03 19:51:56 +00:00  
				
					
						
							
							
								 
						
							
								629a15247a 
								
							 
						 
						
							
							
								
								Commented out code so that copies are inserted for all phi args  
							
							... 
							
							
							
							CahedCopyMap was disabled to insert phi elimination code for all phi args
llvm-svn: 1105 
							
						 
						
							2001-11-03 17:09:59 +00:00  
				
					
						
							
							
								 
						
							
								629d7a7849 
								
							 
						 
						
							
							
								
								Changes to compile the TSP benchmark successfully.  Favor warning instead of assertion failures.  
							
							... 
							
							
							
							llvm-svn: 1103 
							
						 
						
							2001-11-03 10:04:22 +00:00  
				
					
						
							
							
								 
						
							
								1f3947c1d1 
								
							 
						 
						
							
							
								
								Add code to link method together with the same name if one is vararg and the other isn't.  
							
							... 
							
							
							
							This resolves definitions like this:
   %list * "foo"(...)
   %list * "foo"(int)
together which can often occur because C programmers don't put prototypes in like they should.  GRR
llvm-svn: 1102 
							
						 
						
							2001-11-03 09:19:00 +00:00  
				
					
						
							
							
								 
						
							
								3855f2c806 
								
							 
						 
						
							
							
								
								Don't forget to link type names together too.  Fix for Olden/mst benchmark  
							
							... 
							
							
							
							llvm-svn: 1094 
							
						 
						
							2001-11-03 05:18:24 +00:00  
				
					
						
							
							
								 
						
							
								1e60d6b762 
								
							 
						 
						
							
							
								
								Add extra code for debugging linker problems  
							
							... 
							
							
							
							llvm-svn: 1091 
							
						 
						
							2001-11-03 03:27:29 +00:00  
				
					
						
							
							
								 
						
							
								9bc6b190cc 
								
							 
						 
						
							
							
								
								* Add comments for peepholes  
							
							... 
							
							
							
							* Implement new peephole:
     // Peephole optimize the following instructions:
     // %t1 = cast {<...>} * %StructPtr to <ty> *
     //
     // Into: %t2 = getelementptr {<...>} * %StructPtr, <0, 0, 0, ...>
     //       %t1 = cast <eltype> * %t1 to <ty> *
  This peephole eliminated 9 evil casts in the health benchmark, and
  completely turned the addList method around.  :)
llvm-svn: 1085 
							
						 
						
							2001-11-01 17:05:27 +00:00  
				
					
						
							
							
								 
						
							
								71c842cddf 
								
							 
						 
						
							
							
								
								Add DCE as integral part of the level raising to avoid processing instructions that are dead  
							
							... 
							
							
							
							llvm-svn: 1084 
							
						 
						
							2001-11-01 07:00:51 +00:00  
				
					
						
							
							
								 
						
							
								7567f6c15f 
								
							 
						 
						
							
							
								
								Expose the low level DCE mechanism to external users  
							
							... 
							
							
							
							Refactor code to support it
llvm-svn: 1083 
							
						 
						
							2001-11-01 07:00:27 +00:00  
				
					
						
							
							
								 
						
							
								9a13ececd8 
								
							 
						 
						
							
							
								
								* Implement expression type conversion for constant values  
							
							... 
							
							
							
							* Fix a problem setting a name on a constant value that died because no symbol table was passed in
* Add some comments describing the passes
* Implement a new peephole:
     // Peephole optimize the following instructions:
     // %t = cast <T1>* %P to <T2> * ;; If T1 is losslessly convertable to T2
     // store <T2> %V, <T2>* %t
     //
     // Into:
     // %t = cast <T2> %V to <T1>
     // store <T1> %t2, <T1>* %P
llvm-svn: 1080 
							
						 
						
							2001-11-01 05:57:59 +00:00  
				
					
						
							
							
								 
						
							
								04648a4cc6 
								
							 
						 
						
							
							
								
								Simplify DCE code a lot  
							
							... 
							
							
							
							llvm-svn: 1079 
							
						 
						
							2001-11-01 05:55:29 +00:00  
				
					
						
							
							
								 
						
							
								1267be2319 
								
							 
						 
						
							
							
								
								* Convert getelementptr/store pairs into a single store  
							
							... 
							
							
							
							* Convert getelementptr/load pairs into a single load
llvm-svn: 1075 
							
						 
						
							2001-11-01 03:12:34 +00:00  
				
					
						
							
							
								 
						
							
								025f9fcf80 
								
							 
						 
						
							
							
								
								Initial checkin of level raising code, after move and cleanup and expands from the opt directory  
							
							... 
							
							
							
							llvm-svn: 1074 
							
						 
						
							2001-11-01 02:42:08 +00:00  
				
					
						
							
							
								 
						
							
								246f157af4 
								
							 
						 
						
							
							
								
								Propogate name to the malloc itself instead of to the cast  
							
							... 
							
							
							
							llvm-svn: 1071 
							
						 
						
							2001-11-01 02:40:36 +00:00  
				
					
						
							
							
								 
						
							
								7e6a0d8c17 
								
							 
						 
						
							
							
								
								Use the correct prototype for malloc and free  
							
							... 
							
							
							
							llvm-svn: 1066 
							
						 
						
							2001-10-31 06:36:23 +00:00  
				
					
						
							
							
								 
						
							
								20726ed31b 
								
							 
						 
						
							
							
								
								Implement code to convert %malloc and %free FUNCTION CALLS into the instruction equivalent  
							
							... 
							
							
							
							llvm-svn: 1065 
							
						 
						
							2001-10-31 06:35:59 +00:00  
				
					
						
							
							
								 
						
							
								9db8b765cd 
								
							 
						 
						
							
							
								
								Implemented constant propogation of cast instructions  
							
							... 
							
							
							
							llvm-svn: 1064 
							
						 
						
							2001-10-31 05:07:57 +00:00  
				
					
						
							
							
								 
						
							
								34b9518c88 
								
							 
						 
						
							
							
								
								Initial version of GCC cleanup pass: just removes extraneous global symbol table entries for types  
							
							... 
							
							
							
							llvm-svn: 1062 
							
						 
						
							2001-10-31 04:33:19 +00:00  
				
					
						
							
							
								 
						
							
								2a2b531294 
								
							 
						 
						
							
							
								
								Fix bug when inlining a method that refers to a global variable  
							
							... 
							
							
							
							llvm-svn: 1056 
							
						 
						
							2001-10-31 02:27:26 +00:00  
				
					
						
							
							
								 
						
							
								cba9036e34 
								
							 
						 
						
							
							
								
								Fix broken assertion.  Didn't allow for pointer case  
							
							... 
							
							
							
							llvm-svn: 1034 
							
						 
						
							2001-10-29 17:27:38 +00:00  
				
					
						
							
							
								 
						
							
								3e95c716aa 
								
							 
						 
						
							
							
								
								Pull method symbols over when linking.  Otherwise the result of the link will appear stripped  
							
							... 
							
							
							
							llvm-svn: 1033 
							
						 
						
							2001-10-29 16:55:41 +00:00  
				
					
						
							
							
								 
						
							
								66aea7a58c 
								
							 
						 
						
							
							
								
								Make newlines be newlines! This should now work in both lli and native code.  
							
							... 
							
							
							
							llvm-svn: 1016 
							
						 
						
							2001-10-28 22:44:02 +00:00  
				
					
						
							
							
								 
						
							
								fc361b1d55 
								
							 
						 
						
							
							
								
								Remove non linking related stuff  
							
							... 
							
							
							
							llvm-svn: 1015 
							
						 
						
							2001-10-28 22:43:06 +00:00  
				
					
						
							
							
								 
						
							
								6e26c8b0fc 
								
							 
						 
						
							
							
								
								Added name-mangling routines for future use.  
							
							... 
							
							
							
							llvm-svn: 1003 
							
						 
						
							2001-10-28 21:38:02 +00:00  
				
					
						
							
							
								 
						
							
								96f6ac9ffc 
								
							 
						 
						
							
							
								
								Use separate functions for printing values of each type.  
							
							... 
							
							
							
							Put trace code before condition-generating instruction in basic blocks
that end in a conditional branch.
llvm-svn: 1002 
							
						 
						
							2001-10-28 21:37:25 +00:00  
				
					
						
							
							
								 
						
							
								b046867a97 
								
							 
						 
						
							
							
								
								Fix problem linking in a method prototype when a method body exists  
							
							... 
							
							
							
							llvm-svn: 965 
							
						 
						
							2001-10-23 20:43:42 +00:00  
				
					
						
							
							
								 
						
							
								e2c61267ad 
								
							 
						 
						
							
							
								
								Refix bugs, stop using deprecated strstream header  
							
							... 
							
							
							
							llvm-svn: 898 
							
						 
						
							2001-10-18 20:06:03 +00:00  
				
					
						
							
							
								 
						
							
								4816d63844 
								
							 
						 
						
							
							
								
								Initial checkin  
							
							... 
							
							
							
							llvm-svn: 897 
							
						 
						
							2001-10-18 20:05:37 +00:00  
				
					
						
							
							
								 
						
							
								a0db1c9a0e 
								
							 
						 
						
							
							
								
								Only print values live at BB or method exit, and insert loads at each  
							
							... 
							
							
							
							BB exit to read and print values stored in that BB.   Note that only
these stored values are live at method exit!.  Also, print messages at
method entry and exit.
llvm-svn: 892 
							
						 
						
							2001-10-18 18:16:11 +00:00  
				
					
						
							
							
								 
						
							
								7ac553aa12 
								
							 
						 
						
							
							
								
								Handle multiple exit blocks correctly.  
							
							... 
							
							
							
							Restore string variable cache.
Resurrect code to use formatted printing instead of PrintVal
but leave it turned off for now.
llvm-svn: 888 
							
						 
						
							2001-10-18 13:49:22 +00:00  
				
					
						
							
							
								 
						
							
								5309e10be1 
								
							 
						 
						
							
							
								
								Convert to be compatible with lli.  
							
							... 
							
							
							
							Need to eliminate duplicate \n entries
llvm-svn: 883 
							
						 
						
							2001-10-18 06:03:05 +00:00  
				
					
						
							
							
								 
						
							
								a0a8b5bc26 
								
							 
						 
						
							
							
								
								Massive hacks to try to fix subtle logic bugs.  I think it's all working now,  
							
							... 
							
							
							
							at least what used to.  I should disable method exit code completely because
it's broken (doesn't insert just post dominating values)
llvm-svn: 881 
							
						 
						
							2001-10-18 05:28:08 +00:00  
				
					
						
							
							
								 
						
							
								6fea0324d7 
								
							 
						 
						
							
							
								
								Convert to new simpler pass itf  
							
							... 
							
							
							
							llvm-svn: 880 
							
						 
						
							2001-10-18 05:27:33 +00:00  
				
					
						
							
							
								 
						
							
								5398a6eb6c 
								
							 
						 
						
							
							
								
								Convert optimizations to the pass infrastructure  
							
							... 
							
							
							
							llvm-svn: 873 
							
						 
						
							2001-10-18 01:32:34 +00:00  
				
					
						
							
							
								 
						
							
								1bb5f8e4ee 
								
							 
						 
						
							
							
								
								Add new Pass infrastructure and some examples  
							
							... 
							
							
							
							llvm-svn: 836 
							
						 
						
							2001-10-15 17:31:51 +00:00  
				
					
						
							
							
								 
						
							
								162ed4d6cc 
								
							 
						 
						
							
							
								
								Rename ConstPoolPointerReference to ConstPoolPointerRef - My fingers get tired typing that much  
							
							... 
							
							
							
							llvm-svn: 822 
							
						 
						
							2001-10-15 13:21:42 +00:00  
				
					
						
							
							
								 
						
							
								1afbdc0ea5 
								
							 
						 
						
							
							
								
								* getExitNode() doesn't exist in method anymore  
							
							... 
							
							
							
							* Make local functions static
llvm-svn: 820 
							
						 
						
							2001-10-15 13:07:21 +00:00  
				
					
						
							
							
								 
						
							
								9a35320053 
								
							 
						 
						
							
							
								
								Added Instrumentation subdirectory.  
							
							... 
							
							
							
							llvm-svn: 819 
							
						 
						
							2001-10-15 12:01:05 +00:00  
				
					
						
							
							
								 
						
							
								c306f18c3e 
								
							 
						 
						
							
							
								
								Implement linking of global variable constant references  
							
							... 
							
							
							
							llvm-svn: 817 
							
						 
						
							2001-10-15 03:12:52 +00:00  
				
					
						
							
							
								 
						
							
								a972919f92 
								
							 
						 
						
							
							
								
								Minor cleanup  
							
							... 
							
							
							
							llvm-svn: 812 
							
						 
						
							2001-10-14 23:29:30 +00:00  
				
					
						
							
							
								 
						
							
								1090dc96ff 
								
							 
						 
						
							
							
								
								Implement linker.  It's 95% working now.  
							
							... 
							
							
							
							llvm-svn: 810 
							
						 
						
							2001-10-14 23:29:15 +00:00  
				
					
						
							
							
								 
						
							
								a200a6c583 
								
							 
						 
						
							
							
								
								Insert code to trace values at basic block and method exits.  
							
							... 
							
							
							
							Current version does not check for liveness.
llvm-svn: 800 
							
						 
						
							2001-10-14 23:18:45 +00:00  
				
					
						
							
							
								 
						
							
								1362299644 
								
							 
						 
						
							
							
								
								Check in makefile  
							
							... 
							
							
							
							llvm-svn: 788 
							
						 
						
							2001-10-13 16:57:03 +00:00  
				
					
						
							
							
								 
						
							
								b7b537f192 
								
							 
						 
						
							
							
								
								Start of a linker  
							
							... 
							
							
							
							llvm-svn: 775 
							
						 
						
							2001-10-13 07:03:50 +00:00  
				
					
						
							
							
								 
						
							
								f0b68888af 
								
							 
						 
						
							
							
								
								Support the invoke instruction  
							
							... 
							
							
							
							llvm-svn: 765 
							
						 
						
							2001-10-13 06:52:41 +00:00  
				
					
						
							
							
								 
						
							
								cfc2f446a6 
								
							 
						 
						
							
							
								
								Support indirect calls  
							
							... 
							
							
							
							llvm-svn: 764 
							
						 
						
							2001-10-13 06:52:31 +00:00  
				
					
						
							
							
								 
						
							
								da55810666 
								
							 
						 
						
							
							
								
								Commit more code over to new cast style  
							
							... 
							
							
							
							llvm-svn: 697 
							
						 
						
							2001-10-02 03:41:24 +00:00  
				
					
						
							
							
								 
						
							
								3856934386 
								
							 
						 
						
							
							
								
								Convert more code to use new style casts  
							
							... 
							
							
							
							Eliminate old style casts from value.h
llvm-svn: 696 
							
						 
						
							2001-10-01 20:11:19 +00:00  
				
					
						
							
							
								 
						
							
								8f19112923 
								
							 
						 
						
							
							
								
								Add more support for new style casts  
							
							... 
							
							
							
							Convert more code to use them
llvm-svn: 695 
							
						 
						
							2001-10-01 18:26:53 +00:00  
				
					
						
							
							
								 
						
							
								4b717c0edc 
								
							 
						 
						
							
							
								
								Add support for new style casts  
							
							... 
							
							
							
							llvm-svn: 694 
							
						 
						
							2001-10-01 16:18:37 +00:00  
				
					
						
							
							
								 
						
							
								ba1c1f2fb6 
								
							 
						 
						
							
							
								
								Pull predecessor and successor iterators out of the CFG*.h files, and plop them into  
							
							... 
							
							
							
							the BasicBlock class where they should be.  pred_begin/pred_end become methods on BasicBlock,
and the cfg namespace isn't used anymore.
llvm-svn: 691 
							
						 
						
							2001-10-01 13:19:53 +00:00  
				
					
						
							
							
								 
						
							
								bb09a10929 
								
							 
						 
						
							
							
								
								Pull iterators out of CFG.h and CFGdecls and put them in Support directory  
							
							... 
							
							
							
							llvm-svn: 664 
							
						 
						
							2001-09-28 22:56:31 +00:00  
				
					
						
							
							
								 
						
							
								b271be3185 
								
							 
						 
						
							
							
								
								ADCE is broken but at least we know why  
							
							... 
							
							
							
							llvm-svn: 656 
							
						 
						
							2001-09-28 00:06:42 +00:00  
				
					
						
							
							
								 
						
							
								acfd27d502 
								
							 
						 
						
							
							
								
								Make ADCE more robust, it still has problems, but it's getting closer  
							
							... 
							
							
							
							llvm-svn: 521 
							
						 
						
							2001-09-09 22:26:47 +00:00  
				
					
						
							
							
								 
						
							
								d707ec62b6 
								
							 
						 
						
							
							
								
								Types and constants are wierd things in symbol tables now  
							
							... 
							
							
							
							llvm-svn: 457 
							
						 
						
							2001-09-07 16:43:50 +00:00  
				
					
						
							
							
								 
						
							
								dae05dc937 
								
							 
						 
						
							
							
								
								* Eliminate reference to ConstantPool class  
							
							... 
							
							
							
							* Constants are global objects that are not allocated or freed
llvm-svn: 456 
							
						 
						
							2001-09-07 16:43:22 +00:00  
				
					
						
							
							
								 
						
							
								e57fc205f4 
								
							 
						 
						
							
							
								
								Constant pool is dead  
							
							... 
							
							
							
							llvm-svn: 455 
							
						 
						
							2001-09-07 16:42:51 +00:00  
				
					
						
							
							
								 
						
							
								6d7bce9f3c 
								
							 
						 
						
							
							
								
								Constants are now global unique objects  
							
							... 
							
							
							
							llvm-svn: 454 
							
						 
						
							2001-09-07 16:42:26 +00:00  
				
					
						
							
							
								 
						
							
								07e158de3c 
								
							 
						 
						
							
							
								
								* Eliminate constant pool dependancies:  
							
							... 
							
							
							
							* Eliminate DoRemoveUnusedConstants
llvm-svn: 453 
							
						 
						
							2001-09-07 16:42:08 +00:00  
				
					
						
							
							
								 
						
							
								030772df99 
								
							 
						 
						
							
							
								
								* Supoprt global constants  
							
							... 
							
							
							
							* Remove support for local constant pools
* Eliminate constant pool merging method, which is no longer neccesary
* Disable invalid optimization (todo: fix it)
llvm-svn: 452 
							
						 
						
							2001-09-07 16:41:30 +00:00  
				
					
						
							
							
								 
						
							
								b62b602fe2 
								
							 
						 
						
							
							
								
								Enable the elimination of method prototypes that are not referenced  
							
							... 
							
							
							
							llvm-svn: 325 
							
						 
						
							2001-07-28 17:51:49 +00:00  
				
					
						
							
							
								 
						
							
								e2472bbf6c 
								
							 
						 
						
							
							
								
								Moved inline/llvm/Tools/* to include/llvm/Support/*  
							
							... 
							
							
							
							llvm-svn: 279 
							
						 
						
							2001-07-23 17:46:59 +00:00  
				
					
						
							
							
								 
						
							
								3e37ec7c0a 
								
							 
						 
						
							
							
								
								Support external methods  
							
							... 
							
							
							
							llvm-svn: 200 
							
						 
						
							2001-07-15 21:43:45 +00:00  
				
					
						
							
							
								 
						
							
								5451c9e977 
								
							 
						 
						
							
							
								
								Add knowledge about the struct form of the GetElementPtr instruction  
							
							... 
							
							
							
							llvm-svn: 183 
							
						 
						
							2001-07-14 06:11:51 +00:00  
				
					
						
							
							
								 
						
							
								5b1200bf8e 
								
							 
						 
						
							
							
								
								Remove dependency on the structure of ValueHolder.  
							
							... 
							
							
							
							llvm-svn: 182 
							
						 
						
							2001-07-14 06:11:26 +00:00  
				
					
						
							
							
								 
						
							
								d6c5a769ea 
								
							 
						 
						
							
							
								
								Don't clean out the type plane of the constant pool... this is a hack.  FIXME  
							
							... 
							
							
							
							llvm-svn: 172 
							
						 
						
							2001-07-09 19:38:52 +00:00  
				
					
						
							
							
								 
						
							
								31feae8550 
								
							 
						 
						
							
							
								
								Implement checking for new instructions  
							
							... 
							
							
							
							llvm-svn: 163 
							
						 
						
							2001-07-08 21:18:49 +00:00  
				
					
						
							
							
								 
						
							
								fb8ed0cf3a 
								
							 
						 
						
							
							
								
								Use the CDG to mark branches alive on demand.  
							
							... 
							
							
							
							llvm-svn: 159 
							
						 
						
							2001-07-08 18:38:36 +00:00  
				
					
						
							
							
								 
						
							
								a682182f64 
								
							 
						 
						
							
							
								
								Neg instruction removed.  Cast instruction implemented.  
							
							... 
							
							
							
							llvm-svn: 156 
							
						 
						
							2001-07-08 04:57:15 +00:00  
				
					
						
							
							
								 
						
							
								b1ca9cbceb 
								
							 
						 
						
							
							
								
								Broad superficial changes:  
							
							... 
							
							
							
							* Renamed getOpcode to getOpcodeName
* Changed getOpcodeName to return a const char * instead of string
* Added a getOpcode method to replace getInstType
* Changed code to use getOpcode instead of getInstType
llvm-svn: 152 
							
						 
						
							2001-07-07 19:24:15 +00:00  
				
					
						
							
							
								 
						
							
								a073acb22d 
								
							 
						 
						
							
							
								
								Changed the fundemental architecture of Operands for Instructions.  Now  
							
							... 
							
							
							
							Operands are maintained as a vector<Use> in the User class, and operator
iterators are provided as before.  Getting an operand no longer requires
a virtual function call.
WARNING: getOperand(x) where x >= getNumOperands() will now assert instead
of returning null!
llvm-svn: 149 
							
						 
						
							2001-07-07 08:36:50 +00:00  
				
					
						
							
							
								 
						
							
								29aae157f7 
								
							 
						 
						
							
							
								
								Add method to unify all exit nodes of a method  
							
							... 
							
							
							
							llvm-svn: 143 
							
						 
						
							2001-07-06 16:58:36 +00:00  
				
					
						
							
							
								 
						
							
								8024bde7c7 
								
							 
						 
						
							
							
								
								Update to include right file  
							
							... 
							
							
							
							llvm-svn: 138 
							
						 
						
							2001-07-06 16:32:07 +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  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								dbdaaef7d5 
								
							 
						 
						
							
							
								
								Implement induction variable injection!  
							
							... 
							
							
							
							llvm-svn: 75 
							
						 
						
							2001-06-25 07:32:19 +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  
				
					
						
							
							
								 
						
							
								f64a8936e5 
								
							 
						 
						
							
							
								
								#include a different header due to Intervals.h splitting up  
							
							... 
							
							
							
							llvm-svn: 63 
							
						 
						
							2001-06-24 04:05:45 +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  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								7e0d6e05ac 
								
							 
						 
						
							
							
								
								Updated to work with new CFG.h file.  
							
							... 
							
							
							
							llvm-svn: 15 
							
						 
						
							2001-06-07 21:18:45 +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  
				
					
						
							
							
								 
						
							
								2f7c963559 
								
							 
						 
						
							
							
								
								Initial revision  
							
							... 
							
							
							
							llvm-svn: 2 
							
						 
						
							2001-06-06 20:29:01 +00:00