Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								15d84c460a 
								
							 
						 
						
							
							
								
								chagne interface to SelectionDAG::getAtomic to take a MachinePointerInfo,  
							
							 
							
							... 
							
							
							
							eliminating some weird "infer a frame address" logic which was dead.
llvm-svn: 114396 
							
						 
						
							2010-09-21 04:53:42 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								b5f4920979 
								
							 
						 
						
							
							
								
								force clients of MachineFunction::getMachineMemOperand to provide a  
							
							 
							
							... 
							
							
							
							MachinePointerInfo, propagating the type out a level of API.  Remove
the old MachineFunction::getMachineMemOperand impl.
llvm-svn: 114393 
							
						 
						
							2010-09-21 04:46:39 +00:00  
						
					 
				
					
						
							
							
								 
								Owen Anderson
							
						 
						
							 
							
							
							
							
								
							
							
								b92b13d8a0 
								
							 
						 
						
							
							
								
								Invert the logic of reachesChainWithoutSideEffects().  What we want to check is that there is  
							
							 
							
							... 
							
							
							
							NO path to the destination containing side effects, not that SOME path contains no side effects.
In  practice, this only manifests with CombinerAA enabled, because otherwise the chain has little
to no branching, so "any" is effectively equivalent to "all".
llvm-svn: 114268 
							
						 
						
							2010-09-18 04:45:14 +00:00  
						
					 
				
					
						
							
							
								 
								Bruno Cardoso Lopes
							
						 
						
							 
							
							
							
							
								
							
							
								d9ef4a1a24 
								
							 
						 
						
							
							
								
								zap unused method. x86 is the only user and already has a more powerfull version  
							
							 
							
							... 
							
							
							
							llvm-svn: 112571 
							
						 
						
							2010-08-31 02:36:20 +00:00  
						
					 
				
					
						
							
							
								 
								Oscar Fuentes
							
						 
						
							 
							
							
							
							
								
							
							
								40b31ad3ee 
								
							 
						 
						
							
							
								
								Prefix `next' iterator operation with `llvm::'.  
							
							 
							
							... 
							
							
							
							Fixes potential ambiguity problems on VS 2010.
Patch by nobled!
llvm-svn: 110029 
							
						 
						
							2010-08-02 06:00:15 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								2e00e3b12d 
								
							 
						 
						
							
							
								
								Make SDNode::dump() print a newline at the end.  
							
							 
							
							... 
							
							
							
							llvm-svn: 109234 
							
						 
						
							2010-07-23 16:37:47 +00:00  
						
					 
				
					
						
							
							
								 
								Gabor Greif
							
						 
						
							 
							
							
							
							
								
							
							
								59f9970ba5 
								
							 
						 
						
							
							
								
								keep in 80 cols  
							
							 
							
							... 
							
							
							
							llvm-svn: 109122 
							
						 
						
							2010-07-22 17:18:03 +00:00  
						
					 
				
					
						
							
							
								 
								Evan Cheng
							
						 
						
							 
							
							
							
							
								
							
							
								55f0c6b9fc 
								
							 
						 
						
							
							
								
								Split -enable-finite-only-fp-math to two options:  
							
							 
							
							... 
							
							
							
							-enable-no-nans-fp-math and -enable-no-infs-fp-math. All of the current codegen fp math optimizations only care whether the fp arithmetics arguments and results can never be NaN.
llvm-svn: 108465 
							
						 
						
							2010-07-15 22:07:12 +00:00  
						
					 
				
					
						
							
							
								 
								Evan Cheng
							
						 
						
							 
							
							
							
							
								
							
							
								1c349f18f8 
								
							 
						 
						
							
							
								
								Move getExtLoad() and (some) getLoad() DebugLoc argument after EVT argument for consistency sake.  
							
							 
							
							... 
							
							
							
							llvm-svn: 107820 
							
						 
						
							2010-07-07 22:15:37 +00:00  
						
					 
				
					
						
							
							
								 
								Devang Patel
							
						 
						
							 
							
							
							
							
								
							
							
								a3ca21b228 
								
							 
						 
						
							
							
								
								Propagate debug loc.  
							
							 
							
							... 
							
							
							
							llvm-svn: 107710 
							
						 
						
							2010-07-06 22:08:15 +00:00  
						
					 
				
					
						
							
							
								 
								Evan Cheng
							
						 
						
							 
							
							
							
							
								
							
							
								f3aeb2c22c 
								
							 
						 
						
							
							
								
								Infer alignments of fixed frame objects when they are constructed. This ensures remat'ed loads from fixed slots have the right alignments.  
							
							 
							
							... 
							
							
							
							llvm-svn: 107591 
							
						 
						
							2010-07-04 18:52:05 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								2041abd958 
								
							 
						 
						
							
							
								
								When splitting a VAARG, remember its alignment.  
							
							 
							
							... 
							
							
							
							This produces terrible but correct code.
llvm-svn: 106952 
							
						 
						
							2010-06-26 18:22:20 +00:00  
						
					 
				
					
						
							
							
								 
								Duncan Sands
							
						 
						
							 
							
							
							
							
								
							
							
								2dc70bea54 
								
							 
						 
						
							
							
								
								Remove variables which are assigned to but for which the value  
							
							 
							
							... 
							
							
							
							is not used.  Spotted by gcc-4.6.
llvm-svn: 106854 
							
						 
						
							2010-06-25 14:48:39 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								463f26b4be 
								
							 
						 
						
							
							
								
								Eliminate the other half of the BRCOND optimization, and update  
							
							 
							
							... 
							
							
							
							as many tests as possible.
llvm-svn: 106749 
							
						 
						
							2010-06-24 15:24:03 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								df6b33e778 
								
							 
						 
						
							
							
								
								Eliminate the first have of the optimization which eliminates BRCOND  
							
							 
							
							... 
							
							
							
							when the condition is constant. This optimization shouldn't be
necessary, because codegen shouldn't be able to find dead control
paths that the IR-level optimizer can't find. And it's undesirable,
because it encourages bugpoint to leave "br i1 false" branches
in its output. And it wasn't updating the CFG.
I updated all the tests I could, but some tests are too reduced
and I wasn't able to meaningfully preserve them.
llvm-svn: 106748 
							
						 
						
							2010-06-24 15:04:11 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								600f62b3ba 
								
							 
						 
						
							
							
								
								Reapply r106634, now that the bug it exposed is fixed.  
							
							 
							
							... 
							
							
							
							llvm-svn: 106746 
							
						 
						
							2010-06-24 14:30:44 +00:00  
						
					 
				
					
						
							
							
								 
								Daniel Dunbar
							
						 
						
							 
							
							
							
							
								
							
							
								4df321b7ad 
								
							 
						 
						
							
							
								
								Revert r106263, "Fold the ShrinkDemandedOps pass into the regular DAGCombiner pass,"... it was causing both 'file' (with clang) and 176.gcc (with llvm-gcc) to be miscompiled.  
							
							 
							
							... 
							
							
							
							llvm-svn: 106634 
							
						 
						
							2010-06-23 17:09:26 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								dd41bba517 
								
							 
						 
						
							
							
								
								Use A.append(...) instead of A.insert(A.end(), ...) when A is a  
							
							 
							
							... 
							
							
							
							SmallVector, and other SmallVector simplifications.
llvm-svn: 106452 
							
						 
						
							2010-06-21 19:47:52 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								96ca25eba5 
								
							 
						 
						
							
							
								
								Don't replace the old Ordering object with a new one; just clear()  
							
							 
							
							... 
							
							
							
							the old one.
llvm-svn: 106284 
							
						 
						
							2010-06-18 15:40:58 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								a4f46b3ef8 
								
							 
						 
						
							
							
								
								Don't call clear() on DbgInfo when it's going to be deleted anyway.  
							
							 
							
							... 
							
							
							
							Don't replace the old DbgInfo with a new one when clear() on the
old one is sufficient.
llvm-svn: 106283 
							
						 
						
							2010-06-18 15:36:18 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								92c11acdb8 
								
							 
						 
						
							
							
								
								Change UpdateNodeOperands' operand and return value from SDValue to  
							
							 
							
							... 
							
							
							
							SDNode *, since it doesn't care about the ResNo value.
llvm-svn: 106282 
							
						 
						
							2010-06-18 15:30:29 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								b92156d5e4 
								
							 
						 
						
							
							
								
								Fold the ShrinkDemandedOps pass into the regular DAGCombiner pass,  
							
							 
							
							... 
							
							
							
							which is faster, simpler, and less surprising.
llvm-svn: 106263 
							
						 
						
							2010-06-18 01:05:21 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								0883789ec4 
								
							 
						 
						
							
							
								
								Handle ext(ext(x)) -> ext(x) immediately, since it's simple.  
							
							 
							
							... 
							
							
							
							llvm-svn: 106256 
							
						 
						
							2010-06-18 00:08:30 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								b782caa393 
								
							 
						 
						
							
							
								
								Fill in missing support for ISD::FEXP, ISD::FPOWI, and friends.  
							
							 
							
							... 
							
							
							
							llvm-svn: 105283 
							
						 
						
							2010-06-01 18:35:14 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								14c46517b5 
								
							 
						 
						
							
							
								
								fix PR6623: when optimizing for size, don't inline memcpy/memsets  
							
							 
							
							... 
							
							
							
							that are too large.  This causes the freebsd bootloader to be too
large apparently.
It's unclear if this should be an -Os or -Oz thing.  Thoughts welcome.
llvm-svn: 105228 
							
						 
						
							2010-05-31 17:30:14 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								b4a773b452 
								
							 
						 
						
							
							
								
								the 'limit' argument to FindOptimalMemOpLowering is unsigned, not uint64_t.  
							
							 
							
							... 
							
							
							
							llvm-svn: 105226 
							
						 
						
							2010-05-31 17:12:23 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								d16aa541af 
								
							 
						 
						
							
							
								
								SelectionDAG shouldn't have a FunctionLoweringInfo member. RegsForValue  
							
							 
							
							... 
							
							
							
							shouldn't have a TargetLoweringInfo member. And FunctionLoweringInfo::set
doesn't needs its EnableFastISel argument.
llvm-svn: 105101 
							
						 
						
							2010-05-29 17:03:36 +00:00  
						
					 
				
					
						
							
							
								 
								Jim Grosbach
							
						 
						
							 
							
							
							
							
								
							
							
								c98892fdaa 
								
							 
						 
						
							
							
								
								Adjust eh.sjlj.setjmp to properly have a chain and to have an opcode entry in  
							
							 
							
							... 
							
							
							
							ISD::. No functional change.
llvm-svn: 104734 
							
						 
						
							2010-05-26 20:22:18 +00:00  
						
					 
				
					
						
							
							
								 
								Dale Johannesen
							
						 
						
							 
							
							
							
							
								
							
							
								bb4656c05e 
								
							 
						 
						
							
							
								
								Improve assertion messages.  
							
							 
							
							... 
							
							
							
							llvm-svn: 103882 
							
						 
						
							2010-05-15 18:38:02 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								bb919dfb6b 
								
							 
						 
						
							
							
								
								Implement a bunch more TargetSelectionDAGInfo infrastructure.  
							
							 
							
							... 
							
							
							
							Move EmitTargetCodeForMemcpy, EmitTargetCodeForMemset, and
EmitTargetCodeForMemmove out of TargetLowering and into
SelectionDAGInfo to exercise this.
llvm-svn: 103481 
							
						 
						
							2010-05-11 17:31:57 +00:00  
						
					 
				
					
						
							
							
								 
								Duncan Sands
							
						 
						
							 
							
							
							
							
								
							
							
								e4d6670f6b 
								
							 
						 
						
							
							
								
								Add an assertion to catch attempts to access off the end of the array.  
							
							 
							
							... 
							
							
							
							Based on a patch by Javier Martinez.
llvm-svn: 103391 
							
						 
						
							2010-05-10 04:54:28 +00:00  
						
					 
				
					
						
							
							
								 
								Dale Johannesen
							
						 
						
							 
							
							
							
							
								
							
							
								51c1695a0a 
								
							 
						 
						
							
							
								
								Fix PR 7087, and probably other things, by extending  
							
							 
							
							... 
							
							
							
							getConstantFP to accept the two supported long double
target types.  This was not the original intent, but
there are other places that assume this works and it's
easy enough to do.
llvm-svn: 103299 
							
						 
						
							2010-05-07 21:35:53 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								e7dff14d5d 
								
							 
						 
						
							
							
								
								Print debug information for SDNodes.  
							
							 
							
							... 
							
							
							
							llvm-svn: 103227 
							
						 
						
							2010-05-07 01:09:21 +00:00  
						
					 
				
					
						
							
							
								 
								Bill Wendling
							
						 
						
							 
							
							
							
							
								
							
							
								de4b225093 
								
							 
						 
						
							
							
								
								EXTRACT_VECTOR_ELT of an INSERT_VECTOR_ELT may have the same index, but the  
							
							 
							
							... 
							
							
							
							indexes could be of a different value type. Or not even using the same SDNode
for the constant (weird, I know). Compare the actual values instead of the
pointers.
llvm-svn: 102791 
							
						 
						
							2010-04-30 22:19:17 +00:00  
						
					 
				
					
						
							
							
								 
								Dale Johannesen
							
						 
						
							 
							
							
							
							
								
							
							
								e098352ed1 
								
							 
						 
						
							
							
								
								Add DBG_VALUE handling for byval parameters; this  
							
							 
							
							... 
							
							
							
							produces a comment on targets that support it, but
the Dwarf writer is not hooked up yet.
llvm-svn: 102372 
							
						 
						
							2010-04-26 20:06:49 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								ad33d33719 
								
							 
						 
						
							
							
								
								Add another variant of this test which found a place where  
							
							 
							
							... 
							
							
							
							CodeGen's ComputeMaskedBits was being over-conservative when computing
bits for an ADD.
llvm-svn: 101963 
							
						 
						
							2010-04-21 00:19:28 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								1e95790fd4 
								
							 
						 
						
							
							
								
								Give SelectionDAG a TargetMachine too, rather than having it  
							
							 
							
							... 
							
							
							
							fetch one from the MachineFunction.
llvm-svn: 101807 
							
						 
						
							2010-04-19 19:22:07 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								8422e57baa 
								
							 
						 
						
							
							
								
								Delete now-unnecessary const_casts.  
							
							 
							
							... 
							
							
							
							llvm-svn: 101637 
							
						 
						
							2010-04-17 15:32:28 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								21cea8ac2e 
								
							 
						 
						
							
							
								
								Use const qualifiers with TargetLowering. This eliminates several  
							
							 
							
							... 
							
							
							
							const_casts, and it reinforces the design of the Target classes being
immutable.
SelectionDAGISel::IsLegalToFold is now a static member function, because
PIC16 uses it in an unconventional way. There is more room for API
cleanup here.
And PIC16's AsmPrinter no longer uses TargetLowering.
llvm-svn: 101635 
							
						 
						
							2010-04-17 15:26:15 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								4d273f4519 
								
							 
						 
						
							
							
								
								Commit this, which should have accompanied 101531.  
							
							 
							
							... 
							
							
							
							llvm-svn: 101532 
							
						 
						
							2010-04-16 20:22:43 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								bcaf681cde 
								
							 
						 
						
							
							
								
								Add const qualifiers to CodeGen's use of LLVM IR constructs.  
							
							 
							
							... 
							
							
							
							llvm-svn: 101334 
							
						 
						
							2010-04-15 01:51:59 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								ecd40a34e2 
								
							 
						 
						
							
							
								
								Remove unnecessary parens.  
							
							 
							
							... 
							
							
							
							llvm-svn: 101010 
							
						 
						
							2010-04-12 02:24:01 +00:00  
						
					 
				
					
						
							
							
								 
								Evan Cheng
							
						 
						
							 
							
							
							
							
								
							
							
								ebe47c872f 
								
							 
						 
						
							
							
								
								Avoid using f64 to lower memcpy from constant string. It's cheaper to use i32 store of immediates.  
							
							 
							
							... 
							
							
							
							llvm-svn: 100751 
							
						 
						
							2010-04-08 07:37:57 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								3b9f02a2aa 
								
							 
						 
						
							
							
								
								Three changes:  
							
							 
							
							... 
							
							
							
							1. Introduce some enums and accessors in the InlineAsm class
   that eliminate a ton of magic numbers when handling inline
   asm SDNode.
2. Add a new MDNodeSDNode selection dag node type that holds
   a MDNode (shocking!)
3. Add a new argument to ISD::INLINEASM nodes that hold !srcloc
   metadata, propagating it to the instruction emitter, which
   drops it.
No functionality change.
llvm-svn: 100605 
							
						 
						
							2010-04-07 05:20:54 +00:00  
						
					 
				
					
						
							
							
								 
								Mon P Wang
							
						 
						
							 
							
							
							
							
								
							
							
								bf86224d5e 
								
							 
						 
						
							
							
								
								Remove assert to treat memmove and memset like memcpy  
							
							 
							
							... 
							
							
							
							llvm-svn: 100521 
							
						 
						
							2010-04-06 08:27:51 +00:00  
						
					 
				
					
						
							
							
								 
								Evan Cheng
							
						 
						
							 
							
							
							
							
								
							
							
								272a2f8432 
								
							 
						 
						
							
							
								
								Fix an obvious copy-n-paste bug. It's not known to cause any miscompilation.  
							
							 
							
							... 
							
							
							
							llvm-svn: 100494 
							
						 
						
							2010-04-05 23:33:29 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								f38547c83f 
								
							 
						 
						
							
							
								
								Add a comment.  
							
							 
							
							... 
							
							
							
							llvm-svn: 100459 
							
						 
						
							2010-04-05 20:24:08 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								bc217873e3 
								
							 
						 
						
							
							
								
								lowering a volatile llvm.memcpy to a libc memcpy is ok.  
							
							 
							
							... 
							
							
							
							PR6779
llvm-svn: 100457 
							
						 
						
							2010-04-05 20:11:45 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								fb964e57e5 
								
							 
						 
						
							
							
								
								remove the now-redundant MMI pointer in SelectionDAG.  
							
							 
							
							... 
							
							
							
							llvm-svn: 100419 
							
						 
						
							2010-04-05 06:19:28 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								6361414c88 
								
							 
						 
						
							
							
								
								remove some redundant MMI arguments.  
							
							 
							
							... 
							
							
							
							llvm-svn: 100417 
							
						 
						
							2010-04-05 06:10:13 +00:00