Gabor Greif 
							
						 
					 
					
						
						
							
						
						03a5f139fb 
					 
					
						
						
							
							back out my recent commit (r80858), it seems to break self-hosting buildbot's stage 2 configure  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80871  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-09-03 02:02:59 +00:00 
						 
				 
			
				
					
						
							
							
								Gabor Greif 
							
						 
					 
					
						
						
							
						
						190390b8d3 
					 
					
						
						
							
							re-commit r66920 (which has been backed out in r66953) I may have more luck this time. I'll back out if needed...  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80858  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-09-03 00:18:58 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						bbbfa99d3d 
					 
					
						
						
							
							remove a few DOUTs here and there.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79832  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-08-23 06:35:02 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						1d0be15f89 
					 
					
						
						
							
							Push LLVMContexts through the IntegerType APIs.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78948  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-08-13 21:58:54 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						d7f2a6cb3f 
					 
					
						
						
							
							Privatize the StructType table, which unfortunately involves routing contexts through a number of APIs.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78258  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-08-05 23:16:16 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						a7235ea724 
					 
					
						
						
							
							Move a few more APIs back to 2.5 forms.  The only remaining ones left to change back are  
						
						... 
						
						
						
						metadata related, which I'm waiting on to avoid conflicting with Devang.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77721  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-07-31 20:28:14 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						9e9a0d5fc2 
					 
					
						
						
							
							Move more code back to 2.5 APIs.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77635  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-07-30 23:03:37 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						debcb01b0f 
					 
					
						
						
							
							Move types back to the 2.5 API.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77516  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-07-29 22:17:13 +00:00 
						 
				 
			
				
					
						
							
							
								Daniel Dunbar 
							
						 
					 
					
						
						
							
						
						460f656475 
					 
					
						
						
							
							Remove Value::getName{Start,End}, the last of the old Name APIs.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77152  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-07-26 09:48:23 +00:00 
						 
				 
			
				
					
						
							
							
								Daniel Dunbar 
							
						 
					 
					
						
						
							
						
						ce63ffb52f 
					 
					
						
						
							
							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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77019  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-07-25 00:23:56 +00:00 
						 
				 
			
				
					
						
							
							
								Daniel Dunbar 
							
						 
					 
					
						
						
							
						
						f6ccee5a9d 
					 
					
						
						
							
							Switch to getNameStr().  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76962  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-07-24 08:24:36 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						e922c02019 
					 
					
						
						
							
							Get rid of the Pass+Context magic.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76702  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-07-22 00:24:57 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						001dbfebcb 
					 
					
						
						
							
							Move the ConstantInt uniquing table into LLVMContextImpl.  This exposed a number of issues in  
						
						... 
						
						
						
						our current context-passing stuff, which is also fixed here
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76089  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-07-16 18:04:31 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						14ce9ef2e9 
					 
					
						
						
							
							More LLVMContext-ification.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74811  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-07-06 01:34:54 +00:00 
						 
				 
			
				
					
						
							
							
								Jay Foad 
							
						 
					 
					
						
						
							
						
						757068f3ba 
					 
					
						
						
							
							Implement and use new method Function::hasAddressTaken().  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73164  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-06-10 08:41:11 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						a5affdcf4c 
					 
					
						
						
							
							aha, DAE does have to think about PHI nodes.  Many thanks to "Dr Evil" (aka Duncan)  
						
						... 
						
						
						
						for pointing this out :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@67212  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-03-18 16:48:45 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						f023b54bcd 
					 
					
						
						
							
							add an assertion to make it clear that PHI nodes are not allowed.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@67210  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-03-18 16:23:56 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						bda0765e07 
					 
					
						
						
							
							Fix PR3807 by inserting 'insertelement' instructions in the normal dest of  
						
						... 
						
						
						
						an invoke instead of after the invoke (in its block), which is invalid.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@67139  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-03-18 00:31:45 +00:00 
						 
				 
			
				
					
						
							
							
								Bill Wendling 
							
						 
					 
					
						
						
							
						
						9a507cd915 
					 
					
						
						
							
							Revert r66920. It was causing failures in the self-hosting buildbot (in release  
						
						... 
						
						
						
						mode).
Running /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvmCore/test/BugPoint/dg.exp ...
FAIL: /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvmCore/test/BugPoint/crash-narrowfunctiontest.ll
Failed with signal(SIGBUS) at line 1
while running: bugpoint /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvmCore/test/BugPoint/crash-narrowfunctiontest.ll -bugpoint-crashcalls -silence-passes > /dev/null
0   bugpoint          0x0035dd25 llvm::sys::SetInterruptFunction(void (*)()) + 85
1   bugpoint          0x0035e382 llvm::sys::RemoveFileOnSignal(llvm::sys::Path const&, std::string*) + 706
2   libSystem.B.dylib 0x92f112bb _sigtramp + 43
3   libSystem.B.dylib 0xffffffff _sigtramp + 1829694831
4   bugpoint          0x00021d1c main + 92
5   bugpoint          0x00002106 start + 54
6   bugpoint          0x00000004 start + 18446744073709543220
Stack dump:
0.    Program arguments: bugpoint /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvmCore/test/BugPoint/crash-narrowfunctiontest.ll -bugpoint-crashcalls -silence-passes 
FAIL: /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvmCore/test/BugPoint/misopt-basictest.ll
Failed with signal(SIGBUS) at line 1
while running: bugpoint /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvmCore/test/BugPoint/misopt-basictest.ll -dce -bugpoint-deletecalls -simplifycfg -silence-passes
0   bugpoint          0x0035dd25 llvm::sys::SetInterruptFunction(void (*)()) + 85
1   bugpoint          0x0035e382 llvm::sys::RemoveFileOnSignal(llvm::sys::Path const&, std::string*) + 706
2   libSystem.B.dylib 0x92f112bb _sigtramp + 43
3   libSystem.B.dylib 0xffffffff _sigtramp + 1829694831
4   bugpoint          0x00021d1c main + 92
5   bugpoint          0x00002106 start + 54
6   bugpoint          0x00000006 start + 18446744073709543222
Stack dump:
0.    Program arguments: bugpoint /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvmCore/test/BugPoint/misopt-basictest.ll -dce -bugpoint-deletecalls -simplifycfg -silence-passes 
FAIL: /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvmCore/test/BugPoint/remove_arguments_test.ll
Failed with signal(SIGBUS) at line 1
while running: bugpoint /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvmCore/test/BugPoint/remove_arguments_test.ll  -bugpoint-crashcalls -silence-passes
0   bugpoint          0x0035dd25 llvm::sys::SetInterruptFunction(void (*)()) + 85
1   bugpoint          0x0035e382 llvm::sys::RemoveFileOnSignal(llvm::sys::Path const&, std::string*) + 706
2   libSystem.B.dylib 0x92f112bb _sigtramp + 43
3   libSystem.B.dylib 0xffffffff _sigtramp + 1829694831
4   bugpoint          0x00021d1c main + 92
5   bugpoint          0x00002106 start + 54
Stack dump:
0.    Program arguments: bugpoint /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvmCore/test/BugPoint/remove_arguments_test.ll -bugpoint-crashcalls -silence-passes 
--- Reverse-merging (from foreign repository) r66920 into '.':
U    include/llvm/Support/CallSite.h
U    include/llvm/Instructions.h
U    lib/Analysis/IPA/GlobalsModRef.cpp
U    lib/Analysis/IPA/Andersens.cpp
U    lib/Bitcode/Writer/BitcodeWriter.cpp
U    lib/VMCore/Instructions.cpp
U    lib/VMCore/Verifier.cpp
U    lib/VMCore/AsmWriter.cpp
U    lib/Transforms/Utils/LowerInvoke.cpp
U    lib/Transforms/Scalar/SimplifyCFGPass.cpp
U    lib/Transforms/IPO/PruneEH.cpp
U    lib/Transforms/IPO/DeadArgumentElimination.cpp
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66953  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-03-13 21:15:59 +00:00 
						 
				 
			
				
					
						
							
							
								Gabor Greif 
							
						 
					 
					
						
						
							
						
						b14cda3c0d 
					 
					
						
						
							
							Second installment of "BasicBlock operands to the back"  
						
						... 
						
						
						
						changes.
For InvokeInst now all arguments begin at op_begin().
The Callee, Cont and Fail are now faster to get by
access relative to op_end().
This patch introduces some temporary uglyness in CallSite.
Next I'll bring CallInst up to a similar scheme and then
the uglyness will magically vanish.
This patch also exposes all the reliance of the libraries
on InvokeInst's operand ordering. I am thinking of taking
care of that too.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66920  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-03-13 18:27:29 +00:00 
						 
				 
			
				
					
						
							
							
								Gabor Greif 
							
						 
					 
					
						
						
							
						
						40b65c898d 
					 
					
						
						
							
							use CallSite::isCalle instead of slow getOperandNo  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62877  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-01-23 21:17:04 +00:00 
						 
				 
			
				
					
						
							
							
								Rafael Espindola 
							
						 
					 
					
						
						
							
						
						bb46f52027 
					 
					
						
						
							
							Add the private linkage.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62279  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-01-15 20:18:42 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						19c874638d 
					 
					
						
						
							
							Now Attributes are divided in three groups  
						
						... 
						
						
						
						- return attributes - inreg, zext and sext
- parameter attributes
- function attributes - nounwind, readonly, readnone, noreturn
Return attributes use 0 as the index.
Function attributes use ~0U as the index.
This patch requires corresponding changes in llvm-gcc and clang.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56704  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-09-26 22:53:05 +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 
							
						 
					 
					
						
						
							
						
						e3d76d37e9 
					 
					
						
						
							
							s/ParamAttrsWithIndex/FnAttributeWithIndex/g  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56535  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-09-24 00:55:02 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						eaf42abab6 
					 
					
						
						
							
							s/ParameterAttributes/Attributes/g  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56513  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-09-23 23:03:40 +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 
						 
				 
			
				
					
						
							
							
								Matthijs Kooijman 
							
						 
					 
					
						
						
							
						
						4f72368529 
					 
					
						
						
							
							Allow deadargelim to change return types even though now values were dead. This  
						
						... 
						
						
						
						again canonicalizes {i32} into i32 and {} into void.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53610  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-07-15 14:42:31 +00:00 
						 
				 
			
				
					
						
							
							
								Matthijs Kooijman 
							
						 
					 
					
						
						
							
						
						d1d1de7f39 
					 
					
						
						
							
							Revert r53606. It turns out that explicitely tracking the liveness of the  
						
						... 
						
						
						
						return value as a whole in deadargelim is really not needed now that we simply
rebuild the old return value and actually prevents some canonicalization from
taking place.
This revert stops deadargelim from changing {i32} into i32 for now, but I'll
fix that next.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53609  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-07-15 14:39:36 +00:00 
						 
				 
			
				
					
						
							
							
								Matthijs Kooijman 
							
						 
					 
					
						
						
							
						
						eb32b453b3 
					 
					
						
						
							
							Make deadargelim a bit less smart, so it doesn't choke on nested structs as  
						
						... 
						
						
						
						return values that are still (partially) live. Instead of updating all uses of
a call instruction after removing some elements, it now just rebuilds the
original struct (With undef gaps where the unused values were) and leaves it to
instcombine to clean this up.
The added testcase still fails currently, but this is due to instcombine which
isn't good enough yet. I will fix that part next.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53608  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-07-15 14:03:10 +00:00 
						 
				 
			
				
					
						
							
							
								Matthijs Kooijman 
							
						 
					 
					
						
						
							
						
						9c9418d0f3 
					 
					
						
						
							
							Don't use isa when we can reuse a previous dyn_cast.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53607  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-07-15 13:39:08 +00:00 
						 
				 
			
				
					
						
							
							
								Matthijs Kooijman 
							
						 
					 
					
						
						
							
						
						ddd1a79b6d 
					 
					
						
						
							
							Make DeadArgElim keep liveness of the return value as a whole in addition to  
						
						... 
						
						
						
						only the liveness of partial return values (for functions returning a struct).
This is more explicit to prevent unwanted changes in the return value. 
In particular, deadargelim now canonicalizes a function returning {i32} to
returning i32 and {} to void, if the struct returned is not used in its
entirety, but only the single element is used.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53606  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-07-15 13:36:06 +00:00 
						 
				 
			
				
					
						
							
							
								Matthijs Kooijman 
							
						 
					 
					
						
						
							
						
						2bf5372d8a 
					 
					
						
						
							
							Let DAE keep a list of live functions, instead of simply marking all arguments  
						
						... 
						
						
						
						and return values live for those functions. This doesn't change anything yet,
but prepares for the coming commits.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53601  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-07-15 09:11:16 +00:00 
						 
				 
			
				
					
						
							
							
								Matthijs Kooijman 
							
						 
					 
					
						
						
							
						
						3015652473 
					 
					
						
						
							
							Split DAE::MarkLive into MarkLive and PropagateLiveness.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53600  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-07-15 09:00:17 +00:00 
						 
				 
			
				
					
						
							
							
								Matthijs Kooijman 
							
						 
					 
					
						
						
							
						
						6cdd54b6f7 
					 
					
						
						
							
							Pass around const RetOrArg references instead of copying values. Also, mark  
						
						... 
						
						
						
						RetOrArg::getDescription() as const.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53599  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-07-15 08:56:49 +00:00 
						 
				 
			
				
					
						
							
							
								Matthijs Kooijman 
							
						 
					 
					
						
						
							
						
						03016ca361 
					 
					
						
						
							
							Simplify debug code by using RetOrArg::getDescription().  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53598  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-07-15 08:53:36 +00:00 
						 
				 
			
				
					
						
							
							
								Matthijs Kooijman 
							
						 
					 
					
						
						
							
						
						0d1730a14c 
					 
					
						
						
							
							Fix indentation (intentionally left out of the previous commit).  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53592  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-07-15 08:47:32 +00:00 
						 
				 
			
				
					
						
							
							
								Matthijs Kooijman 
							
						 
					 
					
						
						
							
						
						a3ec5d6ecc 
					 
					
						
						
							
							Move the deadargelim code for intrinsically alive functions into its own  
						
						... 
						
						
						
						method, to slightly simplify control flow.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53591  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-07-15 08:45:12 +00:00 
						 
				 
			
				
					
						
							
							
								Matthijs Kooijman 
							
						 
					 
					
						
						
							
						
						d16918f843 
					 
					
						
						
							
							Restructure dead argument elimination, try  #3  :-)  
						
						... 
						
						
						
						Rewrite the DeadArgumentElimination pass, to use a more explicit tracking of
dependencies between return values and/or arguments. Also make the handling of
arguments and return values the same.
The pass now looks properly inside returned structs, but only at the first
level (ie, not inside nested structs).
This version fixed a few more bugs and was cleaned up a bit. It now passes all
of LLVM's testing, and should still pass SPEC2006. There is still a minor bug
with regard to returning nested structs. Since there is currently nothing that
emits such IR, I will fix that in a seperate commit (partly because it requires
a non-trivial fix).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53400  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-07-10 10:24:08 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						890aaa8710 
					 
					
						
						
							
							Restore DeadArgElim back to 52570. It's breaking 447.dealII.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52736  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-06-25 18:10:09 +00:00 
						 
				 
			
				
					
						
							
							
								Duncan Sands 
							
						 
					 
					
						
						
							
						
						b58d211dbb 
					 
					
						
						
							
							Pacify gcc-4.3.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52723  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-06-25 16:31:18 +00:00 
						 
				 
			
				
					
						
							
							
								Matthijs Kooijman 
							
						 
					 
					
						
						
							
						
						ea9e516e86 
					 
					
						
						
							
							Fix a (false) warning on darwin.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52705  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-06-25 08:12:16 +00:00 
						 
				 
			
				
					
						
							
							
								Matthijs Kooijman 
							
						 
					 
					
						
						
							
						
						177058b4bd 
					 
					
						
						
							
							Fix some cosmetics in comments.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52704  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-06-25 08:10:21 +00:00 
						 
				 
			
				
					
						
							
							
								Matthijs Kooijman 
							
						 
					 
					
						
						
							
						
						1d9a277761 
					 
					
						
						
							
							Commit the new DeadArgElim pass again, this time with the gcc bootstrap failures fixed.  
						
						... 
						
						
						
						Also add a testcase to reproduce the gcc bootstrap failure in very much reduced form.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52677  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-06-24 16:30:26 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						9f99b7c595 
					 
					
						
						
							
							Back out Matthijs' DAE patches. It's miscompiling gcc driver.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52570  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-06-21 00:31:44 +00:00 
						 
				 
			
				
					
						
							
							
								Matthijs Kooijman 
							
						 
					 
					
						
						
							
						
						7e43b3be88 
					 
					
						
						
							
							80 column and trailing whitespace fixes.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52539  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-06-20 15:34:07 +00:00 
						 
				 
			
				
					
						
							
							
								Matthijs Kooijman 
							
						 
					 
					
						
						
							
						
						df0891d2ff 
					 
					
						
						
							
							Don't let DeadArgumentElimination attempt to update callers when the return  
						
						... 
						
						
						
						type wasn't changed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52538  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-06-20 15:25:43 +00:00 
						 
				 
			
				
					
						
							
							
								Matthijs Kooijman 
							
						 
					 
					
						
						
							
						
						03d18569cb 
					 
					
						
						
							
							Don't let DeadArgElimination change the return type ({} into void and {T}  
						
						... 
						
						
						
						into T) when no return values are actually dead.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52537  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-06-20 15:16:45 +00:00 
						 
				 
			
				
					
						
							
							
								Matthijs Kooijman 
							
						 
					 
					
						
						
							
						
						9cb6ec26b3 
					 
					
						
						
							
							Explicitely track if any arguments or return values were removed in  
						
						... 
						
						
						
						DeadArgumentElimination and assert that the function type does not change if
nothing was changed. This should catch subtle changes in function type that are
not intended.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52536  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-06-20 14:28:52 +00:00 
						 
				 
			
				
					
						
							
							
								Matthijs Kooijman 
							
						 
					 
					
						
						
							
						
						1b492b2f8d 
					 
					
						
						
							
							Remove debug output.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52535  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-06-20 14:03:35 +00:00