aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Add LLVMFoldingBuilderDevang Patel2007-10-091-3/+215
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42806 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove an unnecessary friend declaration.Dan Gohman2007-10-091-1/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42805 91177308-0d34-0410-b5e6-96231b3b80d8
* update prototype, fixing build errorChris Lattner2007-10-091-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42789 91177308-0d34-0410-b5e6-96231b3b80d8
* Pass argc by value, not by reference, since it isn't modified.Dan Gohman2007-10-092-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42788 91177308-0d34-0410-b5e6-96231b3b80d8
* LowerIntegerDivOrRem no longer exists.Dan Gohman2007-10-091-1/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42787 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix grammar in a comment.Dan Gohman2007-10-091-3/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42786 91177308-0d34-0410-b5e6-96231b3b80d8
* This is done.Dan Gohman2007-10-091-30/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42785 91177308-0d34-0410-b5e6-96231b3b80d8
* These two tests now require only two multiply instructions,Dan Gohman2007-10-092-0/+28
| | | | | | | instead of four. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42784 91177308-0d34-0410-b5e6-96231b3b80d8
* Under 64-bit mode use LEA64_32r instead of LEA64r to save a byte.Evan Cheng2007-10-091-6/+13
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42783 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix problems where DenseMap used operator!= instead of correctly Chris Lattner2007-10-091-10/+15
| | | | | | | calling the traits implementation of isEqual. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42782 91177308-0d34-0410-b5e6-96231b3b80d8
* Change a #include into a forward declarationChris Lattner2007-10-092-1/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42781 91177308-0d34-0410-b5e6-96231b3b80d8
* Position Independent Code (PIC) support [3]Bruno Cardoso Lopes2007-10-093-20/+51
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42780 91177308-0d34-0410-b5e6-96231b3b80d8
* Position Independent Code (PIC) support [2]Bruno Cardoso Lopes2007-10-093-10/+32
| | | | | | | | | | | - Added a function to hold the stack location where GP must be stored during LowerCALL - AsmPrinter now emits directives based on relocation type - PIC_ set to default relocation type (same as GCC) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42779 91177308-0d34-0410-b5e6-96231b3b80d8
* Position Independent Code (PIC) support [1]Bruno Cardoso Lopes2007-10-092-18/+44
| | | | | | | | - Modified instruction format to handle pseudo instructions - Added LoadAddr SDNode to load symbols. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42778 91177308-0d34-0410-b5e6-96231b3b80d8
* Update test.Evan Cheng2007-10-081-41/+40
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42775 91177308-0d34-0410-b5e6-96231b3b80d8
* Bug fix. X86 was emitting redundant setcc and test instructions before a ↵Evan Cheng2007-10-081-20/+13
| | | | | | conditional move. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42774 91177308-0d34-0410-b5e6-96231b3b80d8
* Call getFunctionNumber() instead of referencing FunctionNumber directly,Dan Gohman2007-10-081-1/+1
| | | | | | | for consistency. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42769 91177308-0d34-0410-b5e6-96231b3b80d8
* Mark the prefetch intrinsic as IntrWriteArgMem, instead of theDan Gohman2007-10-081-1/+5
| | | | | | | | default of IntrWriteMem, to at least indicate that it doesn't "capture" the argument pointer. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42768 91177308-0d34-0410-b5e6-96231b3b80d8
* These two tests now require only three multiply instructions,Dan Gohman2007-10-082-0/+12
| | | | | | | instead of four. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42765 91177308-0d34-0410-b5e6-96231b3b80d8
* Various improvements to the documentation, contributed byChris Lattner2007-10-081-23/+62
| | | | | | | Joshua Haberman! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42763 91177308-0d34-0410-b5e6-96231b3b80d8
* Migrate X86 and ARM from using X86ISD::{,I}DIV and ARMISD::MULHILO{U,S} toDan Gohman2007-10-088-222/+273
| | | | | | | | | use ISD::{S,U}DIVREM and ISD::{S,U}MUL_HIO. Move the lowering code associated with these operators into target-independent in LegalizeDAG.cpp and TargetLowering.cpp. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42762 91177308-0d34-0410-b5e6-96231b3b80d8
* Allow x86 compare to be commutable by default.Evan Cheng2007-10-081-9/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42761 91177308-0d34-0410-b5e6-96231b3b80d8
* C and Objective Caml bindings for PHINode::addIncoming etc.Gordon Henriksen2007-10-086-22/+139
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42760 91177308-0d34-0410-b5e6-96231b3b80d8
* DAGCombiner support for UDIVREM/SDIVREM and UMUL_LOHI/SMUL_LOHI. Dan Gohman2007-10-081-17/+137
| | | | | | | | | | Check if one of the two results unneeded so see if a simpler operator could bs used. Also check to see if each of the two computations could be simplified if they were split into separate operators. Factor out the code that calls visit() so that it can be used for this purpose. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42759 91177308-0d34-0410-b5e6-96231b3b80d8
* LLVM does not use the old style simple isel any more.Evan Cheng2007-10-081-5/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42758 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove debugging printf to get build going on x86-64.Evan Cheng2007-10-081-2/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42757 91177308-0d34-0410-b5e6-96231b3b80d8
* When we start enabling SMUL_LOHI/UMUL_LOHI or SDIVREM/UDIVREM inDan Gohman2007-10-081-0/+14
| | | | | | | target-indepenent lowering, don't use them on PowerPC. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42755 91177308-0d34-0410-b5e6-96231b3b80d8
* Add convenience overloads of SelectionDAG::getNode that take a SDVTListDan Gohman2007-10-082-0/+47
| | | | | | | and individual SDOperand operands. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42753 91177308-0d34-0410-b5e6-96231b3b80d8
* Move the space in overview output for commands out of each of theDan Gohman2007-10-0819-19/+19
| | | | | | | commands and into the common code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42752 91177308-0d34-0410-b5e6-96231b3b80d8
* Simplify getIntPtrType, allowing it to work for arbitrary pointer sizes.Dan Gohman2007-10-081-6/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42751 91177308-0d34-0410-b5e6-96231b3b80d8
* Use correct parentheses with the '&& "..."' idiom in an assert.Dan Gohman2007-10-081-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42750 91177308-0d34-0410-b5e6-96231b3b80d8
* In -debug mode, dump SelectionDAGs both before and after theDan Gohman2007-10-081-1/+7
| | | | | | | optimization passes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42749 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix grammar in a comment.Dan Gohman2007-10-081-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42748 91177308-0d34-0410-b5e6-96231b3b80d8
* Add explicit keywords.Dan Gohman2007-10-086-16/+18
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42747 91177308-0d34-0410-b5e6-96231b3b80d8
* Use APInt::tcExtract. It's cleaner, and works :)Neil Booth2007-10-081-19/+14
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42746 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a new function tcExtract for extracting a bignum from anNeil Booth2007-10-082-34/+83
| | | | | | | | | | | | | | | arbitrary range of bits embedded in the middle of another bignum. This kind of operation is desirable in many cases of software floating point, e.g. converting bignum integers to floating point numbers of fixed precision (you want to extract the precision most significant bits). Elsewhere, add an assertion, and exit the shift functions early if the shift count is zero. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42745 91177308-0d34-0410-b5e6-96231b3b80d8
* Fixed downrev Ocaml compatibility.Gordon Henriksen2007-10-081-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42744 91177308-0d34-0410-b5e6-96231b3b80d8
* Begin the process of allowing DomTree on MBB's. Step One: template ↵Owen Anderson2007-10-082-35/+50
| | | | | | DomTreeNode by making it a typedef of a templated DomTreeNodeBase. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42743 91177308-0d34-0410-b5e6-96231b3b80d8
* Kill cycle of an live range is always the last use index + 1.Evan Cheng2007-10-081-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42742 91177308-0d34-0410-b5e6-96231b3b80d8
* Allow passes to just pass up "FunctionPass(&ID)" instead of ↵Chris Lattner2007-10-081-0/+6
| | | | | | "FunctionPass((intptr_t)&ID)" git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42741 91177308-0d34-0410-b5e6-96231b3b80d8
* C and Objective Caml bindings for getFunction and getNamedGlobal. Also enhancedGordon Henriksen2007-10-086-3/+69
| | | | | | | the Objective Caml 'declare_*' functions to behave more or less like getOrInsertFunction. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42740 91177308-0d34-0410-b5e6-96231b3b80d8
* disable this entirely: it is causing use of invalidated iterators and ↵Chris Lattner2007-10-071-0/+2
| | | | | | infinite looping. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42739 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix many regressions on x86 by avoiding dereferencing the end iterator.Chris Lattner2007-10-071-35/+38
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42738 91177308-0d34-0410-b5e6-96231b3b80d8
* Finish off PR1723, by working around some strange compiler bug.Chris Lattner2007-10-071-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42737 91177308-0d34-0410-b5e6-96231b3b80d8
* C and Objective Caml bindings for GlobalVariable::isConstant.Gordon Henriksen2007-10-077-1/+70
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42736 91177308-0d34-0410-b5e6-96231b3b80d8
* Add back convertFromSignExtendedInteger.Neil Booth2007-10-072-0/+32
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42735 91177308-0d34-0410-b5e6-96231b3b80d8
* Now that convertFromUnsignedParts has a sane, constant interface,Neil Booth2007-10-071-5/+1
| | | | | | | | convertFromZeroExtendedInteger can be simplified as it doesn't need to make a copy of the source bignum. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42734 91177308-0d34-0410-b5e6-96231b3b80d8
* Reimplement convertFromUnsignedInteger so it is passed a const bignum.Neil Booth2007-10-072-20/+31
| | | | | | | | | | It used to modify its argument in-place. This interface is saner and the implementation more efficient. It will be needed for decimal->binary conversion. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42733 91177308-0d34-0410-b5e6-96231b3b80d8
* convertFromInteger, as originally written, expected sign-extendedNeil Booth2007-10-076-12/+14
| | | | | | | | | | input. APInt unfortunately zero-extends signed integers, so Dale modified the function to expect zero-extended input. Make this assumption explicit in the function name. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42732 91177308-0d34-0410-b5e6-96231b3b80d8
* combineLostFractions does not need to be a member functionNeil Booth2007-10-072-17/+15
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42729 91177308-0d34-0410-b5e6-96231b3b80d8