d934cc06c6 
								
							 
						 
						
							
							
								
								Avoid build warnings.  
							
							... 
							
							
							
							llvm-svn: 77271 
							
						 
						
							2009-07-27 23:14:11 +00:00  
				
					
						
							
							
								 
						
							
								0dd5e1ed39 
								
							 
						 
						
							
							
								
								More migration to raw_ostream, the water has dried up around the iostream hole.  
							
							... 
							
							
							
							- Some clients which used DOUT have moved to DEBUG. We are deprecating the
   "magic" DOUT behavior which avoided calling printing functions when the
   statement was disabled. In addition to being unnecessary magic, it had the
   downside of leaving code in -Asserts builds, and of hiding potentially
   unnecessary computations.
llvm-svn: 77019 
							
						 
						
							2009-07-25 00:23:56 +00:00  
				
					
						
							
							
								 
						
							
								1238220473 
								
							 
						 
						
							
							
								
								Adjust loop size estimate for full unrolling;  
							
							... 
							
							
							
							GEP's don't usually become instructions.
llvm-svn: 69631 
							
						 
						
							2009-04-20 22:19:33 +00:00  
				
					
						
							
							
								 
						
							
								5a913d61e3 
								
							 
						 
						
							
							
								
								Rename getAnalysisToUpdate to getAnalysisIfAvailable.  
							
							... 
							
							
							
							llvm-svn: 63198 
							
						 
						
							2009-01-28 13:14:17 +00:00  
				
					
						
							
							
								 
						
							
								7f39e2d85a 
								
							 
						 
						
							
							
								
								Change create*Pass factory functions to return Pass* instead of  
							
							... 
							
							
							
							LoopPass*.
 - Although less precise, this means they can be used in clients
   without RTTI (who would otherwise need to include LoopPass.h, which
   eventually includes things using dynamic_cast). This was the
   simplest solution that presented itself, but I am happy to use a
   better one if available.
llvm-svn: 58010 
							
						 
						
							2008-10-22 23:32:42 +00:00  
				
					
						
							
							
								 
						
							
								a79db30d28 
								
							 
						 
						
							
							
								
								Tidy up several unbeseeming casts from pointer to intptr_t.  
							
							... 
							
							
							
							llvm-svn: 55779 
							
						 
						
							2008-09-04 17:05:41 +00:00  
				
					
						
							
							
								 
						
							
								98b5c16e3b 
								
							 
						 
						
							
							
								
								Add -unroll-allow-partial command line option that enabled the loop unroller to  
							
							... 
							
							
							
							partially unroll a loop when fully unrolling would not fit under the threshold.
Patch by Mikael Lepistö.
llvm-svn: 54160 
							
						 
						
							2008-07-29 13:21:23 +00:00  
				
					
						
							
							
								 
						
							
								f94b9826b5 
								
							 
						 
						
							
							
								
								Preserve dom info.  
							
							... 
							
							
							
							llvm-svn: 53089 
							
						 
						
							2008-07-03 07:04:22 +00:00  
				
					
						
							
							
								 
						
							
								90071075e2 
								
							 
						 
						
							
							
								
								Use Loop::block_iterator.  
							
							... 
							
							
							
							llvm-svn: 52616 
							
						 
						
							2008-06-22 20:18:58 +00:00  
				
					
						
							
							
								 
						
							
								67933e6692 
								
							 
						 
						
							
							
								
								Bill pointed out that system headers should be  
							
							... 
							
							
							
							included after local headers.
llvm-svn: 51187 
							
						 
						
							2008-05-16 09:30:00 +00:00  
				
					
						
							
							
								 
						
							
								783cb2d76d 
								
							 
						 
						
							
							
								
								Use of UINT_MAX requires climits, at least when  
							
							... 
							
							
							
							compiling with gcc 4.3.
llvm-svn: 51145 
							
						 
						
							2008-05-15 11:22:50 +00:00  
				
					
						
							
							
								 
						
							
								3dc2d92ebd 
								
							 
						 
						
							
							
								
								Split the loop unroll mechanism logic out into a utility function.  
							
							... 
							
							
							
							Patch by Matthijs Kooijman!
llvm-svn: 51083 
							
						 
						
							2008-05-14 00:24:14 +00:00  
				
					
						
							
							
								 
						
							
								d78c400b5b 
								
							 
						 
						
							
							
								
								Clean up the use of static and anonymous namespaces. This turned up  
							
							... 
							
							
							
							several things that were neither in an anonymous namespace nor static
but not intended to be global.
llvm-svn: 51017 
							
						 
						
							2008-05-13 00:00:25 +00:00  
				
					
						
							
							
								 
						
							
								6a2da37c0e 
								
							 
						 
						
							
							
								
								Make several variable declarations static.  
							
							... 
							
							
							
							llvm-svn: 50696 
							
						 
						
							2008-05-06 01:53:16 +00:00  
				
					
						
							
							
								 
						
							
								4d43d3c72c 
								
							 
						 
						
							
							
								
								Remove 'unwinds to' support from mainline. This patch undoes r47802 r47989  
							
							... 
							
							
							
							r48047 r48084 r48085 r48086 r48088 r48096 r48099 r48109 and r48123.
llvm-svn: 50265 
							
						 
						
							2008-04-25 16:53:59 +00:00  
				
					
						
							
							
								 
						
							
								7629b71dd4 
								
							 
						 
						
							
							
								
								Revert r49614.  As Dan pointed out, some of these aren't correct.  
							
							... 
							
							
							
							llvm-svn: 49657 
							
						 
						
							2008-04-14 17:38:21 +00:00  
				
					
						
							
							
								 
						
							
								1f6fbc4bc3 
								
							 
						 
						
							
							
								
								Replace calls of the form V1->setName(V2->getName()) with V1->takeName(V2),  
							
							... 
							
							
							
							which is significantly more efficient.
llvm-svn: 49614 
							
						 
						
							2008-04-13 19:15:17 +00:00  
				
					
						
							
							
								 
						
							
								b727960f78 
								
							 
						 
						
							
							
								
								Add comment.  
							
							... 
							
							
							
							llvm-svn: 48567 
							
						 
						
							2008-03-19 23:05:52 +00:00  
				
					
						
							
							
								 
						
							
								924ca7f01d 
								
							 
						 
						
							
							
								
								Update heuritics that estimates cost of call instructions.  
							
							... 
							
							
							
							llvm-svn: 48474 
							
						 
						
							2008-03-17 23:41:20 +00:00  
				
					
						
							
							
								 
						
							
								11fc6f8765 
								
							 
						 
						
							
							
								
								Update the block cloner which fixes bugpoint on code using unwind_to (phew!)  
							
							... 
							
							
							
							and also update the cloning interface's major user, the loop optimizations.
llvm-svn: 48088 
							
						 
						
							2008-03-09 05:24:34 +00:00  
				
					
						
							
							
								 
						
							
								579f07135a 
								
							 
						 
						
							
							
								
								Unbreak build with gcc 4.3: provide missed includes and silence most annoying warnings.  
							
							... 
							
							
							
							llvm-svn: 47367 
							
						 
						
							2008-02-20 11:08:44 +00:00  
				
					
						
							
							
								 
						
							
								efb16f7057 
								
							 
						 
						
							
							
								
								Be more careful modifying the use_list while also iterating through it.  
							
							... 
							
							
							
							llvm-svn: 46417 
							
						 
						
							2008-01-27 18:35:00 +00:00  
				
					
						
							
							
								 
						
							
								30e434569e 
								
							 
						 
						
							
							
								
								fix typo  
							
							... 
							
							
							
							llvm-svn: 45594 
							
						 
						
							2008-01-04 20:02:18 +00:00  
				
					
						
							
							
								 
						
							
								f3ebc3f3d2 
								
							 
						 
						
							
							
								
								Remove attribution from file headers, per discussion on llvmdev.  
							
							... 
							
							
							
							llvm-svn: 45418 
							
						 
						
							2007-12-29 20:36:04 +00:00  
				
					
						
							
							
								 
						
							
								b0dd27ee91 
								
							 
						 
						
							
							
								
								Make LoopInfoBase more generic, in preparation for having MachineLoopInfo.  This involves a small interface change.  
							
							... 
							
							
							
							llvm-svn: 44348 
							
						 
						
							2007-11-27 03:43:35 +00:00  
				
					
						
							
							
								 
						
							
								b98d2050a2 
								
							 
						 
						
							
							
								
								If a value is incoming from outside the loop then the value does not need remapping and the value is never tracked through  LastValueMap.  
							
							... 
							
							
							
							llvm-svn: 43728 
							
						 
						
							2007-11-05 19:32:30 +00:00  
				
					
						
							
							
								 
						
							
								2740694450 
								
							 
						 
						
							
							
								
								wrap some long lines.  Major offenders that are left include  
							
							... 
							
							
							
							gvn, gvnpre, dse, and predsimplify.  To see these, use:
  make check-line-length
llvm-svn: 40738 
							
						 
						
							2007-08-02 16:53:43 +00:00  
				
					
						
							
							
								 
						
							
								8d40e4d965 
								
							 
						 
						
							
							
								
								Correct a few comments.  
							
							... 
							
							
							
							llvm-svn: 37034 
							
						 
						
							2007-05-14 14:31:17 +00:00  
				
					
						
							
							
								 
						
							
								2980d9da45 
								
							 
						 
						
							
							
								
								This patch extends the LoopUnroll pass to be able to unroll loops  
							
							... 
							
							
							
							with unknown trip counts. This is left off by default, and a
command-line option enables it. It also begins to separate loop
unrolling into a utility routine; eventually it might be made usable
from other passes.
It currently works by inserting conditional branches between each
unrolled iteration, unless it proves that the trip count is a
multiple of a constant integer > 1, which it currently only does in
the rare case that the trip count expression is a Mul operator with
a ConstantInt operand. Eventually this information might be provided
by other sources, for example by a pass that peels/splits the loop
for this purpose.
llvm-svn: 36990 
							
						 
						
							2007-05-11 20:53:41 +00:00  
				
					
						
							
							
								 
						
							
								2e1f804764 
								
							 
						 
						
							
							
								
								Fix various whitespace inconsistencies.  
							
							... 
							
							
							
							llvm-svn: 36936 
							
						 
						
							2007-05-08 15:19:19 +00:00  
				
					
						
							
							
								 
						
							
								49d08a57f5 
								
							 
						 
						
							
							
								
								Correct the comment for ApproximateLoopSize to reflect what it actually does.  
							
							... 
							
							
							
							llvm-svn: 36935 
							
						 
						
							2007-05-08 15:14:19 +00:00  
				
					
						
							
							
								 
						
							
								1077d2a30d 
								
							 
						 
						
							
							
								
								Fix Transforms/LoopUnroll/2007-05-05-UnrollMiscomp.ll and PR1385.  
							
							... 
							
							
							
							If we have a LCSSA, only modify the input value if the inval was defined
by an instruction in the loop.  If defined by something before the loop,
it is still valid.
llvm-svn: 36784 
							
						 
						
							2007-05-05 18:49:57 +00:00  
				
					
						
							
							
								 
						
							
								57d89a5a89 
								
							 
						 
						
							
							
								
								make a temporary for *SI, no functionality change.  
							
							... 
							
							
							
							llvm-svn: 36782 
							
						 
						
							2007-05-05 18:36:36 +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  
				
					
						
							
							
								 
						
							
								abdff3fecd 
								
							 
						 
						
							
							
								
								Fix  
							
							... 
							
							
							
							http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20070416/047888.html 
llvm-svn: 36182 
						
							2007-04-16 23:03:45 +00:00  
				
					
						
							
							
								 
						
							
								9779e56c04 
								
							 
						 
						
							
							
								
								Now LoopUnroll is a LoopPass.  
							
							... 
							
							
							
							llvm-svn: 34996 
							
						 
						
							2007-03-07 01:38:05 +00:00  
				
					
						
							
							
								 
						
							
								29fe20a98b 
								
							 
						 
						
							
							
								
								Guard against huge loop trip counts in an APInt safe way.  
							
							... 
							
							
							
							llvm-svn: 34858 
							
						 
						
							2007-03-02 23:31:34 +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  
				
					
						
							
							
								 
						
							
								1bfc7ab6a7 
								
							 
						 
						
							
							
								
								Switch inliner over to use DenseMap instead of std::map for ValueMap.  This  
							
							... 
							
							
							
							speeds up the inliner 16%.
llvm-svn: 33801 
							
						 
						
							2007-02-03 00:08:31 +00:00  
				
					
						
							
							
								 
						
							
								024f4ab383 
								
							 
						 
						
							
							
								
								Adjust #includes to match movement of constant folding code from transformutils to libanalysis.  
							
							... 
							
							
							
							llvm-svn: 33680 
							
						 
						
							2007-01-30 23:46:24 +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  
				
					
						
							
							
								 
						
							
								de46e48420 
								
							 
						 
						
							
							
								
								For PR786:  
							
							... 
							
							
							
							Turn on -Wunused and -Wno-unused-parameter. Clean up most of the resulting
fall out by removing unused variables. Remaining warnings have to do with
unused functions (I didn't want to delete code without review) and unused
variables in generated code. Maintainers should clean up the remaining
issues when they see them. All changes pass DejaGnu tests and Olden.
llvm-svn: 31380 
							
						 
						
							2006-11-02 20:25:50 +00:00  
				
					
						
							
							
								 
						
							
								e0fc4dfc22 
								
							 
						 
						
							
							
								
								For PR950:  
							
							... 
							
							
							
							This patch implements the first increment for the Signless Types feature.
All changes pertain to removing the ConstantSInt and ConstantUInt classes
in favor of just using ConstantInt.
llvm-svn: 31063 
							
						 
						
							2006-10-20 07:07:24 +00:00  
				
					
						
							
							
								 
						
							
								a8a2e5c666 
								
							 
						 
						
							
							
								
								Clean up a bit.  
							
							... 
							
							
							
							llvm-svn: 29950 
							
						 
						
							2006-08-29 06:10:56 +00:00  
				
					
						
							
							
								 
						
							
								62c84fe371 
								
							 
						 
						
							
							
								
								Make LoopUnroll fold excessive BasicBlocks.  This results in a significant speedup of  
							
							... 
							
							
							
							gccas on 252.eon
llvm-svn: 29936 
							
						 
						
							2006-08-28 02:09:46 +00:00  
				
					
						
							
							
								 
						
							
								c2d3d3112e 
								
							 
						 
						
							
							
								
								eliminate RegisterOpt.  It does the same thing as RegisterPass.  
							
							... 
							
							
							
							llvm-svn: 29925 
							
						 
						
							2006-08-27 22:42:52 +00:00