aboutsummaryrefslogtreecommitdiffstats
path: root/include/llvm
Commit message (Collapse)AuthorAgeFilesLines
* Clean up a lot of the code I added yesterday by exposing the IntrinsicLoweringChris Lattner2003-12-284-15/+17
| | | | | | | implementation from the TargetMachine directly. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10636 91177308-0d34-0410-b5e6-96231b3b80d8
* Add coalescing to register allocator. A hint is added to each intervalAlkis Evlogimenos2003-12-282-0/+2
| | | | | | | | | | | | which denotes the register we would like to be assigned to (virtual or physical). In register allocation, if this hint exists and we can map it to a physical register (it is either a physical register or it is a virtual register that already got assigned to a physical one) we use that register if it is available instead of a random one in the free pool. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10634 91177308-0d34-0410-b5e6-96231b3b80d8
* Add TargetInstrInfo::isMoveInstr() to support coalescing in registerAlkis Evlogimenos2003-12-281-0/+10
| | | | | | | allocation. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10633 91177308-0d34-0410-b5e6-96231b3b80d8
* We may now pass IntrinsicLowering implementations into these methodsChris Lattner2003-12-282-17/+24
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10630 91177308-0d34-0410-b5e6-96231b3b80d8
* add argumentChris Lattner2003-12-281-4/+6
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10625 91177308-0d34-0410-b5e6-96231b3b80d8
* ABC's must have virtual dtors! Shame on me!Chris Lattner2003-12-282-0/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10624 91177308-0d34-0410-b5e6-96231b3b80d8
* Move header into top-level llvm dirChris Lattner2003-12-282-6/+6
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10622 91177308-0d34-0410-b5e6-96231b3b80d8
* Add new interface that allows removal of some code from the code generators,Chris Lattner2003-12-282-0/+126
| | | | | | | | | provides for future extensibility, might help the LLVA project avoid having to hack their own LLI, and provides support required for the experimental Venus project. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10620 91177308-0d34-0410-b5e6-96231b3b80d8
* New methodChris Lattner2003-12-261-0/+7
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10615 91177308-0d34-0410-b5e6-96231b3b80d8
* Rename 'run' to 'runFunction' to emphasize that it is usable to run anyChris Lattner2003-12-261-6/+8
| | | | | | | function in a module, not just main git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10608 91177308-0d34-0410-b5e6-96231b3b80d8
* Hrm is a really nasty ommission. The lack of this destructor was causing ↵Chris Lattner2003-12-231-0/+2
| | | | | | | | | | abstract types to never be deleted, manifesting itself as many OpaqueType objects being leaked. Whoops. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10601 91177308-0d34-0410-b5e6-96231b3b80d8
* Rename ClassifyExpression -> ClassifyExprChris Lattner2003-12-231-6/+6
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10591 91177308-0d34-0410-b5e6-96231b3b80d8
* Doxygenize methods, add new getIntPtrType methodChris Lattner2003-12-221-10/+14
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10578 91177308-0d34-0410-b5e6-96231b3b80d8
* fix grammaoChris Lattner2003-12-221-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10576 91177308-0d34-0410-b5e6-96231b3b80d8
* Change weight into a float so that we can take into account theAlkis Evlogimenos2003-12-212-4/+6
| | | | | | | | | nesting level when computing it. Right now the allocator uses: w = sum_over_defs_uses( 10 ^ nesting level ); git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10569 91177308-0d34-0410-b5e6-96231b3b80d8
* Add support for inactive intervals. This effectively reuses registersAlkis Evlogimenos2003-12-212-8/+12
| | | | | | | for live ranges that fall into assigned registers' holes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10566 91177308-0d34-0410-b5e6-96231b3b80d8
* Rearrange code, indent for the namespace, add the ↵Chris Lattner2003-12-202-45/+48
| | | | | | | | | createMachineFunctionPrinterPass to passes.h, and add the machien destruction pass to Passes.h git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10557 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove sparc specific passes from public headersChris Lattner2003-12-201-2/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10552 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove a horrible APIChris Lattner2003-12-201-2/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10551 91177308-0d34-0410-b5e6-96231b3b80d8
* Cleanups to implement PR135Chris Lattner2003-12-201-4/+11
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10548 91177308-0d34-0410-b5e6-96231b3b80d8
* Simple refactorings to prepare for lazy global emissionChris Lattner2003-12-201-3/+10
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10546 91177308-0d34-0410-b5e6-96231b3b80d8
* Rip JIT specific stuff out of TargetMachine, as per PR176Chris Lattner2003-12-202-25/+62
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10542 91177308-0d34-0410-b5e6-96231b3b80d8
* Add new functionChris Lattner2003-12-191-0/+10
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10529 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove TwoAddressInstruction from the public headers and add an IDAlkis Evlogimenos2003-12-182-51/+5
| | | | | | | instead, since this pass doesn't expose any state to its users. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10520 91177308-0d34-0410-b5e6-96231b3b80d8
* Add TwoAddressInstructionPass to handle instructions that have two orAlkis Evlogimenos2003-12-182-12/+107
| | | | | | | | | | | | | | | | | more operands and the two first operands are constrained to be the same. The pass takes an instruction of the form: a = b op c and transforms it into: a = b a = a op c and also preserves live variables. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10512 91177308-0d34-0410-b5e6-96231b3b80d8
* Rename LiveIntervals::expired() to LiveIntervals::expiredAt().Alkis Evlogimenos2003-12-182-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10511 91177308-0d34-0410-b5e6-96231b3b80d8
* Handle multiple virtual register definitions gracefully.Alkis Evlogimenos2003-12-182-94/+8
| | | | | | | | | Move some of the longer LiveIntervals::Interval method out of the header and add debug information to them. Fix bug and simplify range merging code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10509 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a new AliassetTracker::remove method. Because we need to be able to removeChris Lattner2003-12-181-9/+33
| | | | | | | | | a pointer from an AliasSet, maintain the pointer values on a doubly linked list instead of a singly linked list, to permit efficient removal from the middle of the list. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10506 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix typo in comment.Brian Gaeke2003-12-161-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10487 91177308-0d34-0410-b5e6-96231b3b80d8
* I wonder how this didn't cause any tests to fail...Alkis Evlogimenos2003-12-141-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10462 91177308-0d34-0410-b5e6-96231b3b80d8
* Change interface of MachineOperand as follows:Alkis Evlogimenos2003-12-141-20/+16
| | | | | | | | | | | | | | | | a) remove opIsUse(), opIsDefOnly(), opIsDefAndUse() b) add isUse(), isDef() c) rename opHiBits32() to isHiBits32(), opLoBits32() to isLoBits32(), opHiBits64() to isHiBits64(), opLoBits64() to isLoBits64(). This results to much more readable code, for example compare "op.opIsDef() || op.opIsDefAndUse()" to "op.isDef()" a pattern used very often in the code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10461 91177308-0d34-0410-b5e6-96231b3b80d8
* Add capability to represent volatile AliasSet'sChris Lattner2003-12-141-3/+13
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10456 91177308-0d34-0410-b5e6-96231b3b80d8
* Ignore non-allocatable physical registers in live interval analysis.Alkis Evlogimenos2003-12-131-0/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10449 91177308-0d34-0410-b5e6-96231b3b80d8
* Add new getJITStubForFunction method, which may optionally be implemented byChris Lattner2003-12-121-2/+11
| | | | | | | targets for better performance. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10429 91177308-0d34-0410-b5e6-96231b3b80d8
* Doxygenify comments, remove extraneous #includeChris Lattner2003-12-121-16/+15
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10428 91177308-0d34-0410-b5e6-96231b3b80d8
* Use uintptr_t for pointer values in the ExecutionEngine.Brian Gaeke2003-12-121-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10425 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix typo in commentBrian Gaeke2003-12-121-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10424 91177308-0d34-0410-b5e6-96231b3b80d8
* IncludeFile hack to pull in BasicValueNumbering whenever ValueNumbering.hBrian Gaeke2003-12-111-0/+5
| | | | | | | is included. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10397 91177308-0d34-0410-b5e6-96231b3b80d8
* IncludeFile hack to pull in BasicAliasAnalysis whenever AliasAnalysis.hBrian Gaeke2003-12-111-0/+9
| | | | | | | is included. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10396 91177308-0d34-0410-b5e6-96231b3b80d8
* add two new virtual functions:Chris Lattner2003-12-081-0/+17
| | | | | | | | The first returns a function pointer or a stub if it's not already generated The second exposes what was previously JIT specific state to general clients git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10319 91177308-0d34-0410-b5e6-96231b3b80d8
* Since ssaification of the varargs builtings, the vaarg instruction no longerChris Lattner2003-12-081-2/+0
| | | | | | | can write to memory. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10310 91177308-0d34-0410-b5e6-96231b3b80d8
* Regenerated using autoheader-2.57Brian Gaeke2003-12-081-0/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10309 91177308-0d34-0410-b5e6-96231b3b80d8
* The recalclulate method was a nasty hack that was once used by the -cee pass,Chris Lattner2003-12-071-5/+0
| | | | | | | | which never worked itself. The cee pass still doesn't work, but it doesn't use this method anymore anyway, so eliminate the method. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10302 91177308-0d34-0410-b5e6-96231b3b80d8
* Rewrite dominators implementation. Now domset is constructed from immdom,Chris Lattner2003-12-071-95/+111
| | | | | | | instead of the other way around. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10300 91177308-0d34-0410-b5e6-96231b3b80d8
* Move this method out of the generic dominators calculation codeChris Lattner2003-12-071-0/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10298 91177308-0d34-0410-b5e6-96231b3b80d8
* Move operator<<(std::ostream&, const LiveInterval&) out of the header file.Alkis Evlogimenos2003-12-052-18/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10290 91177308-0d34-0410-b5e6-96231b3b80d8
* Lock abstraction, introduced with a view toward making the JIT thread-safe.Brian Gaeke2003-12-011-0/+69
| | | | | | | Eventually. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10284 91177308-0d34-0410-b5e6-96231b3b80d8
* Add new block numberChris Lattner2003-12-011-0/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10281 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove unused enum valueChris Lattner2003-12-011-1/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10279 91177308-0d34-0410-b5e6-96231b3b80d8
* Add some "useful" methodsChris Lattner2003-12-011-0/+6
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10277 91177308-0d34-0410-b5e6-96231b3b80d8