summaryrefslogtreecommitdiff
path: root/include
Commit message (Collapse)AuthorAge
* Make it clear that getSTDIN returns null when stdin is empty.Reid Spencer2007-08-08
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40940 91177308-0d34-0410-b5e6-96231b3b80d8
* Adding kill info to val#.Evan Cheng2007-08-08
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40925 91177308-0d34-0410-b5e6-96231b3b80d8
* Clean up and bug fix.Evan Cheng2007-08-08
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40921 91177308-0d34-0410-b5e6-96231b3b80d8
* reimplement dfs number computation to be significantly faster. This speeds upChris Lattner2007-08-08
| | | | | | | | natural loop canonicalization (which does many cfg xforms) by 4.3x, for example. This also fixes a bug in postdom dfnumber computation. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40920 91177308-0d34-0410-b5e6-96231b3b80d8
* - Each val# can have multiple kills.Evan Cheng2007-08-08
| | | | | | | | - Fix some minor bugs related to special markers on val# def. ~0U means undefined, ~1U means dead val#. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40916 91177308-0d34-0410-b5e6-96231b3b80d8
* - LiveInterval value#'s now have 3 components: def instruction #,Evan Cheng2007-08-07
| | | | | | | | | | | kill instruction #, and source register number (iff the value# is defined by a copy). - Now def instruction # is set for every value#, not just for copy defined ones. - Update some outdated code related inactive live ranges. - Kill info not yet set. That's next patch. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40913 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix comment.Devang Patel2007-08-07
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40911 91177308-0d34-0410-b5e6-96231b3b80d8
* Get rid of unnecessary #include.Owen Anderson2007-08-07
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40885 91177308-0d34-0410-b5e6-96231b3b80d8
* Clean up a bunch of caching stuff in memdep. This reduces the time to run GVNOwen Anderson2007-08-07
| | | | | | | on 403.gcc from ~15s to ~10s. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40884 91177308-0d34-0410-b5e6-96231b3b80d8
* Begin loop index split pass.Devang Patel2007-08-07
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40883 91177308-0d34-0410-b5e6-96231b3b80d8
* remove #if 0 code.Chris Lattner2007-08-06
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40880 91177308-0d34-0410-b5e6-96231b3b80d8
* remove #if 0 code.Chris Lattner2007-08-06
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40879 91177308-0d34-0410-b5e6-96231b3b80d8
* This fixes resizing issues with BitVectors. It ensures that the BitWord type ↵Chandler Carruth2007-08-06
| | | | | | and type size is always used, and ensures completely correct clearing of unused high bits, and setting of bits when resizing. It should resolve PR1563. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40871 91177308-0d34-0410-b5e6-96231b3b80d8
* @verbatim needs to be on a line by itself.Reid Spencer2007-08-06
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40865 91177308-0d34-0410-b5e6-96231b3b80d8
* Implement review feedback. No functionality change.Christopher Lamb2007-08-06
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40863 91177308-0d34-0410-b5e6-96231b3b80d8
* Various random cleanups, add two accessors to DomTreeNode: ↵Chris Lattner2007-08-06
| | | | | | getDFSNumIn/getDFSNumOut git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40856 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix minor doxygen nits.Reid Spencer2007-08-05
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40854 91177308-0d34-0410-b5e6-96231b3b80d8
* Document a missing parameter.Reid Spencer2007-08-05
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40852 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix a bug in DenseMap::clear, where we never reset a tombstoneChris Lattner2007-08-05
| | | | | | | to EmptyKey. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40839 91177308-0d34-0410-b5e6-96231b3b80d8
* When clearing a SmallPtrSet, if the set had a huge capacity, but theChris Lattner2007-08-05
| | | | | | | | | | | contents of the set were small, deallocate and shrink the set. This avoids having us to memset as much data, significantly speeding up some pathological cases. For example, this speeds up the verifier from 0.3899s to 0.0763 (5.1x) on the testcase from PR1432 in a release build. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40837 91177308-0d34-0410-b5e6-96231b3b80d8
* Switch the internal "Info" map from an std::map to a DenseMap. ThisChris Lattner2007-08-05
| | | | | | | | | | speeds up idom by about 45% and postidom by about 33%. Some extra precautions must be taken not to invalidate densemap iterators. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40827 91177308-0d34-0410-b5e6-96231b3b80d8
* switch the DomTreeNodes and IDoms maps in idom/postidom to a Chris Lattner2007-08-04
| | | | | | | | | | DenseMap instead of an std::map. This speeds up postdomtree by about 25% and domtree by about 23%. It also speeds up clients, for example, domfrontier by 11%, mem2reg by 4% and ADCE by 6%. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40826 91177308-0d34-0410-b5e6-96231b3b80d8
* This is the patch to provide clean intrinsic function overloading support in ↵Chandler Carruth2007-08-04
| | | | | | | | | LLVM. It cleans up the intrinsic definitions and generally smooths the process for more complicated intrinsic writing. It will be used by the upcoming atomic intrinsics as well as vector and float intrinsics in the future. This also changes the syntax for llvm.bswap, llvm.part.set, llvm.part.select, and llvm.ct* intrinsics. They are automatically upgraded by both the LLVM ASM reader and the bitcode reader. The test cases have been updated, with special tests added to ensure the automatic upgrading is supported. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40807 91177308-0d34-0410-b5e6-96231b3b80d8
* long double patch 3 of N. Add to MVT.Dale Johannesen2007-08-03
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40793 91177308-0d34-0410-b5e6-96231b3b80d8
* Long double, part 1 of N. Support in IR.Dale Johannesen2007-08-03
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40774 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix bug spotted by Chris.Anders Carlsson2007-08-02
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40725 91177308-0d34-0410-b5e6-96231b3b80d8
* Add extend and extOrTrunc methods that do sign or zero extension depending ↵Anders Carlsson2007-08-02
| | | | | | on whether the integer is signed or not git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40724 91177308-0d34-0410-b5e6-96231b3b80d8
* Do not emit copies for physical register output if it's not used.Evan Cheng2007-08-02
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40722 91177308-0d34-0410-b5e6-96231b3b80d8
* Instead of adding copyfromreg's to handle physical definitions. Now isel canEvan Cheng2007-08-02
| | | | | | | | | | | | | | | simply specify them as results and let scheduledag handle them. That is, instead of SDOperand Flag = DAG.getTargetNode(Opc, MVT::i32, MVT::Flag, ...) SDOperand Result = DAG.getCopyFromReg(Chain, X86::EAX, MVT::i32, Flag) Just write: SDOperand Result = DAG.getTargetNode(Opc, MVT::i32, MVT::i32, ...) And let scheduledag emit the move from X86::EAX to a virtual register. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40710 91177308-0d34-0410-b5e6-96231b3b80d8
* Added TargetInstrDescriptor::numDefs - num of results.Evan Cheng2007-08-02
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40709 91177308-0d34-0410-b5e6-96231b3b80d8
* Make non-local memdep not be recursive, and fix a bug on 403.gcc that this ↵Owen Anderson2007-08-01
| | | | | | exposed. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40692 91177308-0d34-0410-b5e6-96231b3b80d8
* More explicit keywords.Dan Gohman2007-08-01
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40673 91177308-0d34-0410-b5e6-96231b3b80d8
* Make ImmutablePass::runOnModule non-virtual, since it is notDan Gohman2007-08-01
| | | | | | | intended to be overridden. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40671 91177308-0d34-0410-b5e6-96231b3b80d8
* Rename FastDSE to just DSE.Owen Anderson2007-08-01
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40668 91177308-0d34-0410-b5e6-96231b3b80d8
* New CallInst interface to address GLIBCXX_DEBUG errors caused byDavid Greene2007-08-01
| | | | | | | | | indexing an empty std::vector. Updates to all clients. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40660 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix GLIBCXX_DEBUG error owing to dereference of end iterator. There'sDavid Greene2007-07-31
| | | | | | | | no guarantee that an instruction returned by getDependency exists in the maps. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40647 91177308-0d34-0410-b5e6-96231b3b80d8
* Introduce Simple Analysis interface for loop passes.Devang Patel2007-07-31
| | | | | | | Right now, this interface provides hooks for only to operations, 1) clone basic block 2) delete value. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40625 91177308-0d34-0410-b5e6-96231b3b80d8
* Add detection of __dso_handle presence during configure. Use this ↵Anton Korobeynikov2007-07-30
| | | | | | | | | | information in the JITer (short path is added for darwin). This is needed to properly JIT llvm-gcc-4.2-built binaries, since cxa_atexit is enabled by default on much more targets. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40600 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix the comments for the 'fast' parameter in addPassesToEmitFile.Dan Gohman2007-07-30
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40592 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix the comment for getClosestTargetForJIT to reflect the fact thatDan Gohman2007-07-30
| | | | | | | it does not have a Module parameter. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40590 91177308-0d34-0410-b5e6-96231b3b80d8
* More explicit keywords.Dan Gohman2007-07-30
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40589 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix pastos in comments for doFinalization functions.Dan Gohman2007-07-30
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40588 91177308-0d34-0410-b5e6-96231b3b80d8
* Add facility to dump pass manager structure Devang Patel2007-07-27
| | | | | | | to make it easier to understand failure. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40567 91177308-0d34-0410-b5e6-96231b3b80d8
* Use SmallPtrSet.Devang Patel2007-07-27
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40560 91177308-0d34-0410-b5e6-96231b3b80d8
* Allow SmallPtrSet to hold pointers to const data.Owen Anderson2007-07-27
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40556 91177308-0d34-0410-b5e6-96231b3b80d8
* Support for trampolines, except for X86 codegen which isDuncan Sands2007-07-27
| | | | | | | still under discussion. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40549 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a MachineFunction pass, which runs post register allocation, that turns ↵Christopher Lamb2007-07-26
| | | | | | subreg insert/extract instruction into register copies. This ensures correct code gen if the coalescer isn't able to remove all subreg instructions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40521 91177308-0d34-0410-b5e6-96231b3b80d8
* Teach DAG scheduling how to properly emit subreg insert/extract machine ↵Christopher Lamb2007-07-26
| | | | | | instructions. PR1350 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40520 91177308-0d34-0410-b5e6-96231b3b80d8
* Have register info provide the inverse mapping of register->superregisters. ↵Christopher Lamb2007-07-26
| | | | | | PR1350 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40519 91177308-0d34-0410-b5e6-96231b3b80d8
* Add target independent MachineInstr's to represent subreg insert/extract in ↵Christopher Lamb2007-07-26
| | | | | | MBB's. PR1350 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40518 91177308-0d34-0410-b5e6-96231b3b80d8