aboutsummaryrefslogtreecommitdiffstats
path: root/include
Commit message (Collapse)AuthorAgeFilesLines
* Implement new fpowi nodeChris Lattner2006-09-091-3/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30223 91177308-0d34-0410-b5e6-96231b3b80d8
* First pass at supporting relocations. Relocations are written correctly toNate Begeman2006-09-081-54/+86
| | | | | | | | the file now, however the relocated address is currently wrong. Fixing that will require some deep pondering. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30207 91177308-0d34-0410-b5e6-96231b3b80d8
* add powi intrinsics.Chris Lattner2006-09-081-0/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30176 91177308-0d34-0410-b5e6-96231b3b80d8
* 1. Remove condition on delete.Jim Laskey2006-09-071-4/+4
| | | | | | | | | 2. Protect and outline createTargetAsmInfo. 3. Misc. kruft. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30169 91177308-0d34-0410-b5e6-96231b3b80d8
* Make target asm info a property of the target machine.Jim Laskey2006-09-074-7/+28
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30162 91177308-0d34-0410-b5e6-96231b3b80d8
* Add new option to leave asm names aloneChris Lattner2006-09-071-0/+8
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30149 91177308-0d34-0410-b5e6-96231b3b80d8
* Add getTargetTriple() that linker can use to query target architecture.Devang Patel2006-09-061-0/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30132 91177308-0d34-0410-b5e6-96231b3b80d8
* Keep track of all modules crated using a name to module map.Devang Patel2006-09-061-0/+6
| | | | | | | Add private member function getMoudle(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30130 91177308-0d34-0410-b5e6-96231b3b80d8
* Separate target specifc asm properties from asm printers.Jim Laskey2006-09-061-0/+427
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30127 91177308-0d34-0410-b5e6-96231b3b80d8
* Separate target specific asm properties from the asm printers.Jim Laskey2006-09-062-237/+25
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30126 91177308-0d34-0410-b5e6-96231b3b80d8
* Extract target triplet from optimized module.Devang Patel2006-09-061-6/+7
| | | | | | | Untabify. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30123 91177308-0d34-0410-b5e6-96231b3b80d8
* IsDef can only be accessed / set if operand is a register.Evan Cheng2006-09-051-11/+16
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30119 91177308-0d34-0410-b5e6-96231b3b80d8
* Initialize IsDef of all non-register MachineOperand to false.Evan Cheng2006-09-051-0/+7
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30116 91177308-0d34-0410-b5e6-96231b3b80d8
* Completely eliminate def&use operands. Now a register operand is EITHER aChris Lattner2006-09-052-55/+17
| | | | | | | def operand or a use operand. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30109 91177308-0d34-0410-b5e6-96231b3b80d8
* ADd getImm/setImm methodsChris Lattner2006-09-041-6/+15
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30105 91177308-0d34-0410-b5e6-96231b3b80d8
* Add some short-hand accessorsChris Lattner2006-09-041-0/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30104 91177308-0d34-0410-b5e6-96231b3b80d8
* add setJumpBufSize() and setJumpBufAlignment() to target-lowering.Duraid Madina2006-09-042-2/+32
| | | | | | | | Call these from your backend to enjoy setjmp/longjmp goodness, see lib/Target/IA64/IA64ISelLowering.cpp for an example git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30095 91177308-0d34-0410-b5e6-96231b3b80d8
* Completely rearchitect the interface between targets and the pass manager.Chris Lattner2006-09-042-11/+96
| | | | | | | | | | | | | | | | | | | | | | | | | 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30081 91177308-0d34-0410-b5e6-96231b3b80d8
* Add explicit doInitialization/doFinalization methods instead of makingChris Lattner2006-09-041-0/+8
| | | | | | | the FunctionPassManager redo this for each function. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30079 91177308-0d34-0410-b5e6-96231b3b80d8
* Eliminate target name.Chris Lattner2006-09-031-14/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30071 91177308-0d34-0410-b5e6-96231b3b80d8
* Avoid beating on the mi2i map when we know the answer already.Chris Lattner2006-09-031-4/+6
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30066 91177308-0d34-0410-b5e6-96231b3b80d8
* Move two methods out of line, make them work when the record for a machineChris Lattner2006-09-031-28/+6
| | | | | | | instruction includes physregs. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30061 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix a typo pointed out by GaborChris Lattner2006-09-021-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30058 91177308-0d34-0410-b5e6-96231b3b80d8
* add a prototypeChris Lattner2006-09-021-1/+7
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30051 91177308-0d34-0410-b5e6-96231b3b80d8
* Iteration is required for some cases, even if they don't occur in crafty.Chris Lattner2006-09-021-3/+15
| | | | | | | Restore it, which re-fixes X86/2006-08-21-ExtraMovInst.ll git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30050 91177308-0d34-0410-b5e6-96231b3b80d8
* new methodChris Lattner2006-09-021-0/+7
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30048 91177308-0d34-0410-b5e6-96231b3b80d8
* remove some particularly expensive assertionsChris Lattner2006-09-011-3/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30014 91177308-0d34-0410-b5e6-96231b3b80d8
* add a simple reserve method.Chris Lattner2006-09-011-0/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30011 91177308-0d34-0410-b5e6-96231b3b80d8
* Iterative coallescing doesn't buy us anything (we get identical results onChris Lattner2006-09-011-15/+2
| | | | | | | crafty with and without it). Removing it speeds up live intervals 6%. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30010 91177308-0d34-0410-b5e6-96231b3b80d8
* avoid calling the virtual isMoveInstr method endlessly by caching its results.Chris Lattner2006-08-312-19/+34
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29994 91177308-0d34-0410-b5e6-96231b3b80d8
* Restore source-level compatibility with clients of these functions.Chris Lattner2006-08-301-6/+6
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29978 91177308-0d34-0410-b5e6-96231b3b80d8
* fix 80 column issueChris Lattner2006-08-301-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29972 91177308-0d34-0410-b5e6-96231b3b80d8
* Instantiate Statistic<> in one place, not in every .o file that uses it.Chris Lattner2006-08-301-1/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29971 91177308-0d34-0410-b5e6-96231b3b80d8
* Teach the coallescer to coallesce live intervals joined by an arbitraryChris Lattner2006-08-292-18/+19
| | | | | | | | | number of copies, potentially defining live ranges that appear to have differing value numbers that become identical when coallsced. Among other things, this fixes CodeGen/X86/shift-coalesce.ll and PR687. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29968 91177308-0d34-0410-b5e6-96231b3b80d8
* Do not rely on std::sort and std::erase to get list of uniqueDevang Patel2006-08-291-0/+6
| | | | | | | | | exit blocks. The output is dependent on addresses of basic block. Add and use Loop::getUniqueExitBlocks. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29966 91177308-0d34-0410-b5e6-96231b3b80d8
* Move isCommutativeBinOp from SelectionDAG.cpp and DAGCombiner.cpp out. Make ↵Evan Cheng2006-08-291-0/+19
| | | | | | it a static method of SelectionDAG. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29951 91177308-0d34-0410-b5e6-96231b3b80d8
* Add PredicateSimplifier pass. Collapses equal variables into one formNick Lewycky2006-08-282-0/+6
| | | | | | | | and simplifies expressions. This implements the optimization described in PR807. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29947 91177308-0d34-0410-b5e6-96231b3b80d8
* Add 2nd form of resizeChris Lattner2006-08-281-0/+12
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29945 91177308-0d34-0410-b5e6-96231b3b80d8
* remove extraneous spaceChris Lattner2006-08-281-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29940 91177308-0d34-0410-b5e6-96231b3b80d8
* Back out last revision which should not have been committed (yet).Reid Spencer2006-08-281-4/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29935 91177308-0d34-0410-b5e6-96231b3b80d8
* For PR387:Reid Spencer2006-08-281-0/+4
| | | | | | | | Close out this long standing bug by removing the remaining overloaded virtual functions in LLVM. The -Woverloaded-virtual option is now turned on. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29934 91177308-0d34-0410-b5e6-96231b3b80d8
* simplify AnalysisGroup registration, eliminating one typeid call.Chris Lattner2006-08-281-13/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29932 91177308-0d34-0410-b5e6-96231b3b80d8
* Silence -Woverloaded-virtual warnings.Chris Lattner2006-08-281-1/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29929 91177308-0d34-0410-b5e6-96231b3b80d8
* eliminate RegisterOpt. It does the same thing as RegisterPass.Chris Lattner2006-08-271-47/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29925 91177308-0d34-0410-b5e6-96231b3b80d8
* Eliminate RegisterAnalysis. RegisterPass now does all that is necessary.Chris Lattner2006-08-271-24/+17
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29921 91177308-0d34-0410-b5e6-96231b3b80d8
* We no longer care whether something is an opt vs analysis pass, only whetherChris Lattner2006-08-271-42/+28
| | | | | | | something is a pass vs an analysis group now. Simplify interfaces. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29920 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove a dead class.Chris Lattner2006-08-271-17/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29918 91177308-0d34-0410-b5e6-96231b3b80d8
* add directive to disable inliningChris Lattner2006-08-271-0/+8
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29912 91177308-0d34-0410-b5e6-96231b3b80d8
* s|llvm/Support/Visibility.h|llvm/Support/Compiler.h|Chris Lattner2006-08-271-23/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29911 91177308-0d34-0410-b5e6-96231b3b80d8
* Add external definitions for commonly-used template specializations and addChris Lattner2006-08-271-2/+37
| | | | | | | | | anchor methods to others. This eliminates the vtable/template method bloat in .o files that defining a cl::opt used to impose (~4K per .o file for one cp::opt<unsigned>). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29909 91177308-0d34-0410-b5e6-96231b3b80d8