f8a5e5ae6e 
								
							 
						 
						
							
							
								
								Fix VC++ warnings.  
							
							... 
							
							
							
							llvm-svn: 23579 
							
						 
						
							2005-10-01 03:57:14 +00:00  
				
					
						
							
							
								 
						
							
								6f3b577ee6 
								
							 
						 
						
							
							
								
								Add FP versions of the binary operators, keeping the int and fp worlds seperate.  
							
							... 
							
							
							
							Though I have done extensive testing, it is possible that this will break
things in configs I can't test.  Please let me know if this causes a problem
and I'll fix it ASAP.
llvm-svn: 23504 
							
						 
						
							2005-09-28 22:28:18 +00:00  
				
					
						
							
							
								 
						
							
								0fd8f9fbc9 
								
							 
						 
						
							
							
								
								If the target prefers it, use _setjmp/_longjmp should be used instead of setjmp/longjmp for llvm.setjmp/llvm.longjmp.  
							
							... 
							
							
							
							llvm-svn: 23481 
							
						 
						
							2005-09-27 22:15:53 +00:00  
				
					
						
							
							
								 
						
							
								d4382f0afa 
								
							 
						 
						
							
							
								
								If a function has liveins, and if the target requested that they be plopped  
							
							... 
							
							
							
							into particular vregs, emit copies into the entry MBB.
llvm-svn: 23331 
							
						 
						
							2005-09-13 19:30:54 +00:00  
				
					
						
							
							
								 
						
							
								007c650699 
								
							 
						 
						
							
							
								
								Add an option to the DAG Combiner to enable it for beta runs, and turn on  
							
							... 
							
							
							
							that option for PowerPC's beta.
llvm-svn: 23253 
							
						 
						
							2005-09-07 00:15:36 +00:00  
				
					
						
							
							
								 
						
							
								b0b4ec5655 
								
							 
						 
						
							
							
								
								Don't create zero sized stack objects even for array allocas with a zero  
							
							... 
							
							
							
							number of elements.
llvm-svn: 23219 
							
						 
						
							2005-09-02 18:41:28 +00:00  
				
					
						
							
							
								 
						
							
								b6cde17d29 
								
							 
						 
						
							
							
								
								Fix the release build, noticed by Eric van Riet Paap  
							
							... 
							
							
							
							llvm-svn: 23215 
							
						 
						
							2005-09-02 07:09:28 +00:00  
				
					
						
							
							
								 
						
							
								a66403dbf7 
								
							 
						 
						
							
							
								
								For values that are live across basic blocks and need promotion, use ANY_EXTEND  
							
							... 
							
							
							
							instead of ZERO_EXTEND to eliminate extraneous extensions.  This eliminates
dead zero extensions on formal arguments and other cases on PPC, implementing
the newly tightened up test/Regression/CodeGen/PowerPC/small-arguments.ll test.
llvm-svn: 23205 
							
						 
						
							2005-09-02 00:19:37 +00:00  
				
					
						
							
							
								 
						
							
								975f5c9f46 
								
							 
						 
						
							
							
								
								It is NDEBUG not _NDEBUG  
							
							... 
							
							
							
							llvm-svn: 23186 
							
						 
						
							2005-09-01 18:44:10 +00:00  
				
					
						
							
							
								 
						
							
								075250bda1 
								
							 
						 
						
							
							
								
								Disable this code, which broke many tests last night  
							
							... 
							
							
							
							llvm-svn: 23114 
							
						 
						
							2005-08-27 16:16:51 +00:00  
				
					
						
							
							
								 
						
							
								e7a2998064 
								
							 
						 
						
							
							
								
								Don't copy regs that are only used in the entry block into a vreg.  This  
							
							... 
							
							
							
							changes the code generated for:
short %test(short %A) {
  %B = xor short %A, -32768
  ret short %B
}
to:
_test:
        xori r2, r3, 32768
        xoris r2, r2, 65535
        extsh r3, r2
        blr
instead of:
_test:
        rlwinm r2, r3, 0, 16, 31
        xori r2, r3, 32768
        xoris r2, r2, 65535
        extsh r3, r2
        blr
llvm-svn: 23109 
							
						 
						
							2005-08-26 22:49:59 +00:00  
				
					
						
							
							
								 
						
							
								13d7c252e5 
								
							 
						 
						
							
							
								
								Call the InsertAtEndOfBasicBlock hook if the usesCustomDAGSchedInserter  
							
							... 
							
							
							
							flag is set on an instruction.
llvm-svn: 23098 
							
						 
						
							2005-08-26 20:54:47 +00:00  
				
					
						
							
							
								 
						
							
								99282c7b92 
								
							 
						 
						
							
							
								
								Make -view-isel-dags show the dag before instruction selecting, in case  
							
							... 
							
							
							
							the target isel crashes due to unimplemented features like calls :)
llvm-svn: 22997 
							
						 
						
							2005-08-24 00:34:29 +00:00  
				
					
						
							
							
								 
						
							
								7f9e078d11 
								
							 
						 
						
							
							
								
								Fix a problem where constant expr shifts would not have their shift amount  
							
							... 
							
							
							
							promoted to the right type.  This fixes: IA64/2005-08-22-LegalizerCrash.ll
llvm-svn: 22969 
							
						 
						
							2005-08-22 17:28:31 +00:00  
				
					
						
							
							
								 
						
							
								1a908c8920 
								
							 
						 
						
							
							
								
								Enable critical edge splitting by default  
							
							... 
							
							
							
							llvm-svn: 22863 
							
						 
						
							2005-08-18 17:35:14 +00:00  
				
					
						
							
							
								 
						
							
								c9950c11a9 
								
							 
						 
						
							
							
								
								Add a new beta option for critical edge splitting, to avoid a problem that  
							
							... 
							
							
							
							Nate noticed in yacr2 (and I know occurs in other places as well).
This is still rough, as the critical edge blocks are not intelligently placed
but is added to get some idea to see if this improves performance.
llvm-svn: 22825 
							
						 
						
							2005-08-17 06:37:43 +00:00  
				
					
						
							
							
								 
						
							
								ba28c2733f 
								
							 
						 
						
							
							
								
								Fix a regression on X86, where FP values can be promoted too.  
							
							... 
							
							
							
							llvm-svn: 22822 
							
						 
						
							2005-08-17 06:06:25 +00:00  
				
					
						
							
							
								 
						
							
								33182325f5 
								
							 
						 
						
							
							
								
								Eliminate the RegSDNode class, which 3 nodes (CopyFromReg/CopyToReg/ImplicitDef)  
							
							... 
							
							
							
							used to tack a register number onto the node.
Instead of doing this, make a new node, RegisterSDNode, which is a leaf
containing a register number.  These three operations just become normal
DAG nodes now, instead of requiring special handling.
Note that with this change, it is no longer correct to make illegal
CopyFromReg/CopyToReg nodes.  The legalizer will not touch them, and this
is bad, so don't do it. :)
llvm-svn: 22806 
							
						 
						
							2005-08-16 21:55:35 +00:00  
				
					
						
							
							
								 
						
							
								d47675ed24 
								
							 
						 
						
							
							
								
								Eliminate the SetCCSDNode in favor of a CondCodeSDNode class.  This pulls the  
							
							... 
							
							
							
							CC out of the SetCC operation, making SETCC a standard ternary operation and
CC's a standard DAG leaf.  This will make it possible for other node to use
CC's as operands in the future...
llvm-svn: 22728 
							
						 
						
							2005-08-09 20:20:18 +00:00  
				
					
						
							
							
								 
						
							
								5f4ef3c5a8 
								
							 
						 
						
							
							
								
								Eliminate all remaining tabs and trailing spaces.  
							
							... 
							
							
							
							llvm-svn: 22523 
							
						 
						
							2005-07-27 06:12:32 +00:00  
				
					
						
							
							
								 
						
							
								1ac40a1245 
								
							 
						 
						
							
							
								
								Remove unnecessary FP_EXTEND. This causes worse codegen for SSE.  
							
							... 
							
							
							
							llvm-svn: 22469 
							
						 
						
							2005-07-19 16:50:03 +00:00  
				
					
						
							
							
								 
						
							
								f5473e44a9 
								
							 
						 
						
							
							
								
								Make several cleanups to Andrews varargs change:  
							
							... 
							
							
							
							1. Pass Value*'s into lowering methods so that the proper pointers can be
   added to load/stores from the valist
2. Intrinsics that return void should only return a token chain, not a token
   chain/retval pair.
3. Rename LowerVAArgNext -> LowerVAArg, because VANext is long gone.
llvm-svn: 22338 
							
						 
						
							2005-07-05 19:57:53 +00:00  
				
					
						
							
							
								 
						
							
								2edc1881ac 
								
							 
						 
						
							
							
								
								restore old srcValueNode behavior and try to to work around it  
							
							... 
							
							
							
							llvm-svn: 22315 
							
						 
						
							2005-06-29 18:54:02 +00:00  
				
					
						
							
							
								 
						
							
								8192568fbc 
								
							 
						 
						
							
							
								
								tracking the instructions causing loads and stores provides more information than just the pointer being loaded or stored  
							
							... 
							
							
							
							llvm-svn: 22311 
							
						 
						
							2005-06-29 15:57:19 +00:00  
				
					
						
							
							
								 
						
							
								253145299b 
								
							 
						 
						
							
							
								
								If we support structs as va_list, we must pass pointers to them to va_copy  
							
							... 
							
							
							
							See last commit for LangRef, this implements it on all targets.
llvm-svn: 22273 
							
						 
						
							2005-06-22 21:04:42 +00:00  
				
					
						
							
							
								 
						
							
								9144ec4764 
								
							 
						 
						
							
							
								
								core changes for varargs  
							
							... 
							
							
							
							llvm-svn: 22254 
							
						 
						
							2005-06-18 18:34:52 +00:00  
				
					
						
							
							
								 
						
							
								e4f71d036f 
								
							 
						 
						
							
							
								
								Fix construction of ioport intrinsics, fixing X86/io.llx and io-port.llx  
							
							... 
							
							
							
							llvm-svn: 22026 
							
						 
						
							2005-05-14 13:56:55 +00:00  
				
					
						
							
							
								 
						
							
								96c262e24b 
								
							 
						 
						
							
							
								
								Eliminate special purpose hacks for dynamic_stack_alloc.  
							
							... 
							
							
							
							llvm-svn: 22015 
							
						 
						
							2005-05-14 07:29:57 +00:00  
				
					
						
							
							
								 
						
							
								29dcc71d83 
								
							 
						 
						
							
							
								
								LowerOperation takes a dag  
							
							... 
							
							
							
							llvm-svn: 22004 
							
						 
						
							2005-05-14 05:50:48 +00:00  
				
					
						
							
							
								 
						
							
								cbefe72fb2 
								
							 
						 
						
							
							
								
								Align doubles on 8-byte boundaries if possible.  
							
							... 
							
							
							
							llvm-svn: 21993 
							
						 
						
							2005-05-13 23:14:17 +00:00  
				
					
						
							
							
								 
						
							
								2e77db6af6 
								
							 
						 
						
							
							
								
								Add an isTailCall flag to LowerCallTo  
							
							... 
							
							
							
							llvm-svn: 21958 
							
						 
						
							2005-05-13 18:50:42 +00:00  
				
					
						
							
							
								 
						
							
								d0b0ecca3f 
								
							 
						 
						
							
							
								
								Emit function entry code after lowering hte arguments.  
							
							... 
							
							
							
							llvm-svn: 21931 
							
						 
						
							2005-05-13 07:33:32 +00:00  
				
					
						
							
							
								 
						
							
								0220b2952f 
								
							 
						 
						
							
							
								
								Allow targets to emit code into the entry block of each function  
							
							... 
							
							
							
							llvm-svn: 21930 
							
						 
						
							2005-05-13 07:23:21 +00:00  
				
					
						
							
							
								 
						
							
								111778e665 
								
							 
						 
						
							
							
								
								Pass calling convention to use into lower call to  
							
							... 
							
							
							
							llvm-svn: 21900 
							
						 
						
							2005-05-12 19:56:57 +00:00  
				
					
						
							
							
								 
						
							
								490769c5b6 
								
							 
						 
						
							
							
								
								wrap long line  
							
							... 
							
							
							
							llvm-svn: 21870 
							
						 
						
							2005-05-11 18:57:06 +00:00  
				
					
						
							
							
								 
						
							
								2d8b55c476 
								
							 
						 
						
							
							
								
								The semantics of cast X to bool are a comparison against zero, not a truncation!  
							
							... 
							
							
							
							llvm-svn: 21833 
							
						 
						
							2005-05-09 22:17:13 +00:00  
				
					
						
							
							
								 
						
							
								20eaeae966 
								
							 
						 
						
							
							
								
								Add support for matching the READPORT, WRITEPORT, READIO, WRITEIO intrinsics  
							
							... 
							
							
							
							llvm-svn: 21825 
							
						 
						
							2005-05-09 20:22:36 +00:00  
				
					
						
							
							
								 
						
							
								57d294f2ac 
								
							 
						 
						
							
							
								
								Don't use the load/store instruction as the source pointer, use the pointer  
							
							... 
							
							
							
							being stored/loaded through!
llvm-svn: 21806 
							
						 
						
							2005-05-09 04:28:51 +00:00  
				
					
						
							
							
								 
						
							
								f5675a0813 
								
							 
						 
						
							
							
								
								wrap long lines  
							
							... 
							
							
							
							llvm-svn: 21804 
							
						 
						
							2005-05-09 04:08:33 +00:00  
				
					
						
							
							
								 
						
							
								7876156ba0 
								
							 
						 
						
							
							
								
								When hitting an unsupported intrinsic, actually print it  
							
							... 
							
							
							
							Lower debug info to noops.
llvm-svn: 21698 
							
						 
						
							2005-05-05 17:55:17 +00:00  
				
					
						
							
							
								 
						
							
								5e177826fd 
								
							 
						 
						
							
							
								
								Implement count leading zeros (ctlz), count trailing zeros (cttz), and count  
							
							... 
							
							
							
							population (ctpop).  Generic lowering is implemented, however only promotion
is implemented for SelectionDAG at the moment.
More coming soon.
llvm-svn: 21676 
							
						 
						
							2005-05-03 17:19:30 +00:00  
				
					
						
							
							
								 
						
							
								8002640eab 
								
							 
						 
						
							
							
								
								Codegen and legalize sin/cos/llvm.sqrt as FSIN/FCOS/FSQRT calls.  This patch  
							
							... 
							
							
							
							was contributed by Morten Ofstad, with some minor tweaks and bug fixes added
by me.
llvm-svn: 21636 
							
						 
						
							2005-04-30 04:43:14 +00:00  
				
					
						
							
							
								 
						
							
								4a73c2cfdc 
								
							 
						 
						
							
							
								
								Implement Value* tracking for loads and stores in the selection DAG.  This enables one to use alias analysis in the backends.  
							
							... 
							
							
							
							(TRUNK)Stores and (EXT|ZEXT|SEXT)Loads have an extra SDOperand which is a SrcValueSDNode which contains the Value*.  Note that if the operation is introduced by the backend, it will still have the operand, but the value* will be null.
llvm-svn: 21599 
							
						 
						
							2005-04-27 20:10:01 +00:00  
				
					
						
							
							
								 
						
							
								774511633d 
								
							 
						 
						
							
							
								
								Convert tabs to spaces  
							
							... 
							
							
							
							llvm-svn: 21439 
							
						 
						
							2005-04-22 04:01:18 +00:00  
				
					
						
							
							
								 
						
							
								835702a094 
								
							 
						 
						
							
							
								
								Remove trailing whitespace  
							
							... 
							
							
							
							llvm-svn: 21420 
							
						 
						
							2005-04-21 22:36:52 +00:00  
				
					
						
							
							
								 
						
							
								af1c0f7a00 
								
							 
						 
						
							
							
								
								Fold shift by size larger than type size to undef  
							
							... 
							
							
							
							Make llvm undef values generate ISD::UNDEF nodes
llvm-svn: 21261 
							
						 
						
							2005-04-12 23:12:17 +00:00  
				
					
						
							
							
								 
						
							
								8a98c7f337 
								
							 
						 
						
							
							
								
								Emit BRCONDTWOWAY when possible.  
							
							... 
							
							
							
							llvm-svn: 21167 
							
						 
						
							2005-04-09 03:30:29 +00:00  
				
					
						
							
							
								 
						
							
								0c14000760 
								
							 
						 
						
							
							
								
								transform fabs/fabsf calls into FABS nodes.  
							
							... 
							
							
							
							llvm-svn: 21014 
							
						 
						
							2005-04-02 05:26:53 +00:00  
				
					
						
							
							
								 
						
							
								f68fd0b533 
								
							 
						 
						
							
							
								
								Turn -0.0 - X -> fneg  
							
							... 
							
							
							
							llvm-svn: 21011 
							
						 
						
							2005-04-02 05:04:50 +00:00  
				
					
						
							
							
								 
						
							
								dec53920b4 
								
							 
						 
						
							
							
								
								PCMarker support for DAG and Alpha  
							
							... 
							
							
							
							llvm-svn: 20965 
							
						 
						
							2005-03-31 21:24:06 +00:00  
				
					
						
							
							
								 
						
							
								5ca31d9831 
								
							 
						 
						
							
							
								
								Instead of setting up the CFG edges at selectiondag construction time, set  
							
							... 
							
							
							
							them up after the code has been emitted.  This allows targets to select one
mbb as multiple mbb's as needed.
llvm-svn: 20937 
							
						 
						
							2005-03-30 01:10:47 +00:00  
				
					
						
							
							
								 
						
							
								db45f7d763 
								
							 
						 
						
							
							
								
								Fix a bug that andrew noticed where we do not correctly sign/zero extend  
							
							... 
							
							
							
							returned integer values all of the way to 64-bits (we only did it to 32-bits
leaving the top bits undefined).  This causes problems for targets like alpha
whose ABI's define the top bits too.
llvm-svn: 20926 
							
						 
						
							2005-03-29 19:09:56 +00:00  
				
					
						
							
							
								 
						
							
								f656525cb6 
								
							 
						 
						
							
							
								
								Change interface to LowerCallTo to take a boolean isVarArg argument.  
							
							... 
							
							
							
							llvm-svn: 20842 
							
						 
						
							2005-03-26 01:29:23 +00:00  
				
					
						
							
							
								 
						
							
								531f9e92d4 
								
							 
						 
						
							
							
								
								This mega patch converts us from using Function::a{iterator|begin|end} to  
							
							... 
							
							
							
							using Function::arg_{iterator|begin|end}.  Likewise Module::g* -> Module::global_*.
This patch is contributed by Gabor Greif, thanks!
llvm-svn: 20597 
							
						 
						
							2005-03-15 04:54:21 +00:00  
				
					
						
							
							
								 
						
							
								73e929f89d 
								
							 
						 
						
							
							
								
								Fix compilation errors with VS 2005, patch by Aaron Gray.  
							
							... 
							
							
							
							llvm-svn: 20231 
							
						 
						
							2005-02-17 21:39:27 +00:00  
				
					
						
							
							
								 
						
							
								0c56a548ed 
								
							 
						 
						
							
							
								
								Don't sink argument loads into loops or other bad places.  This disables folding of argument loads with instructions that are not in the entry block.  
							
							... 
							
							
							
							llvm-svn: 20228 
							
						 
						
							2005-02-17 19:40:32 +00:00  
				
					
						
							
							
								 
						
							
								ffcb0ae329 
								
							 
						 
						
							
							
								
								Adjust to changes in SelectionDAG interface.  
							
							... 
							
							
							
							llvm-svn: 19779 
							
						 
						
							2005-01-23 04:36:26 +00:00  
				
					
						
							
							
								 
						
							
								eccb73d57f 
								
							 
						 
						
							
							
								
								Get this to work for 64-bit systems.  
							
							... 
							
							
							
							llvm-svn: 19763 
							
						 
						
							2005-01-22 23:04:37 +00:00  
				
					
						
							
							
								 
						
							
								96c26751ec 
								
							 
						 
						
							
							
								
								Support targets that do not use i8 shift amounts.  
							
							... 
							
							
							
							llvm-svn: 19707 
							
						 
						
							2005-01-19 22:31:21 +00:00  
				
					
						
							
							
								 
						
							
								9f2c4a5200 
								
							 
						 
						
							
							
								
								Teach legalize to promote copy(from|to)reg, instead of making the isel pass  
							
							... 
							
							
							
							do it.  This results in better code on X86 for floats (because if strict
precision is not required, we can elide some more expensive double -> float
conversions like the old isel did), and allows other targets to emit
CopyFromRegs that are not legal for arguments.
llvm-svn: 19668 
							
						 
						
							2005-01-18 17:54:55 +00:00  
				
					
						
							
							
								 
						
							
								b07e2d2084 
								
							 
						 
						
							
							
								
								Allow setcc operations to have nonbool types.  
							
							... 
							
							
							
							llvm-svn: 19656 
							
						 
						
							2005-01-18 02:52:03 +00:00  
				
					
						
							
							
								 
						
							
								4d9651c760 
								
							 
						 
						
							
							
								
								Non-volatile loads can be freely reordered against each other.  This fixes  
							
							... 
							
							
							
							X86/reg-pressure.ll again, and allows us to do nice things in other cases.
For example, we now codegen this sort of thing:
int %loadload(int *%X, int* %Y) {
  %Z = load int* %Y
  %Y = load int* %X      ;; load between %Z and store
  %Q = add int %Z, 1
  store int %Q, int* %Y
  ret int %Y
}
Into this:
loadload:
        mov %EAX, DWORD PTR [%ESP + 4]
        mov %EAX, DWORD PTR [%EAX]
        mov %ECX, DWORD PTR [%ESP + 8]
        inc DWORD PTR [%ECX]
        ret
where we weren't able to form the 'inc [mem]' before.  This also lets the
instruction selector emit loads in any order it wants to, which can be good
for register pressure as well.
llvm-svn: 19644 
							
						 
						
							2005-01-17 22:19:26 +00:00  
				
					
						
							
							
								 
						
							
								4108bb01cf 
								
							 
						 
						
							
							
								
								Don't call SelectionDAG.getRoot() directly, go through a forwarding method.  
							
							... 
							
							
							
							llvm-svn: 19642 
							
						 
						
							2005-01-17 19:43:36 +00:00  
				
					
						
							
							
								 
						
							
								e3c2cf4854 
								
							 
						 
						
							
							
								
								Implement a target independent optimization to codegen arguments only into  
							
							... 
							
							
							
							the basic block that uses them if possible.  This is a big win on X86, as it
lets us fold the argument loads into instructions and reduce register pressure
(by not loading all of the arguments in the entry block).
For this (contrived to show the optimization) testcase:
int %argtest(int %A, int %B) {
        %X = sub int 12345, %A
        br label %L
L:
        %Y = add int %X, %B
        ret int %Y
}
we used to produce:
argtest:
        mov %ECX, DWORD PTR [%ESP + 4]
        mov %EAX, 12345
        sub %EAX, %ECX
        mov %EDX, DWORD PTR [%ESP + 8]
.LBBargtest_1:  # L
        add %EAX, %EDX
        ret
now we produce:
argtest:
        mov %EAX, 12345
        sub %EAX, DWORD PTR [%ESP + 4]
.LBBargtest_1:  # L
        add %EAX, DWORD PTR [%ESP + 8]
        ret
This also fixes the FIXME in the code.
BTW, this occurs in real code.  164.gzip shrinks from 8623 to 8608 lines of
.s file.  The stack frame in huft_build shrinks from 1644->1628 bytes,
inflate_codes shrinks from 116->108 bytes, and inflate_block from 2620->2612,
due to fewer spills.
Take that alkis. :-)
llvm-svn: 19639 
							
						 
						
							2005-01-17 17:55:19 +00:00  
				
					
						
							
							
								 
						
							
								16f64df93a 
								
							 
						 
						
							
							
								
								Refactor code into a new method.  
							
							... 
							
							
							
							llvm-svn: 19635 
							
						 
						
							2005-01-17 17:15:02 +00:00  
				
					
						
							
							
								 
						
							
								897cd7dc0a 
								
							 
						 
						
							
							
								
								add method stub  
							
							... 
							
							
							
							llvm-svn: 19612 
							
						 
						
							2005-01-16 07:28:41 +00:00  
				
					
						
							
							
								 
						
							
								209f585033 
								
							 
						 
						
							
							
								
								Add support for promoted registers being live across blocks.  
							
							... 
							
							
							
							llvm-svn: 19595 
							
						 
						
							2005-01-16 02:23:07 +00:00  
				
					
						
							
							
								 
						
							
								d58384fca6 
								
							 
						 
						
							
							
								
								Use the new TLI method to get this.  
							
							... 
							
							
							
							llvm-svn: 19582 
							
						 
						
							2005-01-16 01:11:19 +00:00  
				
					
						
							
							
								 
						
							
								a8d34fb8c6 
								
							 
						 
						
							
							
								
								Add support for targets that require promotions.  
							
							... 
							
							
							
							llvm-svn: 19579 
							
						 
						
							2005-01-16 00:37:38 +00:00  
				
					
						
							
							
								 
						
							
								1001c6e2cd 
								
							 
						 
						
							
							
								
								Add new SIGN_EXTEND_INREG, ZERO_EXTEND_INREG, and FP_ROUND_INREG operators.  
							
							... 
							
							
							
							llvm-svn: 19568 
							
						 
						
							2005-01-15 06:17:04 +00:00  
				
					
						
							
							
								 
						
							
								3b8e719d1d 
								
							 
						 
						
							
							
								
								Adjust to CopyFromReg changes, implement deletion of truncating/extending  
							
							... 
							
							
							
							stores/loads.
llvm-svn: 19562 
							
						 
						
							2005-01-14 22:38:01 +00:00  
				
					
						
							
							
								 
						
							
								e727af06c8 
								
							 
						 
						
							
							
								
								Add new ImplicitDef node, rename CopyRegSDNode class to RegSDNode.  
							
							... 
							
							
							
							llvm-svn: 19535 
							
						 
						
							2005-01-13 20:50:02 +00:00  
				
					
						
							
							
								 
						
							
								2451684678 
								
							 
						 
						
							
							
								
								Don't forget the existing root.  
							
							... 
							
							
							
							llvm-svn: 19531 
							
						 
						
							2005-01-13 19:53:14 +00:00  
				
					
						
							
							
								 
						
							
								718b5c2f82 
								
							 
						 
						
							
							
								
								Codegen independent ops as being independent.  
							
							... 
							
							
							
							llvm-svn: 19528 
							
						 
						
							2005-01-13 17:59:43 +00:00  
				
					
						
							
							
								 
						
							
								e05a461f1d 
								
							 
						 
						
							
							
								
								Add an option to view the selection dags as they are generated.  
							
							... 
							
							
							
							llvm-svn: 19498 
							
						 
						
							2005-01-12 03:41:21 +00:00  
				
					
						
							
							
								 
						
							
								613f79fcbb 
								
							 
						 
						
							
							
								
								add an assertion, avoid creating copyfromreg/copytoreg pairs that are the  
							
							... 
							
							
							
							same for PHI nodes.
llvm-svn: 19484 
							
						 
						
							2005-01-11 22:03:46 +00:00  
				
					
						
							
							
								 
						
							
								875def9b71 
								
							 
						 
						
							
							
								
								Turn memset/memcpy/memmove into the corresponding operations.  
							
							... 
							
							
							
							llvm-svn: 19463 
							
						 
						
							2005-01-11 05:56:49 +00:00  
				
					
						
							
							
								 
						
							
								a2c5d9168c 
								
							 
						 
						
							
							
								
								Handle static alloca arguments to PHI nodes.  
							
							... 
							
							
							
							llvm-svn: 19409 
							
						 
						
							2005-01-09 01:16:24 +00:00  
				
					
						
							
							
								 
						
							
								58cfd7945d 
								
							 
						 
						
							
							
								
								Use new interfaces to correctly lower varargs and return/frame address intrinsics.  
							
							... 
							
							
							
							llvm-svn: 19407 
							
						 
						
							2005-01-09 00:00:49 +00:00  
				
					
						
							
							
								 
						
							
								18d2b34637 
								
							 
						 
						
							
							
								
								Add support for llvm.setjmp and longjmp.  Only 3 SingleSource/UnitTests fail now.  
							
							... 
							
							
							
							llvm-svn: 19404 
							
						 
						
							2005-01-08 22:48:57 +00:00  
				
					
						
							
							
								 
						
							
								d006195517 
								
							 
						 
						
							
							
								
								Silence VS warnings.  
							
							... 
							
							
							
							llvm-svn: 19384 
							
						 
						
							2005-01-08 19:52:31 +00:00  
				
					
						
							
							
								 
						
							
								1f45cd7418 
								
							 
						 
						
							
							
								
								Adjust to changes in LowerCAllTo interfaces  
							
							... 
							
							
							
							llvm-svn: 19374 
							
						 
						
							2005-01-08 19:26:18 +00:00  
				
					
						
							
							
								 
						
							
								2a6db3c351 
								
							 
						 
						
							
							
								
								Add support for FP->INT conversions and back.  
							
							... 
							
							
							
							llvm-svn: 19369 
							
						 
						
							2005-01-08 08:08:56 +00:00  
				
					
						
							
							
								 
						
							
								19a83990e1 
								
							 
						 
						
							
							
								
								Implement support for long GEP indices on 32-bit archs and support for  
							
							... 
							
							
							
							int GEP indices on 64-bit archs.
llvm-svn: 19354 
							
						 
						
							2005-01-07 21:56:57 +00:00  
				
					
						
							
							
								 
						
							
								8ea875fb05 
								
							 
						 
						
							
							
								
								Fix handling of dead PHI nodes.  
							
							... 
							
							
							
							llvm-svn: 19349 
							
						 
						
							2005-01-07 21:34:19 +00:00  
				
					
						
							
							
								 
						
							
								7a60d91953 
								
							 
						 
						
							
							
								
								Initial implementation of the SelectionDAGISel class.  This contains most  
							
							... 
							
							
							
							of the code for lowering from LLVM code to a SelectionDAG.
llvm-svn: 19331 
							
						 
						
							2005-01-07 07:47:53 +00:00