summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/LLVMTargetMachine.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* Use PassManagerBase instead of FunctionPassManager for functionsDan Gohman2008-03-111-3/+3
| | | | | | | | 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
* Added option -align-loops=<true/false> to disable loop aligner pass.Evan Cheng2008-02-281-0/+6
| | | | llvm-svn: 47736
* Enable exception handling int JITNicolas Geoffray2008-02-131-2/+2
| | | | llvm-svn: 47079
* don't create the post-ra scheduler unless it is enabled.Chris Lattner2008-01-141-1/+7
| | | | llvm-svn: 45972
* Ammending r45669 with a missing file.Gordon Henriksen2008-01-071-4/+23
| | | | llvm-svn: 45671
* allow sinking to be enabled for the jitChris Lattner2008-01-051-0/+3
| | | | llvm-svn: 45624
* Move option to enable machine LICM into LLVMTargetMachine.cpp.Bill Wendling2008-01-041-3/+8
| | | | llvm-svn: 45572
* Add a really quick hack at a machine code sinking pass, enabled with ↵Chris Lattner2008-01-041-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | --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
* Remove attribution from file headers, per discussion on llvmdev.Chris Lattner2007-12-291-2/+2
| | | | llvm-svn: 45418
* Initial commit of the machine code LICM pass. It successfully hoists this:Bill Wendling2007-12-071-4/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | _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
* Move subreg lowering pass to be right after regalloc, per feedback.Christopher Lamb2007-07-271-4/+10
| | | | llvm-svn: 40548
* Add a MachineFunction pass, which runs post register allocation, that turns ↵Christopher Lamb2007-07-261-0/+4
| | | | | | 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
* Added -print-emitted-asm to print out JIT generated asm to cerr.Evan Cheng2007-07-201-2/+4
| | | | llvm-svn: 40123
* Modify previous patch per review comments.Dale Johannesen2007-07-131-2/+4
| | | | llvm-svn: 39817
* Skeleton of post-RA scheduler; doesn't do anything yet.Dale Johannesen2007-07-131-0/+6
| | | | | | | Change name of -sched option and DEBUG_TYPE to pre-RA-sched; adjust testcases. llvm-svn: 39816
* Exception handling has been implemented.Duncan Sands2007-07-111-3/+2
| | | | llvm-svn: 39732
* document and hide two options.Chris Lattner2007-06-191-2/+5
| | | | llvm-svn: 37651
* name change requested by review of previous patchDale Johannesen2007-05-221-2/+2
| | | | llvm-svn: 37289
* Make tail merging the default, except on powerPC. There was no prior artDale Johannesen2007-05-221-2/+2
| | | | | | | for a target-dependent default with a command-line override; this way should be generally usable. llvm-svn: 37285
* move a bunch of code out of the sdisel pass into its own opt pass ↵Chris Lattner2007-03-311-2/+20
| | | | | | "codegenprepare". llvm-svn: 35529
* Add a -print-lsr-output option to LLC, to print the output of the LSR pass.Chris Lattner2007-03-311-1/+9
| | | | llvm-svn: 35522
* Now LoopStrengthReduce is a LoopPass.Devang Patel2007-03-061-0/+1
| | | | llvm-svn: 34984
* Use exception flag.Jim Laskey2007-02-221-1/+2
| | | | llvm-svn: 34496
* Split the addPassesToEmitFile method up into two. This is so that we canBill Wendling2007-02-081-48/+52
| | | | | | | 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
* Removed more <iostream> includesBill Wendling2006-12-071-11/+10
| | | | llvm-svn: 32321
* enable the branch folding pass for the JIT.Chris Lattner2006-11-161-0/+3
| | | | llvm-svn: 31777
* 1. Add a pass to fold debug label instructions so a debug info client can detectJim Laskey2006-11-071-0/+3
| | | | | | | | | | | | | 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
* Don't do dead block elimination in fast mode.Jim Laskey2006-10-241-1/+2
| | | | llvm-svn: 31155
* add the branch folding pass as a late cleanup pass for all targets. For nowChris Lattner2006-10-131-0/+3
| | | | | | it just deletes empty MBB's. Soon it will do more :) llvm-svn: 30941
* add setJumpBufSize() and setJumpBufAlignment() to target-lowering.Duraid Madina2006-09-041-2/+2
| | | | | | | Call these from your backend to enjoy setjmp/longjmp goodness, see lib/Target/IA64/IA64ISelLowering.cpp for an example llvm-svn: 30095
* new fileChris Lattner2006-09-041-0/+154
llvm-svn: 30082
OpenPOWER on IntegriCloud