d01ddb51ee 
								
							 
						 
						
							
							
								
								Factor out the code for mapping LLVM IR condition opcodes to  
							
							... 
							
							
							
							ISD condition opcodes into helper functions.
llvm-svn: 57726 
							
						 
						
							2008-10-17 21:16:08 +00:00  
				
					
						
							
							
								 
						
							
								94169f1021 
								
							 
						 
						
							
							
								
								Fix PR2898. Spiller delete a store for reuse before it knows for sure the reuse happened.  
							
							... 
							
							
							
							Patch by Lang Hames!
llvm-svn: 57720 
							
						 
						
							2008-10-17 20:56:41 +00:00  
				
					
						
							
							
								 
						
							
								aadf7414b2 
								
							 
						 
						
							
							
								
								add support for 128 bit aggregates.  
							
							... 
							
							
							
							llvm-svn: 57715 
							
						 
						
							2008-10-17 19:59:51 +00:00  
				
					
						
							
							
								 
						
							
								fe9e2c587d 
								
							 
						 
						
							
							
								
								The Dwarf writer was comparing mangled and unmangled names for C++ code when we  
							
							... 
							
							
							
							have an unreachable block in a function. This was triggering the assert. This is
a horrid hack to cover this up.
Oh! for a good debug info architecture!
llvm-svn: 57714 
							
						 
						
							2008-10-17 18:48:57 +00:00  
				
					
						
							
							
								 
						
							
								85f48ade9c 
								
							 
						 
						
							
							
								
								Added MemIntrinsicNode which is useful to represent target intrinsics that  
							
							... 
							
							
							
							touches memory and need an associated MemOperand
llvm-svn: 57712 
							
						 
						
							2008-10-17 18:22:58 +00:00  
				
					
						
							
							
								 
						
							
								293abcc91d 
								
							 
						 
						
							
							
								
								Factor out the code for mapping LLVM IR condition opcodes to  
							
							... 
							
							
							
							ISD condition opcodes into helper functions.
llvm-svn: 57710 
							
						 
						
							2008-10-17 18:18:45 +00:00  
				
					
						
							
							
								 
						
							
								052092bf9c 
								
							 
						 
						
							
							
								
								Fix PR2356 on PowerPC: if we have an input and output that are tied together  
							
							... 
							
							
							
							that have different sizes (e.g. i32 and i64) make sure to reserve registers for
the bigger operand.
llvm-svn: 57699 
							
						 
						
							2008-10-17 17:52:49 +00:00  
				
					
						
							
							
								 
						
							
								3b1833c9b4 
								
							 
						 
						
							
							
								
								refactor some code into a helper method, no functionality change.  
							
							... 
							
							
							
							llvm-svn: 57690 
							
						 
						
							2008-10-17 17:05:25 +00:00  
				
					
						
							
							
								 
						
							
								860df6e84c 
								
							 
						 
						
							
							
								
								Keep track of *which* input constraint matches an output  
							
							... 
							
							
							
							constraint.  Reject asms where an output has multiple
input constraints tied to it.
llvm-svn: 57687 
							
						 
						
							2008-10-17 16:47:46 +00:00  
				
					
						
							
							
								 
						
							
								ef8901722e 
								
							 
						 
						
							
							
								
								add an assert so that PR2356 explodes instead of running off an  
							
							... 
							
							
							
							array.  Improve some minor comments, refactor some helpers in
AsmOperandInfo.  No functionality change for valid code.
llvm-svn: 57686 
							
						 
						
							2008-10-17 16:21:11 +00:00  
				
					
						
							
							
								 
						
							
								08acb24225 
								
							 
						 
						
							
							
								
								Fix a very subtle spiller bug: UpdateKills should not forget to track defs of aliases.  
							
							... 
							
							
							
							llvm-svn: 57673 
							
						 
						
							2008-10-17 06:16:07 +00:00  
				
					
						
							
							
								 
						
							
								a39b0a1f05 
								
							 
						 
						
							
							
								
								Define patterns for shld and shrd that match immediate  
							
							... 
							
							
							
							shift counts, and patterns that match dynamic shift counts
when the subtract is obscured by a truncate node.
Add DAGCombiner support for recognizing rotate patterns
when the shift counts are defined by truncate nodes.
Fix and simplify the code for commuting shld and shrd
instructions to work even when the given instruction doesn't
have a parent, and when the caller needs a new instruction.
These changes allow LLVM to use the shld, shrd, rol, and ror
instructions on x86 to replace equivalent code using two
shifts and an or in many more cases.
llvm-svn: 57662 
							
						 
						
							2008-10-17 01:23:35 +00:00  
				
					
						
							
							
								 
						
							
								0b3bcee284 
								
							 
						 
						
							
							
								
								Rename AliasSet to SubRegs, to reflect changes in the surrounding code.  
							
							... 
							
							
							
							llvm-svn: 57618 
							
						 
						
							2008-10-16 01:06:18 +00:00  
				
					
						
							
							
								 
						
							
								6613991eae 
								
							 
						 
						
							
							
								
								Move the include of MachineLocation.h into MachineModuleInfo.h  
							
							... 
							
							
							
							because it declares a std::vector<MachineMove>, and strict
concept checking requires the definition of MachineMove to be
available.
llvm-svn: 57617 
							
						 
						
							2008-10-16 00:20:14 +00:00  
				
					
						
							
							
								 
						
							
								bf293c48db 
								
							 
						 
						
							
							
								
								Fix a subtle bug in DeadMachineInstructionElim's liveness  
							
							... 
							
							
							
							computation. A def of a register doesn't necessarily kill
live super-registers.
llvm-svn: 57614 
							
						 
						
							2008-10-16 00:11:23 +00:00  
				
					
						
							
							
								 
						
							
								4459c4250d 
								
							 
						 
						
							
							
								
								Adjust whitespace in debug messages to be more consistent  
							
							... 
							
							
							
							with other debug messages.
llvm-svn: 57543 
							
						 
						
							2008-10-15 02:57:38 +00:00  
				
					
						
							
							
								 
						
							
								3b0f5e4d61 
								
							 
						 
						
							
							
								
								- Add target lowering hooks that specify which setcc conditions are illegal,  
							
							... 
							
							
							
							i.e. conditions that cannot be checked with a single instruction. For example,
SETONE and SETUEQ on x86.
- Teach legalizer to implement *illegal* setcc as a and / or of a number of
legal setcc nodes. For now, only implement FP conditions. e.g. SETONE is
implemented as SETO & SETNE, SETUEQ is SETUO | SETEQ.
- Move x86 target over.
llvm-svn: 57542 
							
						 
						
							2008-10-15 02:05:31 +00:00  
				
					
						
							
							
								 
						
							
								e7ced74558 
								
							 
						 
						
							
							
								
								FastISel support for exception-handling constructs.  
							
							... 
							
							
							
							- Move the EH landing-pad code and adjust it so that it works
   with FastISel as well as with SDISel.
 - Add FastISel support for @llvm.eh.exception and
   @llvm.eh.selector.
llvm-svn: 57539 
							
						 
						
							2008-10-14 23:54:11 +00:00  
				
					
						
							
							
								 
						
							
								07d53b1d33 
								
							 
						 
						
							
							
								
								Rename LoadX to LoadExt.  
							
							... 
							
							
							
							llvm-svn: 57526 
							
						 
						
							2008-10-14 21:26:46 +00:00  
				
					
						
							
							
								 
						
							
								9c4b7d5c4f 
								
							 
						 
						
							
							
								
								Fix command-line option printing to print two spaces where needed,  
							
							... 
							
							
							
							instead of requiring all "short description" strings to begin with
two spaces. This makes these strings less mysterious, and it fixes
some cases where short description strings mistakenly did not
begin with two spaces.
llvm-svn: 57521 
							
						 
						
							2008-10-14 20:25:08 +00:00  
				
					
						
							
							
								 
						
							
								da9b752883 
								
							 
						 
						
							
							
								
								FIX PR2794. Make sure SIGN_EXTEND_INREG nodes introduced by LegalizeSetCCOperands are leglized. Patch by Richard Pennington.  
							
							... 
							
							
							
							llvm-svn: 57460 
							
						 
						
							2008-10-13 18:46:18 +00:00  
				
					
						
							
							
								 
						
							
								4c499c4fa6 
								
							 
						 
						
							
							
								
								Also update sub-register intervals after a trivial computation is rematt'ed for a copy instruction. PR2775.  
							
							... 
							
							
							
							llvm-svn: 57458 
							
						 
						
							2008-10-13 18:35:52 +00:00  
				
					
						
							
							
								 
						
							
								43686a6665 
								
							 
						 
						
							
							
								
								* Make TargetLowering not crash when TargetMachine::getTargetAsmInfo() returns  
							
							... 
							
							
							
							null. This assumes that any target that does not have AsmInfo, does not
   support "LocAndDot".
llvm-svn: 57438 
							
						 
						
							2008-10-13 12:41:46 +00:00  
				
					
						
							
							
								 
						
							
								c8d7988da8 
								
							 
						 
						
							
							
								
								Make MachineFunction not crash when TargetMachine::getRegisterInfo() returns  
							
							... 
							
							
							
							NULL, but just hide some debug output then.
llvm-svn: 57437 
							
						 
						
							2008-10-13 12:37:16 +00:00  
				
					
						
							
							
								 
						
							
								c52af45304 
								
							 
						 
						
							
							
								
								calls can be supported.  
							
							... 
							
							
							
							llvm-svn: 57428 
							
						 
						
							2008-10-13 01:59:13 +00:00  
				
					
						
							
							
								 
						
							
								fe1f3d6e08 
								
							 
						 
						
							
							
								
								Fix a bug in live-in detection that caused lost-copy problems to show up.  
							
							... 
							
							
							
							llvm-svn: 57424 
							
						 
						
							2008-10-12 20:39:30 +00:00  
				
					
						
							
							
								 
						
							
								c46186e890 
								
							 
						 
						
							
							
								
								fix typo  
							
							... 
							
							
							
							llvm-svn: 57388 
							
						 
						
							2008-10-11 23:59:03 +00:00  
				
					
						
							
							
								 
						
							
								2753955fc0 
								
							 
						 
						
							
							
								
								Change CALLSEQ_BEGIN and CALLSEQ_END to take TargetConstant's as  
							
							... 
							
							
							
							parameters instead of raw Constants.  This prevents the constants from
being selected by the isel pass, fixing PR2735.
llvm-svn: 57385 
							
						 
						
							2008-10-11 22:08:30 +00:00  
				
					
						
							
							
								 
						
							
								fb1f4a1329 
								
							 
						 
						
							
							
								
								simplify comparison  
							
							... 
							
							
							
							llvm-svn: 57371 
							
						 
						
							2008-10-11 00:08:02 +00:00  
				
					
						
							
							
								 
						
							
								4f2791617e 
								
							 
						 
						
							
							
								
								Remove some overzealous checks that were rejecting  
							
							... 
							
							
							
							valid comments in inline assembly.
gcc.target/i386/20011009-1.c
llvm-svn: 57365 
							
						 
						
							2008-10-10 21:04:42 +00:00  
				
					
						
							
							
								 
						
							
								dfcc1ff8f8 
								
							 
						 
						
							
							
								
								Added missing print functions that take a raw_ostream  
							
							... 
							
							
							
							llvm-svn: 57339 
							
						 
						
							2008-10-10 01:43:55 +00:00  
				
					
						
							
							
								 
						
							
								4f0bd68cfe 
								
							 
						 
						
							
							
								
								Add a "loses information" return value to APFloat::convert  
							
							... 
							
							
							
							and APFloat::convertToInteger.  Restore return value to
IEEE754.  Adjust all users accordingly.
llvm-svn: 57329 
							
						 
						
							2008-10-09 23:00:39 +00:00  
				
					
						
							
							
								 
						
							
								54306fe499 
								
							 
						 
						
							
							
								
								Rename APFloat::convertToAPInt to bitcastToAPInt to  
							
							... 
							
							
							
							make it clearer what the function does.  No functional
change.
llvm-svn: 57325 
							
						 
						
							2008-10-09 18:53:47 +00:00  
				
					
						
							
							
								 
						
							
								d796164e89 
								
							 
						 
						
							
							
								
								Align EH tables before label is emitted, not after,  
							
							... 
							
							
							
							thus aligning the label.
llvm-svn: 57310 
							
						 
						
							2008-10-08 21:50:21 +00:00  
				
					
						
							
							
								 
						
							
								bfe12ee668 
								
							 
						 
						
							
							
								
								Fix the case where an instruction is not properly marked as using all registers that alias its inputs.  
							
							... 
							
							
							
							llvm-svn: 57286 
							
						 
						
							2008-10-08 04:30:51 +00:00  
				
					
						
							
							
								 
						
							
								60ad173dfe 
								
							 
						 
						
							
							
								
								Remove -disable-fast-isel. Use cl::boolOrDefault with -fast-isel  
							
							... 
							
							
							
							instead.
So now: -fast-isel or -fast-isel=true enable fast-isel, and
-fast-isel=false disables it. Fast-isel is also on by default
with -fast, and off by default otherwise.
llvm-svn: 57270 
							
						 
						
							2008-10-07 23:00:56 +00:00  
				
					
						
							
							
								 
						
							
								c1d47c56f9 
								
							 
						 
						
							
							
								
								Avoid emitting redundant materializations of integer constants  
							
							... 
							
							
							
							for things like null pointers, which at this level aren't
different from regular integer constants.
llvm-svn: 57265 
							
						 
						
							2008-10-07 22:03:27 +00:00  
				
					
						
							
							
								 
						
							
								1d338fc6a4 
								
							 
						 
						
							
							
								
								Add an option to enable StrongPHIElimination, for ease of testing.  
							
							... 
							
							
							
							llvm-svn: 57259 
							
						 
						
							2008-10-07 20:22:28 +00:00  
				
					
						
							
							
								 
						
							
								21dca9cbb1 
								
							 
						 
						
							
							
								
								Use Dan's supperior check  
							
							... 
							
							
							
							llvm-svn: 57255 
							
						 
						
							2008-10-07 18:27:23 +00:00  
				
					
						
							
							
								 
						
							
								d69bdaef64 
								
							 
						 
						
							
							
								
								No need for |=  
							
							... 
							
							
							
							llvm-svn: 57249 
							
						 
						
							2008-10-07 17:11:29 +00:00  
				
					
						
							
							
								 
						
							
								6d409f08be 
								
							 
						 
						
							
							
								
								Use ADDC if it is valid at any smaller size.  Do it right this time  
							
							... 
							
							
							
							llvm-svn: 57248 
							
						 
						
							2008-10-07 17:09:16 +00:00  
				
					
						
							
							
								 
						
							
								6606f17e50 
								
							 
						 
						
							
							
								
								Use ADDC if it is valid at any smaller size.  fixes test/Codegen/Generic/i128-addsub.ll on x86  
							
							... 
							
							
							
							llvm-svn: 57247 
							
						 
						
							2008-10-07 17:03:15 +00:00  
				
					
						
							
							
								 
						
							
								3a9be150be 
								
							 
						 
						
							
							
								
								Expand arith on machines without carry flags  
							
							... 
							
							
							
							llvm-svn: 57243 
							
						 
						
							2008-10-07 14:15:42 +00:00  
				
					
						
							
							
								 
						
							
								bef9b0bef0 
								
							 
						 
						
							
							
								
								Correctly handle calls with no return values. This fixes  
							
							... 
							
							
							
							2006-01-23-UnionInit on x86-64 when inlining is not enabled.
llvm-svn: 57223 
							
						 
						
							2008-10-07 00:12:37 +00:00  
				
					
						
							
							
								 
						
							
								dfe979bcb0 
								
							 
						 
						
							
							
								
								Don't dereference the end() iterator. Thanks to  
							
							... 
							
							
							
							ENABLE_EXPENSIVE_CHECKS for finding this.
llvm-svn: 57181 
							
						 
						
							2008-10-06 18:00:07 +00:00  
				
					
						
							
							
								 
						
							
								ab379c905b 
								
							 
						 
						
							
							
								
								Remove unncessary isDeclaration() checks.  
							
							... 
							
							
							
							llvm-svn: 57179 
							
						 
						
							2008-10-06 17:30:07 +00:00  
				
					
						
							
							
								 
						
							
								7875876e46 
								
							 
						 
						
							
							
								
								reorder #include order, patch by Kenneth Boyd!  
							
							... 
							
							
							
							llvm-svn: 57148 
							
						 
						
							2008-10-06 03:54:25 +00:00  
				
					
						
							
							
								 
						
							
								0c41861f39 
								
							 
						 
						
							
							
								
								Add #include to get alloca, patch by Kenneth Boyd!  
							
							... 
							
							
							
							llvm-svn: 57147 
							
						 
						
							2008-10-06 03:53:16 +00:00  
				
					
						
							
							
								 
						
							
								2416896b3c 
								
							 
						 
						
							
							
								
								wrap some long lines and expand i32 mul's to libcalls, inspired by a  
							
							... 
							
							
							
							patch by Mikael Lepisto!
llvm-svn: 57077 
							
						 
						
							2008-10-04 21:27:46 +00:00  
				
					
						
							
							
								 
						
							
								b5abd78ab5 
								
							 
						 
						
							
							
								
								CMake: Reflected changes on source file structure. New plugin support  
							
							... 
							
							
							
							for llvmc2 incomplete.
llvm-svn: 57076 
							
						 
						
							2008-10-04 21:18:50 +00:00