Devang Patel 
							
						 
					 
					
						
						
							
						
						28aa5de050 
					 
					
						
						
							
							If "optimize for size" attribute is set then block non-trivial loop unswitches but allow trivial loop unswitches.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63670  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-02-03 22:04:27 +00:00 
						 
				 
			
				
					
						
							
							
								Duncan Sands 
							
						 
					 
					
						
						
							
						
						1465d61bdd 
					 
					
						
						
							
							Rename getAnalysisToUpdate to getAnalysisIfAvailable.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63198  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-01-28 13:14:17 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						6d9896f153 
					 
					
						
						
							
							Undo previous patch.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60701  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-12-08 17:02:37 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						a3522000ab 
					 
					
						
						
							
							switch a couple more calls to use array_pod_sort.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60337  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-12-01 06:52:57 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						265ca5dff5 
					 
					
						
						
							
							Ignore conditions that are outside the loop.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58631  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-11-03 19:38:07 +00:00 
						 
				 
			
				
					
						
							
							
								Daniel Dunbar 
							
						 
					 
					
						
						
							
						
						394f0441e0 
					 
					
						
						
							
							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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58010  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-10-22 23:32:42 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						a1fcd77ccf 
					 
					
						
						
							
							Use 0 instead of false to return a null pointer.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57660  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-10-17 00:56:52 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						2c9c3e7368 
					 
					
						
						
							
							Implement function notes as function attributes.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56716  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-09-26 23:51:19 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						0598866c05 
					 
					
						
						
							
							Large mechanical patch.  
						
						... 
						
						
						
						s/ParamAttr/Attribute/g
s/PAList/AttrList/g
s/FnAttributeWithIndex/AttributeWithIndex/g
s/FnAttr/Attribute/g
This sets the stage 
- to implement function notes as function attributes and 
- to distinguish between function attributes and return value attributes.
This requires corresponding changes in llvm-gcc and clang.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56622  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-09-25 21:00:45 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						20bcaff6a7 
					 
					
						
						
							
							Put FN_NOTE_AlwaysInline and others in FnAttr namespace.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56527  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-09-24 00:06:15 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						dd4924c564 
					 
					
						
						
							
							Move FN_NOTE_AlwaysInline and other out of ParamAttrs namespace.  
						
						... 
						
						
						
						Do not check isDeclaration() in hasNote(). It is clients' responsibility.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56524  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-09-23 23:52:03 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						d9b4a5f859 
					 
					
						
						
							
							Use parameter attribute store (soon to be renamed) for  
						
						... 
						
						
						
						Function Notes also. Function notes are stored at index ~0.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56511  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-09-23 22:35:17 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						f3ba70861c 
					 
					
						
						
							
							Add hasNote() to check note associated with a function.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56477  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-09-22 22:32:29 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						deafefabae 
					 
					
						
						
							
							A loop may be unswitched multiple times. Reconstruct dom info. at the end.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55806  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-09-04 22:43:59 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						027bb92541 
					 
					
						
						
							
							Initialize loop data first.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55792  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-09-04 20:36:36 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						10b359ccb6 
					 
					
						
						
							
							Do not unswitch if the function notes say we're optimizing this function for size.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55786  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-09-04 18:55:13 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						ae73dc1448 
					 
					
						
						
							
							Tidy up several unbeseeming casts from pointer to intptr_t.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55779  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-09-04 17:05:41 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						77a01136ff 
					 
					
						
						
							
							Do not try to update dominator info while manipulating CFG.  This code does not handle all cases and keeps invalid dom info around some cases, which misleads other passes down stream.  
						
						... 
						
						
						
						Right now, dom info is recaluclated in the end if the loop is switched.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53106  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-07-03 17:37:52 +00:00 
						 
				 
			
				
					
						
							
							
								Bill Wendling 
							
						 
					 
					
						
						
							
						
						38976dc394 
					 
					
						
						
							
							Remove unused function.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53090  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-07-03 07:10:03 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						f31b3bbd10 
					 
					
						
						
							
							Remove extra FIXME  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53087  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-07-03 06:50:04 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						4be7d294f8 
					 
					
						
						
							
							Reconstruct dom info, if loop is unswitched.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53086  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-07-03 06:48:21 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						b76247b8b1 
					 
					
						
						
							
							LoopUnswitch does not preserve dominator info in all cases.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53085  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-07-03 05:55:03 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						825cb98d9a 
					 
					
						
						
							
							Undo previous patch. It is not that simple to fix dom info here.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53062  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-07-03 00:08:13 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						501e763dfe 
					 
					
						
						
							
							Preserve dom info while simplifing loop after the unswitch.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53052  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-07-02 22:58:54 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						1e41f6d724 
					 
					
						
						
							
							reuse vectors.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53007  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-07-02 01:44:29 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						2095c38c7a 
					 
					
						
						
							
							Fix comment.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53006  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-07-02 01:31:19 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						e6962dfb64 
					 
					
						
						
							
							Preserve loop data so that it is not fetched everytime it is needed.  
						
						... 
						
						
						
						Keep track of currentLoop.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53005  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-07-02 01:18:13 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						64cd658223 
					 
					
						
						
							
							Preserve dominance frontier while trivially unswitching loop.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52438  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-06-18 02:16:38 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						2f170997b5 
					 
					
						
						
							
							Update dom tree. Fix PR 2372.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51887  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-06-02 22:52:56 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						02dea8b39f 
					 
					
						
						
							
							Tidy up BasicBlock::getFirstNonPHI, and change a bunch of places to  
						
						... 
						
						
						
						use it instead of duplicating its functionality.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51499  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-05-23 21:05:58 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						844731a7f1 
					 
					
						
						
							
							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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51017  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-05-13 00:00:25 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						4a3f6c8882 
					 
					
						
						
							
							Make several variable declarations static.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50696  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-05-06 01:53:16 +00:00 
						 
				 
			
				
					
						
							
							
								Nick Lewycky 
							
						 
					 
					
						
						
							
						
						280a6e607d 
					 
					
						
						
							
							Remove 'unwinds to' support from mainline. This patch undoes r47802 r47989  
						
						... 
						
						
						
						r48047 r48084 r48085 r48086 r48088 r48096 r48099 r48109 and r48123.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50265  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-04-25 16:53:59 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						48a80b07bd 
					 
					
						
						
							
							fit some more code in 80 cols.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50016  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-04-21 00:25:49 +00:00 
						 
				 
			
				
					
						
							
							
								Gabor Greif 
							
						 
					 
					
						
						
							
						
						051a950000 
					 
					
						
						
							
							API changes for class Use size reduction, wave 1.  
						
						... 
						
						
						
						Specifically, introduction of XXX::Create methods
for Users that have a potentially variable number of
Uses.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49277  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-04-06 20:25:17 +00:00 
						 
				 
			
				
					
						
							
							
								Nick Lewycky 
							
						 
					 
					
						
						
							
						
						529de8a457 
					 
					
						
						
							
							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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48088  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-03-09 05:24:34 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						4ee451de36 
					 
					
						
						
							
							Remove attribution from file headers, per discussion on llvmdev.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45418  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-12-29 20:36:04 +00:00 
						 
				 
			
				
					
						
							
							
								David Greene 
							
						 
					 
					
						
						
							
						
						60f7515479 
					 
					
						
						
							
							Get rid of annoying spaces.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45100  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-12-17 17:40:29 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						d735ee85db 
					 
					
						
						
							
							Make LoopInfoBase more generic, in preparation for having MachineLoopInfo.  This involves a small interface change.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44348  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-11-27 03:43:35 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						b593898e11 
					 
					
						
						
							
							Do not walk invalid iterator.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42812  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-10-09 21:31:36 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						5c4cd0d82e 
					 
					
						
						
							
							Fix bug in updating dominance frontier after loop  
						
						... 
						
						
						
						unswitch when frontier includes basic blocks that 
are not inside loop.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42654  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-10-05 22:29:34 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						c1e2660c5d 
					 
					
						
						
							
							Fix 80 col violation.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42591  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-10-03 21:17:43 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						f476e8e7ce 
					 
					
						
						
							
							Refactor code in a separate method.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42590  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-10-03 21:16:08 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						9ee49c541b 
					 
					
						
						
							
							Update aux. info associated with an instruction before erasing instruction.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42180  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-09-20 23:45:50 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						b7211a2ce1 
					 
					
						
						
							
							Use SmallVector instead of std::vector.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41207  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-08-21 00:31:24 +00:00 
						 
				 
			
				
					
						
							
							
								David Greene 
							
						 
					 
					
						
						
							
						
						8ff18e9c99 
					 
					
						
						
							
							Fix GLIBCXX_DEBUG error triggered by incrementing erased iterator.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40897  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-08-07 16:44:38 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						684b22df79 
					 
					
						
						
							
							wrap some long lines.  Major offenders that are left include  
						
						... 
						
						
						
						gvn, gvnpre, dse, and predsimplify.  To see these, use:
  make check-line-length
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40738  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-08-02 16:53:43 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						1ff61385c8 
					 
					
						
						
							
							Update dominator info for the middle blocks created while spliting  
						
						... 
						
						
						
						exit edge to preserve LCSSA.
Fix dominance frontier update during loop unswitch. This fixes PR 1589, again
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40737  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-08-02 15:25:57 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						2f2e519083 
					 
					
						
						
							
							Undo previous check-in.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40698  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-08-01 23:24:50 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						28ae151c48 
					 
					
						
						
							
							Update dominator info for the middle blocks created while spliting  
						
						... 
						
						
						
						exit edge to preserve LCSSA.
Fix dominance frontier update during loop unswitch. This fixes PR 1589.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40695  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-08-01 22:23:50 +00:00