Evan Cheng
							
						 
						
							 
							
							
							
							
								
							
							
								097826643b 
								
							 
						 
						
							
							
								
								Do not run loop-aligner at -fast (e.g. -O0).  
							
							 
							
							... 
							
							
							
							llvm-svn: 51898 
							
						 
						
							2008-06-03 06:56:08 +00:00  
						
					 
				
					
						
							
							
								 
								Evan Cheng
							
						 
						
							 
							
							
							
							
								
							
							
								fe3ec48bc4 
								
							 
						 
						
							
							
								
								Fix indentation.  
							
							 
							
							... 
							
							
							
							llvm-svn: 51793 
							
						 
						
							2008-05-30 22:39:32 +00:00  
						
					 
				
					
						
							
							
								 
								Anton Korobeynikov
							
						 
						
							 
							
							
							
							
								
							
							
								0516b6f2b0 
								
							 
						 
						
							
							
								
								Unbreak JIT  
							
							 
							
							... 
							
							
							
							llvm-svn: 50173 
							
						 
						
							2008-04-23 18:26:03 +00:00  
						
					 
				
					
						
							
							
								 
								Anton Korobeynikov
							
						 
						
							 
							
							
							
							
								
							
							
								7e859dd7f0 
								
							 
						 
						
							
							
								
								Add facility for pre-RA passes  
							
							 
							
							... 
							
							
							
							llvm-svn: 50165 
							
						 
						
							2008-04-23 18:22:28 +00:00  
						
					 
				
					
						
							
							
								 
								Dale Johannesen
							
						 
						
							 
							
							
							
							
								
							
							
								fd967cf3fa 
								
							 
						 
						
							
							
								
								Recommitting EH patch; this should answer most of the  
							
							 
							
							... 
							
							
							
							review feedback.
-enable-eh is still accepted but doesn't do anything.
EH intrinsics use Dwarf EH if the target supports that,
and are handled by LowerInvoke otherwise.
The separation of the EH table and frame move data is,
I think, logically figured out, but either one still
causes full EH info to be generated (not sure how to
split the metadata correctly).
MachineModuleInfo::needsFrameInfo is no longer used and
is removed.
llvm-svn: 49064 
							
						 
						
							2008-04-02 00:25:04 +00:00  
						
					 
				
					
						
							
							
								 
								Dale Johannesen
							
						 
						
							 
							
							
							
							
								
							
							
								5e4e051c2a 
								
							 
						 
						
							
							
								
								Revert 49006 for the moment.  
							
							 
							
							... 
							
							
							
							llvm-svn: 49046 
							
						 
						
							2008-04-01 20:00:57 +00:00  
						
					 
				
					
						
							
							
								 
								Dale Johannesen
							
						 
						
							 
							
							
							
							
								
							
							
								7d02cf3c9c 
								
							 
						 
						
							
							
								
								Emit exception handling info for functions which are  
							
							 
							
							... 
							
							
							
							not marked nounwind, or for all functions when -enable-eh
is set, provided the target supports Dwarf EH.
llvm-gcc generates nounwind in the right places; other FEs
will need to do so also.  Given such a FE, -enable-eh should
no longer be needed.
llvm-svn: 49006 
							
						 
						
							2008-03-31 23:40:23 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								a7ba51f6ec 
								
							 
						 
						
							
							
								
								Avoid outputing spaces at the ends of lines.  
							
							 
							
							... 
							
							
							
							llvm-svn: 48797 
							
						 
						
							2008-03-25 21:38:12 +00:00  
						
					 
				
					
						
							
							
								 
								Devang Patel
							
						 
						
							 
							
							
							
							
								
							
							
								72cfe84f05 
								
							 
						 
						
							
							
								
								Do not align loops if optimizing for size.  
							
							 
							
							... 
							
							
							
							llvm-svn: 48794 
							
						 
						
							2008-03-25 21:03:02 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								24570836b2 
								
							 
						 
						
							
							
								
								Use PassManagerBase instead of FunctionPassManager for functions  
							
							 
							
							... 
							
							
							
							that merely add passes. This allows them to be used with either
FunctionPassManager or PassManager, or even with a custom new
kind of pass manager.
llvm-svn: 48256 
							
						 
						
							2008-03-11 22:29:46 +00:00  
						
					 
				
					
						
							
							
								 
								Evan Cheng
							
						 
						
							 
							
							
							
							
								
							
							
								95a7be473c 
								
							 
						 
						
							
							
								
								Added option -align-loops=<true/false> to disable loop aligner pass.  
							
							 
							
							... 
							
							
							
							llvm-svn: 47736 
							
						 
						
							2008-02-28 23:29:57 +00:00  
						
					 
				
					
						
							
							
								 
								Nicolas Geoffray
							
						 
						
							 
							
							
							
							
								
							
							
								21ad494f67 
								
							 
						 
						
							
							
								
								Enable exception handling int JIT  
							
							 
							
							... 
							
							
							
							llvm-svn: 47079 
							
						 
						
							2008-02-13 18:39:37 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								994718417a 
								
							 
						 
						
							
							
								
								don't create the post-ra scheduler unless it is enabled.  
							
							 
							
							... 
							
							
							
							llvm-svn: 45972 
							
						 
						
							2008-01-14 19:00:06 +00:00  
						
					 
				
					
						
							
							
								 
								Gordon Henriksen
							
						 
						
							 
							
							
							
							
								
							
							
								2d684b1fbf 
								
							 
						 
						
							
							
								
								Ammending r45669 with a missing file.  
							
							 
							
							... 
							
							
							
							llvm-svn: 45671 
							
						 
						
							2008-01-07 01:33:09 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								276178e49f 
								
							 
						 
						
							
							
								
								allow sinking to be enabled for the jit  
							
							 
							
							... 
							
							
							
							llvm-svn: 45624 
							
						 
						
							2008-01-05 06:14:16 +00:00  
						
					 
				
					
						
							
							
								 
								Bill Wendling
							
						 
						
							 
							
							
							
							
								
							
							
								66470d02c3 
								
							 
						 
						
							
							
								
								Move option to enable machine LICM into LLVMTargetMachine.cpp.  
							
							 
							
							... 
							
							
							
							llvm-svn: 45572 
							
						 
						
							2008-01-04 08:11:03 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								f3edc09f9b 
								
							 
						 
						
							
							
								
								Add a really quick hack at a machine code sinking pass, enabled with --enable-sinking.  
							
							 
							
							... 
							
							
							
							It is missing validity checks, so it is known broken.  However, it is powerful enough
to compile this contrived code:
void test1(int C, double A, double B, double *P) {
  double Tmp = A*A+B*B;
  *P = C ? Tmp : A;
}
into:
_test1:
	movsd	8(%esp), %xmm0
	cmpl	$0, 4(%esp)
	je	LBB1_2	# entry
LBB1_1:	# entry
	movsd	16(%esp), %xmm1
	mulsd	%xmm1, %xmm1
	mulsd	%xmm0, %xmm0
	addsd	%xmm1, %xmm0
LBB1_2:	# entry
	movl	24(%esp), %eax
	movsd	%xmm0, (%eax)
	ret
instead of:
_test1:
	movsd	16(%esp), %xmm0
	mulsd	%xmm0, %xmm0
	movsd	8(%esp), %xmm1
	movapd	%xmm1, %xmm2
	mulsd	%xmm2, %xmm2
	addsd	%xmm0, %xmm2
	cmpl	$0, 4(%esp)
	je	LBB1_2	# entry
LBB1_1:	# entry
	movapd	%xmm2, %xmm1
LBB1_2:	# entry
	movl	24(%esp), %eax
	movsd	%xmm1, (%eax)
	ret
woo.
llvm-svn: 45570 
							
						 
						
							2008-01-04 07:36:53 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								f3ebc3f3d2 
								
							 
						 
						
							
							
								
								Remove attribution from file headers, per discussion on llvmdev.  
							
							 
							
							... 
							
							
							
							llvm-svn: 45418 
							
						 
						
							2007-12-29 20:36:04 +00:00  
						
					 
				
					
						
							
							
								 
								Bill Wendling
							
						 
						
							 
							
							
							
							
								
							
							
								fb706bc52b 
								
							 
						 
						
							
							
								
								Initial commit of the machine code LICM pass. It successfully hoists this:  
							
							 
							
							... 
							
							
							
							_foo:
        li r2, 0
LBB1_1: ; bb
        li r5, 0
        stw r5, 0(r3)
        addi r2, r2, 1
        addi r3, r3, 4
        cmplw cr0, r2, r4
        bne cr0, LBB1_1 ; bb
LBB1_2: ; return
        blr 
to:
_foo:
        li r2, 0
        li r5, 0
LBB1_1: ; bb
        stw r5, 0(r3)
        addi r2, r2, 1
        addi r3, r3, 4
        cmplw cr0, r2, r4
        bne cr0, LBB1_1 ; bb
LBB1_2: ; return
        blr
ZOMG!! :-)
Moar to come...
llvm-svn: 44687 
							
						 
						
							2007-12-07 21:42:31 +00:00  
						
					 
				
					
						
							
							
								 
								Christopher Lamb
							
						 
						
							 
							
							
							
							
								
							
							
								14bbb15f07 
								
							 
						 
						
							
							
								
								Move subreg lowering pass to be right after regalloc, per feedback.  
							
							 
							
							... 
							
							
							
							llvm-svn: 40548 
							
						 
						
							2007-07-27 07:36:14 +00:00  
						
					 
				
					
						
							
							
								 
								Christopher Lamb
							
						 
						
							 
							
							
							
							
								
							
							
								e9d738cefc 
								
							 
						 
						
							
							
								
								Add a MachineFunction pass, which runs post register allocation, that turns subreg insert/extract instruction into register copies. This ensures correct code gen if the coalescer isn't able to remove all subreg instructions.  
							
							 
							
							... 
							
							
							
							llvm-svn: 40521 
							
						 
						
							2007-07-26 08:18:32 +00:00  
						
					 
				
					
						
							
							
								 
								Evan Cheng
							
						 
						
							 
							
							
							
							
								
							
							
								9d5df0a5f6 
								
							 
						 
						
							
							
								
								Added -print-emitted-asm to print out JIT generated asm to cerr.  
							
							 
							
							... 
							
							
							
							llvm-svn: 40123 
							
						 
						
							2007-07-20 21:56:13 +00:00  
						
					 
				
					
						
							
							
								 
								Dale Johannesen
							
						 
						
							 
							
							
							
							
								
							
							
								4dc35dbd3e 
								
							 
						 
						
							
							
								
								Modify previous patch per review comments.  
							
							 
							
							... 
							
							
							
							llvm-svn: 39817 
							
						 
						
							2007-07-13 17:31:29 +00:00  
						
					 
				
					
						
							
							
								 
								Dale Johannesen
							
						 
						
							 
							
							
							
							
								
							
							
								2182f06f2d 
								
							 
						 
						
							
							
								
								Skeleton of post-RA scheduler; doesn't do anything yet.  
							
							 
							
							... 
							
							
							
							Change name of -sched option and DEBUG_TYPE to
pre-RA-sched; adjust testcases.
llvm-svn: 39816 
							
						 
						
							2007-07-13 17:13:54 +00:00  
						
					 
				
					
						
							
							
								 
								Duncan Sands
							
						 
						
							 
							
							
							
							
								
							
							
								03b274911f 
								
							 
						 
						
							
							
								
								Exception handling has been implemented.  
							
							 
							
							... 
							
							
							
							llvm-svn: 39732 
							
						 
						
							2007-07-11 16:59:20 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								37228f6ce5 
								
							 
						 
						
							
							
								
								document and hide two options.  
							
							 
							
							... 
							
							
							
							llvm-svn: 37651 
							
						 
						
							2007-06-19 05:47:49 +00:00  
						
					 
				
					
						
							
							
								 
								Dale Johannesen
							
						 
						
							 
							
							
							
							
								
							
							
								f9cbdc676c 
								
							 
						 
						
							
							
								
								name change requested by review of previous patch  
							
							 
							
							... 
							
							
							
							llvm-svn: 37289 
							
						 
						
							2007-05-22 18:31:04 +00:00  
						
					 
				
					
						
							
							
								 
								Dale Johannesen
							
						 
						
							 
							
							
							
							
								
							
							
								82810c8a13 
								
							 
						 
						
							
							
								
								Make tail merging the default, except on powerPC.  There was no prior art  
							
							 
							
							... 
							
							
							
							for a target-dependent default with a command-line override; this way
should be generally usable.
llvm-svn: 37285 
							
						 
						
							2007-05-22 17:14:46 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								f6a6d3c8b0 
								
							 
						 
						
							
							
								
								move a bunch of code out of the sdisel pass into its own opt pass "codegenprepare".  
							
							 
							
							... 
							
							
							
							llvm-svn: 35529 
							
						 
						
							2007-03-31 04:18:03 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								bafc837c83 
								
							 
						 
						
							
							
								
								Add a -print-lsr-output option to LLC, to print the output of the LSR pass.  
							
							 
							
							... 
							
							
							
							llvm-svn: 35522 
							
						 
						
							2007-03-31 00:24:43 +00:00  
						
					 
				
					
						
							
							
								 
								Devang Patel
							
						 
						
							 
							
							
							
							
								
							
							
								b0743b5d6a 
								
							 
						 
						
							
							
								
								Now LoopStrengthReduce is a LoopPass.  
							
							 
							
							... 
							
							
							
							llvm-svn: 34984 
							
						 
						
							2007-03-06 21:14:09 +00:00  
						
					 
				
					
						
							
							
								 
								Jim Laskey
							
						 
						
							 
							
							
							
							
								
							
							
								69bd45c1d2 
								
							 
						 
						
							
							
								
								Use exception  flag.  
							
							 
							
							... 
							
							
							
							llvm-svn: 34496 
							
						 
						
							2007-02-22 16:22:15 +00:00  
						
					 
				
					
						
							
							
								 
								Bill Wendling
							
						 
						
							 
							
							
							
							
								
							
							
								523048ecde 
								
							 
						 
						
							
							
								
								Split the addPassesToEmitFile method up into two. This is so that we can  
							
							 
							
							... 
							
							
							
							do some common stuff, then on our own add an object file writer (by calling
a concrete function), and then do some finishing stuff, if need be.
llvm-svn: 34032 
							
						 
						
							2007-02-08 01:36:53 +00:00  
						
					 
				
					
						
							
							
								 
								Bill Wendling
							
						 
						
							 
							
							
							
							
								
							
							
								355fc5ad50 
								
							 
						 
						
							
							
								
								Removed more <iostream> includes  
							
							 
							
							... 
							
							
							
							llvm-svn: 32321 
							
						 
						
							2006-12-07 20:28:15 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								e0a70388c2 
								
							 
						 
						
							
							
								
								enable the branch folding pass for the JIT.  
							
							 
							
							... 
							
							
							
							llvm-svn: 31777 
							
						 
						
							2006-11-16 01:00:07 +00:00  
						
					 
				
					
						
							
							
								 
								Jim Laskey
							
						 
						
							 
							
							
							
							
								
							
							
								6ea4fae838 
								
							 
						 
						
							
							
								
								1. Add a pass to fold debug label instructions so a debug info client can detect  
							
							 
							
							... 
							
							
							
							empty ranges.
2. Reorg how MachineDebugInfo maintains changes to debug labels.
3. Have dwarf writer use debug label info to simplify scopes and source line
coorespondence.
4. Revert the merging of compile units until I can get the bugs ironed out.
llvm-svn: 31507 
							
						 
						
							2006-11-07 19:33:46 +00:00  
						
					 
				
					
						
							
							
								 
								Jim Laskey
							
						 
						
							 
							
							
							
							
								
							
							
								1941bfa361 
								
							 
						 
						
							
							
								
								Don't do dead block elimination in fast mode.  
							
							 
							
							... 
							
							
							
							llvm-svn: 31155 
							
						 
						
							2006-10-24 16:11:49 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								55ad08a59b 
								
							 
						 
						
							
							
								
								add the branch folding pass as a late cleanup pass for all targets.  For now  
							
							 
							
							... 
							
							
							
							it just deletes empty MBB's.  Soon it will do more :)
llvm-svn: 30941 
							
						 
						
							2006-10-13 20:45:56 +00:00  
						
					 
				
					
						
							
							
								 
								Duraid Madina
							
						 
						
							 
							
							
							
							
								
							
							
								cf6749e4c0 
								
							 
						 
						
							
							
								
								add setJumpBufSize() and setJumpBufAlignment() to target-lowering.  
							
							 
							
							... 
							
							
							
							Call these from your backend to enjoy setjmp/longjmp goodness, see
lib/Target/IA64/IA64ISelLowering.cpp for an example
llvm-svn: 30095 
							
						 
						
							2006-09-04 06:21:35 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								a916db12e4 
								
							 
						 
						
							
							
								
								new file  
							
							 
							
							... 
							
							
							
							llvm-svn: 30082 
							
						 
						
							2006-09-04 04:16:09 +00:00