summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
...
* Consistency.Evan Cheng2006-09-071-1/+1
| | | | llvm-svn: 30152
* Fix pasto that was breaking x86 tests.Evan Cheng2006-09-071-2/+2
| | | | llvm-svn: 30151
* Add new option to leave asm names aloneChris Lattner2006-09-071-1/+6
| | | | llvm-svn: 30149
* Make the x86 asm flavor part of the subtarget info.Jim Laskey2006-09-073-24/+34
| | | | llvm-svn: 30146
* Fix CodeGen/Generic/2006-09-06-SwitchLowering.ll, a bug where SDIsel insertedChris Lattner2006-09-071-15/+32
| | | | | | too many phi operands when lowering a switch to branches in some cases. llvm-svn: 30142
* Clean up.Evan Cheng2006-09-071-2/+2
| | | | llvm-svn: 30140
* Watch out for variable_ops instructions.Evan Cheng2006-09-061-1/+1
| | | | llvm-svn: 30135
* Variable ops instructions may ignore the last few operands for code emission.Evan Cheng2006-09-061-1/+3
| | | | llvm-svn: 30134
* Oops - forgot to update banner.Jim Laskey2006-09-061-1/+1
| | | | llvm-svn: 30131
* Separate target specifc asm properties from asm printers.Jim Laskey2006-09-061-0/+74
| | | | llvm-svn: 30127
* Separate target specific asm properties from the asm printers.Jim Laskey2006-09-0615-376/+357
| | | | llvm-svn: 30126
* add the orr instructionRafael Espindola2006-09-061-0/+4
| | | | llvm-svn: 30125
* Only call isUse/isDef on register operandsEvan Cheng2006-09-051-3/+3
| | | | llvm-svn: 30122
* Bugfix to work with the two-addr changes that have been made in the tree ↵Chris Lattner2006-09-051-1/+2
| | | | | | recently llvm-svn: 30121
* Only call isUse/isDef on register operandsChris Lattner2006-09-052-13/+7
| | | | llvm-svn: 30118
* Don't call isDef on non-registersChris Lattner2006-09-051-1/+2
| | | | llvm-svn: 30117
* Fix Duraid's changes to work when TLI is null. This fixes the failingChris Lattner2006-09-051-3/+7
| | | | | | lowerinvoke regtests. llvm-svn: 30115
* Change the default to 0, which means 'default'.Chris Lattner2006-09-051-1/+1
| | | | llvm-svn: 30114
* Fix a few dejagnu failures. e.g. fast-cc-merge-stack-adj.llEvan Cheng2006-09-051-2/+2
| | | | llvm-svn: 30113
* JIT encoding bug.Evan Cheng2006-09-051-1/+1
| | | | llvm-svn: 30112
* Update the X86 JIT to make it work with the new two-addr changes. This alsoChris Lattner2006-09-051-41/+52
| | | | | | adds assertions that check to make sure every operand gets emitted. llvm-svn: 30110
* Completely eliminate def&use operands. Now a register operand is EITHER aChris Lattner2006-09-058-51/+61
| | | | | | def operand or a use operand. llvm-svn: 30109
* Fix a long-standing wart in the code generator: two-address instruction loweringChris Lattner2006-09-058-596/+572
| | | | | | | | | | | | | | | actually *removes* one of the operands, instead of just assigning both operands the same register. This make reasoning about instructions unnecessarily complex, because you need to know if you are before or after register allocation to match up operand #'s with the target description file. Changing this also gets rid of a bunch of hacky code in various places. This patch also includes changes to fold loads into cmp/test instructions in the X86 backend, along with a significant simplification to the X86 spill folding code. llvm-svn: 30108
* jmp_bufs are this big on alpha.Andrew Lenharth2006-09-051-0/+3
| | | | llvm-svn: 30107
* add support for returning 64bit valuesRafael Espindola2006-09-041-0/+9
| | | | llvm-svn: 30103
* Fix some X86 JIT failures. This should really come from TargetJITInfo.Chris Lattner2006-09-041-0/+3
| | | | llvm-svn: 30102
* Correct fix for a crasher on functions with live in valuesChris Lattner2006-09-041-4/+6
| | | | llvm-svn: 30099
* Hack around a regression I introduced yesterdayChris Lattner2006-09-041-0/+3
| | | | llvm-svn: 30098
* forgot thisDuraid Madina2006-09-041-0/+2
| | | | llvm-svn: 30097
* add setJumpBufSize() and setJumpBufAlignment() to target-lowering.Duraid Madina2006-09-043-12/+15
| | | | | | | 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
* Completely rearchitect the interface between targets and the pass manager.Chris Lattner2006-09-0422-524/+170
| | | | | | | | | | | | | | | | | | | | | | | | This pass: 1. Splits TargetMachine into TargetMachine (generic targets, can be implemented any way, like the CBE) and LLVMTargetMachine (subclass of TM that is used by things using libcodegen and other support). 2. Instead of having each target fully populate the passmgr for file or JIT output, move all this to common code, and give targets hooks they can implement. 3. Commonalize the target population stuff between file emission and JIT emission. 4. All (native code) codegen stuff now happens in a FunctionPassManager, which paves the way for "fast -O0" stuff in the CFE later, and now LLC could lazily stream .bc files from disk to use less memory. 5. There are now many fewer #includes and the targets don't depend on the scalar xforms or libanalysis anymore (but codegen does). 6. Changing common code generator pass ordering stuff no longer requires touching all targets. 7. The JIT now has the option of "-fast" codegen or normal optimized codegen, which is now orthogonal to the fact that JIT'ing is being done. llvm-svn: 30081
* Add accessorChris Lattner2006-09-041-0/+1
| | | | llvm-svn: 30080
* Add explicit doInitialization/doFinalization methods instead of makingChris Lattner2006-09-041-1/+14
| | | | | | the FunctionPassManager redo this for each function. llvm-svn: 30079
* remove #includeChris Lattner2006-09-041-1/+1
| | | | llvm-svn: 30078
* Simplify target construction.Chris Lattner2006-09-038-14/+7
| | | | llvm-svn: 30070
* eliminate use of TM.getName()Chris Lattner2006-09-031-2/+1
| | | | llvm-svn: 30068
* add the SETULT condition codeRafael Espindola2006-09-031-0/+1
| | | | llvm-svn: 30067
* Avoid beating on the mi2i map when we know the answer already.Chris Lattner2006-09-031-12/+19
| | | | llvm-svn: 30066
* minor speedupChris Lattner2006-09-031-3/+3
| | | | llvm-svn: 30065
* Fix Regression/CodeGen/Generic/2006-09-02-LocalAllocCrash.ll on X86.Chris Lattner2006-09-031-6/+11
| | | | | | | Just because an alias of a register is available, it doesn't mean that we can arbitrarily evict the register. llvm-svn: 30064
* When deleting a machine instruction, make sure to remove it from theChris Lattner2006-09-031-1/+4
| | | | | | livevariables information. This fixes several regalloc=local failures on x86 llvm-svn: 30062
* Move two methods out of line, make them work when the record for a machineChris Lattner2006-09-031-0/+36
| | | | | | instruction includes physregs. llvm-svn: 30061
* Count the time for a pass to ReleaseMemory against that pass. Not doing thisChris Lattner2006-09-021-0/+2
| | | | | | was under accounting for the time that livevariables cost llvm-svn: 30060
* Make ArgumentPromotion handle recursive functions that pass pointers in ↵Owen Anderson2006-09-021-11/+33
| | | | | | their recursive calls. llvm-svn: 30057
* add more condition codesRafael Espindola2006-09-022-2/+30
| | | | llvm-svn: 30056
* Improve handling of SelectInst.Nick Lewycky2006-09-021-31/+44
| | | | | | | | Reorder operations to remove duplicated work. Fix to leave floating-point types out of the optimization. Add tests to predsimplify.ll for SwitchInst and SelectInst handling. llvm-svn: 30055
* improve compat with certain versions of GCC (on cygwin?)Chris Lattner2006-09-021-1/+1
| | | | llvm-svn: 30054
* Iteration is required for some cases, even if they don't occur in crafty.Chris Lattner2006-09-021-13/+24
| | | | | | Restore it, which re-fixes X86/2006-08-21-ExtraMovInst.ll llvm-svn: 30050
* When joining two intervals where the RHS is really simple, use a light-weightChris Lattner2006-09-022-11/+172
| | | | | | method for joining the live ranges instead of the fully-general one. llvm-svn: 30049
OpenPOWER on IntegriCloud