| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | Fix a long-standing wart in the code generator: two-address instruction lowering | Chris Lattner | 2006-09-05 | 9 | -604/+577 |
| | | | | | | | | | | | | | | | | 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 Lenharth | 2006-09-05 | 1 | -0/+3 |
| | | | | | llvm-svn: 30107 | ||||
| * | First draft of the "Live Interval Analysis" section. This is the "Live | Bill Wendling | 2006-09-04 | 1 | -0/+188 |
| | | | | | | | Variable Analysis" pass. llvm-svn: 30106 | ||||
| * | ADd getImm/setImm methods | Chris Lattner | 2006-09-04 | 1 | -6/+15 |
| | | | | | llvm-svn: 30105 | ||||
| * | Add some short-hand accessors | Chris Lattner | 2006-09-04 | 1 | -0/+4 |
| | | | | | llvm-svn: 30104 | ||||
| * | add support for returning 64bit values | Rafael Espindola | 2006-09-04 | 2 | -0/+41 |
| | | | | | llvm-svn: 30103 | ||||
| * | Fix some X86 JIT failures. This should really come from TargetJITInfo. | Chris Lattner | 2006-09-04 | 1 | -0/+3 |
| | | | | | llvm-svn: 30102 | ||||
| * | lli uses LinkAllCodegenComponents, so it needs this. Thanks to | Chris Lattner | 2006-09-04 | 1 | -1/+2 |
| | | | | | | | Rafael Esp?ndola for pointing this out llvm-svn: 30100 | ||||
| * | Correct fix for a crasher on functions with live in values | Chris Lattner | 2006-09-04 | 1 | -4/+6 |
| | | | | | llvm-svn: 30099 | ||||
| * | Hack around a regression I introduced yesterday | Chris Lattner | 2006-09-04 | 1 | -0/+3 |
| | | | | | llvm-svn: 30098 | ||||
| * | forgot this | Duraid Madina | 2006-09-04 | 1 | -0/+2 |
| | | | | | llvm-svn: 30097 | ||||
| * | Fix a build problem | Chris Lattner | 2006-09-04 | 1 | -2/+3 |
| | | | | | llvm-svn: 30096 | ||||
| * | add setJumpBufSize() and setJumpBufAlignment() to target-lowering. | Duraid Madina | 2006-09-04 | 5 | -14/+47 |
| | | | | | | | | Call these from your backend to enjoy setjmp/longjmp goodness, see lib/Target/IA64/IA64ISelLowering.cpp for an example llvm-svn: 30095 | ||||
| * | Update this to reflect llvm-config usage | Chris Lattner | 2006-09-04 | 1 | -24/+10 |
| | | | | | llvm-svn: 30094 | ||||
| * | Remove some dead makefilery | Chris Lattner | 2006-09-04 | 1 | -62/+0 |
| | | | | | llvm-svn: 30093 | ||||
| * | Use llvm-config to determine what to link in | Chris Lattner | 2006-09-04 | 4 | -7/+5 |
| | | | | | llvm-svn: 30092 | ||||
| * | Use llvm-config instead of magic JIT thing to link in libs | Chris Lattner | 2006-09-04 | 1 | -1/+1 |
| | | | | | llvm-svn: 30091 | ||||
| * | Use LINK_COMPONENTS to specify *components* to link against instead of | Chris Lattner | 2006-09-04 | 18 | -64/+21 |
| | | | | | | | using USED_LIBS to specify *libraries* to link against. llvm-svn: 30090 | ||||
| * | Allow things like --libs CBackend | Chris Lattner | 2006-09-04 | 1 | -0/+3 |
| | | | | | llvm-svn: 30089 | ||||
| * | Switch to using llvm-config to build | Chris Lattner | 2006-09-04 | 1 | -1/+1 |
| | | | | | llvm-svn: 30088 | ||||
| * | Bugfix for llvm-config support | Chris Lattner | 2006-09-04 | 1 | -13/+16 |
| | | | | | llvm-svn: 30087 | ||||
| * | Make LINK_COMPONENTS interact well with make clean | Chris Lattner | 2006-09-04 | 1 | -1/+3 |
| | | | | | llvm-svn: 30086 | ||||
| * | Switch to using llvm-config to select components to link in. | Chris Lattner | 2006-09-04 | 1 | -2/+2 |
| | | | | | llvm-svn: 30085 | ||||
| * | Add a new make option (LINK_COMPONENTS) which tools can use to specify what | Chris Lattner | 2006-09-04 | 1 | -4/+14 |
| | | | | | | | libraries they need. This uses llvm-config to link the tools. llvm-svn: 30084 | ||||
| * | Document build order dependencies. Make sure that llvm-config is built before | Chris Lattner | 2006-09-04 | 1 | -1/+12 |
| | | | | | | | tools. llvm-svn: 30083 | ||||
| * | new file | Chris Lattner | 2006-09-04 | 1 | -0/+154 |
| | | | | | llvm-svn: 30082 | ||||
| * | Completely rearchitect the interface between targets and the pass manager. | Chris Lattner | 2006-09-04 | 25 | -614/+376 |
| | | | | | | | | | | | | | | | | | | | | | | | | | 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 accessor | Chris Lattner | 2006-09-04 | 1 | -0/+1 |
| | | | | | llvm-svn: 30080 | ||||
| * | Add explicit doInitialization/doFinalization methods instead of making | Chris Lattner | 2006-09-04 | 2 | -1/+22 |
| | | | | | | | the FunctionPassManager redo this for each function. llvm-svn: 30079 | ||||
| * | remove #include | Chris Lattner | 2006-09-04 | 1 | -1/+1 |
| | | | | | llvm-svn: 30078 | ||||
| * | rearrange targets to satisfy dependencies. Too bad we aren't using llvm-config. | Chris Lattner | 2006-09-04 | 1 | -1/+1 |
| | | | | | llvm-svn: 30077 | ||||
| * | If a cycle exists, don't succeed building the second time around. | Chris Lattner | 2006-09-04 | 1 | -1/+1 |
| | | | | | llvm-svn: 30076 | ||||
| * | remove message | Chris Lattner | 2006-09-04 | 1 | -1/+0 |
| | | | | | llvm-svn: 30075 | ||||
| * | Rearrange library linkage order. | Chris Lattner | 2006-09-04 | 1 | -3/+4 |
| | | | | | llvm-svn: 30074 | ||||
| * | Eliminate target name. | Chris Lattner | 2006-09-03 | 1 | -14/+3 |
| | | | | | llvm-svn: 30071 | ||||
| * | Simplify target construction. | Chris Lattner | 2006-09-03 | 8 | -14/+7 |
| | | | | | llvm-svn: 30070 | ||||
| * | Remove use of target::getName() | Chris Lattner | 2006-09-03 | 1 | -2/+2 |
| | | | | | llvm-svn: 30069 | ||||
| * | eliminate use of TM.getName() | Chris Lattner | 2006-09-03 | 1 | -2/+1 |
| | | | | | llvm-svn: 30068 | ||||
| * | add the SETULT condition code | Rafael Espindola | 2006-09-03 | 2 | -1/+16 |
| | | | | | llvm-svn: 30067 | ||||
| * | Avoid beating on the mi2i map when we know the answer already. | Chris Lattner | 2006-09-03 | 2 | -16/+25 |
| | | | | | llvm-svn: 30066 | ||||
| * | minor speedup | Chris Lattner | 2006-09-03 | 1 | -3/+3 |
| | | | | | llvm-svn: 30065 | ||||
| * | Fix Regression/CodeGen/Generic/2006-09-02-LocalAllocCrash.ll on X86. | Chris Lattner | 2006-09-03 | 1 | -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 | ||||
| * | Testcase (distilled from crafty) that crashed the local RA on X86. | Chris Lattner | 2006-09-03 | 1 | -0/+115 |
| | | | | | llvm-svn: 30063 | ||||
| * | When deleting a machine instruction, make sure to remove it from the | Chris Lattner | 2006-09-03 | 1 | -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 machine | Chris Lattner | 2006-09-03 | 2 | -28/+42 |
| | | | | | | | instruction includes physregs. llvm-svn: 30061 | ||||
| * | Count the time for a pass to ReleaseMemory against that pass. Not doing this | Chris Lattner | 2006-09-02 | 1 | -0/+2 |
| | | | | | | | was under accounting for the time that livevariables cost llvm-svn: 30060 | ||||
| * | Make this testcase actually recursive. I accidentally committed the wrong ↵ | Owen Anderson | 2006-09-02 | 1 | -1/+2 |
| | | | | | | | copy last time. llvm-svn: 30059 | ||||
| * | Fix a typo pointed out by Gabor | Chris Lattner | 2006-09-02 | 1 | -1/+1 |
| | | | | | llvm-svn: 30058 | ||||
| * | Make ArgumentPromotion handle recursive functions that pass pointers in ↵ | Owen Anderson | 2006-09-02 | 2 | -11/+49 |
| | | | | | | | their recursive calls. llvm-svn: 30057 | ||||
| * | add more condition codes | Rafael Espindola | 2006-09-02 | 3 | -5/+63 |
| | | | | | llvm-svn: 30056 | ||||

