f3ebc3f3d2 
								
							 
						 
						
							
							
								
								Remove attribution from file headers, per discussion on llvmdev.  
							
							... 
							
							
							
							llvm-svn: 45418 
							
						 
						
							2007-12-29 20:36:04 +00:00  
				
					
						
							
							
								 
						
							
								68b6f50938 
								
							 
						 
						
							
							
								
								Integrate the readonly/readnone logic more deeply  
							
							... 
							
							
							
							into alias analysis.  This meant updating the API
which now has versions of the getModRefBehavior,
doesNotAccessMemory and onlyReadsMemory methods
which take a callsite parameter.  These should be
used unless the callsite is not known, since in
general they can do a better job than the versions
that take a function.  Also, users should no longer
call the version of getModRefBehavior that takes
both a function and a callsite.  To reduce the
chance of misuse it is now protected.
llvm-svn: 44487 
							
						 
						
							2007-12-01 07:51:45 +00:00  
				
					
						
							
							
								 
						
							
								1c97d752df 
								
							 
						 
						
							
							
								
								Readonly/readnone functions are allowed to throw  
							
							... 
							
							
							
							exceptions, so don't turn invokes of them into
calls.
llvm-svn: 44278 
							
						 
						
							2007-11-22 21:40:06 +00:00  
				
					
						
							
							
								 
						
							
								17a5dfe6f7 
								
							 
						 
						
							
							
								
								New CallInst interface to address GLIBCXX_DEBUG errors caused by  
							
							... 
							
							
							
							indexing an empty std::vector.
Updates to all clients.
llvm-svn: 40660 
							
						 
						
							2007-08-01 03:43:44 +00:00  
				
					
						
							
							
								 
						
							
								bdd1aaef10 
								
							 
						 
						
							
							
								
								s/llvm::DominatorTreeBase::DomTreeNode/llvm::DomTreeNode/g  
							
							... 
							
							
							
							llvm-svn: 37407 
							
						 
						
							2007-06-04 00:32:22 +00:00  
				
					
						
							
							
								 
						
							
								0e8aa7b69a 
								
							 
						 
						
							
							
								
								s/DominatorTreeBase::Node/DominatorTreeBase:DomTreeNode/g  
							
							... 
							
							
							
							llvm-svn: 37403 
							
						 
						
							2007-06-03 06:26:14 +00:00  
				
					
						
							
							
								 
						
							
								e7da2d6ac3 
								
							 
						 
						
							
							
								
								Fix typo in comment.  
							
							... 
							
							
							
							llvm-svn: 36873 
							
						 
						
							2007-05-06 13:37:16 +00:00  
				
					
						
							
							
								 
						
							
								8c78a0bff0 
								
							 
						 
						
							
							
								
								Drop 'const'  
							
							... 
							
							
							
							llvm-svn: 36662 
							
						 
						
							2007-05-03 01:11:54 +00:00  
				
					
						
							
							
								 
						
							
								e95c6ad802 
								
							 
						 
						
							
							
								
								Use 'static const char' instead of 'static const int'.  
							
							... 
							
							
							
							Due to darwin gcc bug, one version of darwin linker coalesces
static const int, which defauts PassID based pass identification.
llvm-svn: 36652 
							
						 
						
							2007-05-02 21:39:20 +00:00  
				
					
						
							
							
								 
						
							
								09f162ca6a 
								
							 
						 
						
							
							
								
								Do not use typeinfo to identify pass in pass manager.  
							
							... 
							
							
							
							llvm-svn: 36632 
							
						 
						
							2007-05-01 21:15:47 +00:00  
				
					
						
							
							
								 
						
							
								9421f03959 
								
							 
						 
						
							
							
								
								Revert changes that caused breakage.  
							
							... 
							
							
							
							llvm-svn: 36255 
							
						 
						
							2007-04-18 06:46:57 +00:00  
				
					
						
							
							
								 
						
							
								fc40d446c9 
								
							 
						 
						
							
							
								
								Use ETForest instead of DominatorTree.  
							
							... 
							
							
							
							llvm-svn: 36249 
							
						 
						
							2007-04-18 04:55:33 +00:00  
				
					
						
							
							
								 
						
							
								a06a8fd2d7 
								
							 
						 
						
							
							
								
								Eliminate use of ctors that take vectors.  
							
							... 
							
							
							
							llvm-svn: 34219 
							
						 
						
							2007-02-13 02:10:56 +00:00  
				
					
						
							
							
								 
						
							
								6e0123b17f 
								
							 
						 
						
							
							
								
								Simplify code by using value::takename  
							
							... 
							
							
							
							llvm-svn: 34176 
							
						 
						
							2007-02-11 01:23:03 +00:00  
				
					
						
							
							
								 
						
							
								557ab15e71 
								
							 
						 
						
							
							
								
								Apply the VISIBILITY_HIDDEN field to the remaining anonymous classes in  
							
							... 
							
							
							
							the Transforms library. This reduces debug library size by 132 KB, debug
binary size by 376 KB, and reduces link time for llvm tools slightly.
llvm-svn: 33939 
							
						 
						
							2007-02-05 23:32:05 +00:00  
				
					
						
							
							
								 
						
							
								79a42ac941 
								
							 
						 
						
							
							
								
								Switch over Transforms/Scalar to use the STATISTIC macro.  For each statistic  
							
							... 
							
							
							
							converted, we lose a static initializer.  This also allows GCC to emit warnings
about unused statistics.
llvm-svn: 32690 
							
						 
						
							2006-12-19 21:40:18 +00:00  
				
					
						
							
							
								 
						
							
								700b873130 
								
							 
						 
						
							
							
								
								Detemplatize the Statistic class.  The only type it is instantiated with  
							
							... 
							
							
							
							is 'unsigned'.
llvm-svn: 32279 
							
						 
						
							2006-12-06 17:46:33 +00:00  
				
					
						
							
							
								 
						
							
								5dbf43c983 
								
							 
						 
						
							
							
								
								Removed #include <iostream> and replaced with llvm_* streams.  
							
							... 
							
							
							
							llvm-svn: 31923 
							
						 
						
							2006-11-26 09:46:52 +00:00  
				
					
						
							
							
								 
						
							
								c2d3d3112e 
								
							 
						 
						
							
							
								
								eliminate RegisterOpt.  It does the same thing as RegisterPass.  
							
							... 
							
							
							
							llvm-svn: 29925 
							
						 
						
							2006-08-27 22:42:52 +00:00  
				
					
						
							
							
								 
						
							
								540886f0ae 
								
							 
						 
						
							
							
								
								Remove unneeded hook.  Patch by Anton K. Thanks!  
							
							... 
							
							
							
							llvm-svn: 28664 
							
						 
						
							2006-06-02 19:11:46 +00:00  
				
					
						
							
							
								 
						
							
								f905a7b994 
								
							 
						 
						
							
							
								
								Silence a -pedantic warning.  
							
							... 
							
							
							
							llvm-svn: 28632 
							
						 
						
							2006-06-01 17:16:21 +00:00  
				
					
						
							
							
								 
						
							
								c597b8a55e 
								
							 
						 
						
							
							
								
								Make iostream #inclusion explicit  
							
							... 
							
							
							
							llvm-svn: 25514 
							
						 
						
							2006-01-22 23:32:06 +00:00  
				
					
						
							
							
								 
						
							
								bd77fac034 
								
							 
						 
						
							
							
								
								Make sure that anything using the ADCE pass pulls in the UnifyFunctionExitNodes  
							
							... 
							
							
							
							code
llvm-svn: 23931 
							
						 
						
							2005-10-24 01:40:23 +00:00  
				
					
						
							
							
								 
						
							
								05c703ea85 
								
							 
						 
						
							
							
								
								preserve calling conventions when hacking on code  
							
							... 
							
							
							
							llvm-svn: 22024 
							
						 
						
							2005-05-14 12:25:32 +00:00  
				
					
						
							
							
								 
						
							
								82639853c0 
								
							 
						 
						
							
							
								
								Eliminate tabs and trailing spaces  
							
							... 
							
							
							
							llvm-svn: 21480 
							
						 
						
							2005-04-23 21:38:35 +00:00  
				
					
						
							
							
								 
						
							
								b1c9317bb4 
								
							 
						 
						
							
							
								
								Remove trailing whitespace  
							
							... 
							
							
							
							llvm-svn: 21427 
							
						 
						
							2005-04-21 23:48:37 +00:00  
				
					
						
							
							
								 
						
							
								52e931b37d 
								
							 
						 
						
							
							
								
								Remove use of bind_obj  
							
							... 
							
							
							
							llvm-svn: 20276 
							
						 
						
							2005-02-22 23:22:58 +00:00  
				
					
						
							
							
								 
						
							
								7b5d9e2217 
								
							 
						 
						
							
							
								
								Do not mark obviously unreachable blocks live when processing PHI nodes,  
							
							... 
							
							
							
							and handle incomplete control dependences correctly.  This fixes:
Regression/Transforms/ADCE/dead-phi-edge.ll
  -> a missed optimization
Regression/Transforms/ADCE/dead-phi-edge.ll
  -> a compiler crash distilled from QT4
llvm-svn: 20227 
							
						 
						
							2005-02-17 19:28:49 +00:00  
				
					
						
							
							
								 
						
							
								a199e3c1e2 
								
							 
						 
						
							
							
								
								Change indentation of a whole bunch of code, no real changes here.  
							
							... 
							
							
							
							llvm-svn: 18843 
							
						 
						
							2004-12-12 23:49:37 +00:00  
				
					
						
							
							
								 
						
							
								14d07db44d 
								
							 
						 
						
							
							
								
								More substantial simplifications and speedups.  This makes ADCE about 20% faster  
							
							... 
							
							
							
							in some cases.
llvm-svn: 18842 
							
						 
						
							2004-12-12 23:40:17 +00:00  
				
					
						
							
							
								 
						
							
								9115eb3024 
								
							 
						 
						
							
							
								
								More minor microoptimizations  
							
							... 
							
							
							
							llvm-svn: 18841 
							
						 
						
							2004-12-12 22:44:30 +00:00  
				
					
						
							
							
								 
						
							
								d4298781c1 
								
							 
						 
						
							
							
								
								Remove some more set operations  
							
							... 
							
							
							
							llvm-svn: 18840 
							
						 
						
							2004-12-12 22:22:18 +00:00  
				
					
						
							
							
								 
						
							
								a538439bf0 
								
							 
						 
						
							
							
								
								Reduce number of set operations.  
							
							... 
							
							
							
							llvm-svn: 18839 
							
						 
						
							2004-12-12 22:16:13 +00:00  
				
					
						
							
							
								 
						
							
								6a792feb02 
								
							 
						 
						
							
							
								
								Getting ADCE to interact well with unreachable instructions seems like a nontrivial  
							
							... 
							
							
							
							exercise that I'm not interested in tackling right now.  Just punt and treat them
like unwind's.
This 'fixes' test/Regression/Transforms/ADCE/unreachable-function.ll
llvm-svn: 17106 
							
						 
						
							2004-10-17 23:45:06 +00:00  
				
					
						
							
							
								 
						
							
								6ac3ef950d 
								
							 
						 
						
							
							
								
								Add note  
							
							... 
							
							
							
							llvm-svn: 17043 
							
						 
						
							2004-10-16 18:09:25 +00:00  
				
					
						
							
							
								 
						
							
								3e86084641 
								
							 
						 
						
							
							
								
								Prototype these functions more accurately  
							
							... 
							
							
							
							llvm-svn: 16432 
							
						 
						
							2004-09-20 04:43:15 +00:00  
				
					
						
							
							
								 
						
							
								6614946443 
								
							 
						 
						
							
							
								
								Convert code to compile with vc7.1.  
							
							... 
							
							
							
							Patch contributed by Paolo Invernizzi. Thanks Paolo!
llvm-svn: 16368 
							
						 
						
							2004-09-15 17:06:42 +00:00  
				
					
						
							
							
								 
						
							
								7c16caa336 
								
							 
						 
						
							
							
								
								Changes For Bug 352  
							
							... 
							
							
							
							Move include/Config and include/Support into include/llvm/Config,
include/llvm/ADT and include/llvm/Support. From here on out, all LLVM
public header files must be under include/llvm/.
llvm-svn: 16137 
							
						 
						
							2004-09-01 22:55:40 +00:00  
				
					
						
							
							
								 
						
							
								9a63520b1a 
								
							 
						 
						
							
							
								
								Fixes working towards PR341  
							
							... 
							
							
							
							llvm-svn: 14839 
							
						 
						
							2004-07-15 01:50:47 +00:00  
				
					
						
							
							
								 
						
							
								9490849028 
								
							 
						 
						
							
							
								
								Do not mark instructions in unreachable sections of the function as live.  
							
							... 
							
							
							
							This fixes PR332 and ADCE/2004-05-04-UnreachableBlock.llx
llvm-svn: 13349 
							
						 
						
							2004-05-04 17:00:46 +00:00  
				
					
						
							
							
								 
						
							
								d95ef7eff0 
								
							 
						 
						
							
							
								
								Simplify code a bit, and fix a bug that was breaking perlbmk  
							
							... 
							
							
							
							llvm-svn: 12814 
							
						 
						
							2004-04-10 18:06:21 +00:00  
				
					
						
							
							
								 
						
							
								7ebfe61dc1 
								
							 
						 
						
							
							
								
								Fix a bug in my checkin last night that was breaking programs using invoke.  
							
							... 
							
							
							
							llvm-svn: 12813 
							
						 
						
							2004-04-10 16:53:29 +00:00  
				
					
						
							
							
								 
						
							
								5093213c40 
								
							 
						 
						
							
							
								
								Fix previous patch  
							
							... 
							
							
							
							llvm-svn: 12811 
							
						 
						
							2004-04-10 07:27:48 +00:00  
				
					
						
							
							
								 
						
							
								6149ac8991 
								
							 
						 
						
							
							
								
								Correctly update counters  
							
							... 
							
							
							
							llvm-svn: 12810 
							
						 
						
							2004-04-10 07:02:02 +00:00  
				
					
						
							
							
								 
						
							
								cfa1adcdb8 
								
							 
						 
						
							
							
								
								Simplify code a bit, and use alias analysis to allow us to delete unused  
							
							... 
							
							
							
							call and invoke instructions that are known to not write to memory.
llvm-svn: 12807 
							
						 
						
							2004-04-10 06:53:09 +00:00  
				
					
						
							
							
								 
						
							
								7c91a6176c 
								
							 
						 
						
							
							
								
								Fix the count of the number of instructions removed  
							
							... 
							
							
							
							llvm-svn: 11049 
							
						 
						
							2004-02-01 05:15:07 +00:00  
				
					
						
							
							
								 
						
							
								fc7bdac1b3 
								
							 
						 
						
							
							
								
								Fix ADCE/2003-12-19-MergeReturn.llx  
							
							... 
							
							
							
							llvm-svn: 10539 
							
						 
						
							2003-12-19 09:08:34 +00:00  
				
					
						
							
							
								 
						
							
								4cc2cc5c58 
								
							 
						 
						
							
							
								
								Do not crash when deleing a region with a dead invoke instruction  
							
							... 
							
							
							
							llvm-svn: 10161 
							
						 
						
							2003-11-22 02:13:08 +00:00  
				
					
						
							
							
								 
						
							
								a29600046d 
								
							 
						 
						
							
							
								
								Minor cleanups and simplifications  
							
							... 
							
							
							
							llvm-svn: 10127 
							
						 
						
							2003-11-21 16:52:05 +00:00  
				
					
						
							
							
								 
						
							
								2af517281d 
								
							 
						 
						
							
							
								
								Start using the nicer terminator auto-insertion API  
							
							... 
							
							
							
							llvm-svn: 10111 
							
						 
						
							2003-11-20 18:25:24 +00:00