aboutsummaryrefslogtreecommitdiffstats
path: root/include
Commit message (Collapse)AuthorAgeFilesLines
* Use iterative algorith to assign DFS number. This reducesDevang Patel2006-09-221-10/+1
| | | | | | | call stack depth. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30575 91177308-0d34-0410-b5e6-96231b3b80d8
* Use abstract class to facilitate dlopen() interface.Devang Patel2006-09-211-2/+20
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30569 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix findCaseDest to return null when BB is both the default dest and oneNick Lewycky2006-09-181-0/+2
| | | | | | | of the numeric cases. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30468 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a new helper method to SwitchInst. Useful when you've got a BB fromNick Lewycky2006-09-181-0/+13
| | | | | | | | somewhere (like the dominator graph) and would like to know which case it came from. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30466 91177308-0d34-0410-b5e6-96231b3b80d8
* Sort out mangled names for globalsJim Laskey2006-09-181-0/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30460 91177308-0d34-0410-b5e6-96231b3b80d8
* Add support for pattern matching cast operationsChris Lattner2006-09-181-0/+33
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30454 91177308-0d34-0410-b5e6-96231b3b80d8
* fix typoChris Lattner2006-09-181-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30453 91177308-0d34-0410-b5e6-96231b3b80d8
* add a helper methodChris Lattner2006-09-181-0/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30452 91177308-0d34-0410-b5e6-96231b3b80d8
* Added some eye-candy for Subtarget type checkingAnton Korobeynikov2006-09-171-7/+18
| | | | | | | Added X86 StdCall & FastCall calling conventions. Codegen will follow. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30446 91177308-0d34-0410-b5e6-96231b3b80d8
* Add ShiftInst::isLogical/ArithmeticShift methods.Chris Lattner2006-09-172-7/+17
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30445 91177308-0d34-0410-b5e6-96231b3b80d8
* Add new SetCondInst::isRelational/isEquality methods. RenameChris Lattner2006-09-172-4/+15
| | | | | | | Instruction::isRelational to Instruction::isComparison. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30444 91177308-0d34-0410-b5e6-96231b3b80d8
* Keep track of the start of MBB's in a separate map from instructions. ThisChris Lattner2006-09-151-2/+17
| | | | | | | is faster and is needed for future improvements. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30383 91177308-0d34-0410-b5e6-96231b3b80d8
* Undo previous check-in.Devang Patel2006-09-141-1/+10
| | | | | | | Reintroduce recursive assignDFSNumber(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30380 91177308-0d34-0410-b5e6-96231b3b80d8
* Adding dllimport, dllexport and external weak linkage types.Anton Korobeynikov2006-09-141-11/+17
| | | | | | | | | | DLL* linkages got full (I hope) codegeneration support in C & both x86 assembler backends. External weak linkage added for future use, we don't provide any codegeneration, etc. support for it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30374 91177308-0d34-0410-b5e6-96231b3b80d8
* Add MachineConstantPoolEntry getOffset() accessor.Evan Cheng2006-09-141-2/+6
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30325 91177308-0d34-0410-b5e6-96231b3b80d8
* The top bit is used to determine whether it's a MachineConstantPoolValue.Evan Cheng2006-09-141-2/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30324 91177308-0d34-0410-b5e6-96231b3b80d8
* revert accidentally committed fileChris Lattner2006-09-141-23/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30323 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove dead methods, add getNumBlockIDs() methodChris Lattner2006-09-142-10/+25
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30322 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a HAVE_MACH_MACH_H #define to detect the presence of the mach/mach.hReid Spencer2006-09-141-0/+3
| | | | | | | header file on Darwin. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30319 91177308-0d34-0410-b5e6-96231b3b80d8
* Mirrors ConstantPoolSDNode.Evan Cheng2006-09-141-0/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30314 91177308-0d34-0410-b5e6-96231b3b80d8
* Avoid recursion in assignDFSNumber(). Move def from ET-Forest.hDevang Patel2006-09-141-10/+1
| | | | | | | to Dominators.h git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30309 91177308-0d34-0410-b5e6-96231b3b80d8
* Added support for machine specific constantpool values. These are useful forEvan Cheng2006-09-125-10/+123
| | | | | | | representing expressions that can only be resolved at link time, etc. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30278 91177308-0d34-0410-b5e6-96231b3b80d8
* Add ability to remove nodes from DominatorTree, for when a BasicBlockNick Lewycky2006-09-121-0/+8
| | | | | | | is being removed. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30270 91177308-0d34-0410-b5e6-96231b3b80d8
* Behold, more work on relocations. Things are looking pretty good now.Nate Begeman2006-09-101-11/+36
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30240 91177308-0d34-0410-b5e6-96231b3b80d8
* 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