aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* Add arbitrary integer support to getRegisterType andDuncan Sands2008-02-111-1/+11
| | | | | | | | getNumRegisters. This is needed for calling functions with apint parameters or return values. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46956 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix PR1798 - an error in the evaluation of SCEVAddRecExpr at an Wojciech Matyjewicz2008-02-115-64/+114
| | | | | | | | | | | | | | | | | | | | | | | | | | arbitrary iteration. The patch: 1) changes SCEVSDivExpr into SCEVUDivExpr, 2) replaces PartialFact() function with BinomialCoefficient(); the computations (essentially, the division) in BinomialCoefficient() are performed with the apprioprate bitwidth necessary to avoid overflow; unsigned division is used instead of the signed one. Computations in BinomialCoefficient() require support from the code generator for APInts. Currently, we use a hack rounding up the neccessary bitwidth to the nearest power of 2. The hack is easy to turn off in future. One remaining issue: we assume the divisor of the binomial coefficient formula can be computed accurately using 16 bits. It means we can handle AddRecs of length up to 9. In future, we should use APInts to evaluate the divisor. Thanks to Nicholas for cooperation! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46955 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a isBigEndian method to complement isLittleEndian.Duncan Sands2008-02-114-11/+12
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46954 91177308-0d34-0410-b5e6-96231b3b80d8
* Determine whether a spill kills the register it's spilling before insertion ↵Evan Cheng2008-02-112-8/+13
| | | | | | rather than trying to undo the kill marker afterwards. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46953 91177308-0d34-0410-b5e6-96231b3b80d8
* tweaks from dale.Chris Lattner2008-02-111-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46952 91177308-0d34-0410-b5e6-96231b3b80d8
* updates from EvanChris Lattner2008-02-111-2/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46951 91177308-0d34-0410-b5e6-96231b3b80d8
* Enable SSE4 codegen and pattern matching.Nate Begeman2008-02-115-25/+242
| | | | | | | Add some notes to the README. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46949 91177308-0d34-0410-b5e6-96231b3b80d8
* additional missing featureNate Begeman2008-02-111-0/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46948 91177308-0d34-0410-b5e6-96231b3b80d8
* corrected some spellingsGabor Greif2008-02-101-3/+3
| | | | | | | | maybe c380004 can be hyperlinked too? git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46934 91177308-0d34-0410-b5e6-96231b3b80d8
* Various updates from Sam Bishop:Chris Lattner2008-02-109-75/+87
| | | | | | | | | | | | | | | | "I have been working my way through the JIT and Kaleidoscope tutorials in my (minuscule) spare time. Thanks again for writing them! I have attached a patch containing some minor changes, ranging from spelling and grammar fixes to adding a "Next: <next tutorial section>" hyperlink to the bottom of each page. Every page has been given the "next link" treatment, but otherwise I'm only half way through the Kaleidoscope tutorial. I will send a follow-on patch if time permits." git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46933 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix scalarrepl to not 'miscompile' undefined code, part #2.Chris Lattner2008-02-101-1/+1
| | | | | | | | This fixes the store case, my previous patch just fixed the load case. rdar://5707076. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46932 91177308-0d34-0410-b5e6-96231b3b80d8
* xmm0 variable blendsNate Begeman2008-02-101-2/+27
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46931 91177308-0d34-0410-b5e6-96231b3b80d8
* Rename MRegisterInfo to TargetRegisterInfo.Dan Gohman2008-02-10107-596/+614
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46930 91177308-0d34-0410-b5e6-96231b3b80d8
* close an li tagChris Lattner2008-02-101-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46929 91177308-0d34-0410-b5e6-96231b3b80d8
* Add some Ada info and correct a few buglets.Duncan Sands2008-02-101-11/+60
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46928 91177308-0d34-0410-b5e6-96231b3b80d8
* Add truncate and AssertZext result expansion.Duncan Sands2008-02-103-0/+33
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46926 91177308-0d34-0410-b5e6-96231b3b80d8
* remove the in progress marker.Chris Lattner2008-02-101-2/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46925 91177308-0d34-0410-b5e6-96231b3b80d8
* validation fixesChris Lattner2008-02-101-1/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46924 91177308-0d34-0410-b5e6-96231b3b80d8
* final set of major updatesChris Lattner2008-02-101-54/+83
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46923 91177308-0d34-0410-b5e6-96231b3b80d8
* Return "(c1 + c2)" instead of yet another ADD node (which made this aBill Wendling2008-02-101-1/+1
| | | | | | | no-op). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46922 91177308-0d34-0410-b5e6-96231b3b80d8
* more prose, some organization improvements.Chris Lattner2008-02-101-66/+88
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46921 91177308-0d34-0410-b5e6-96231b3b80d8
* random notesChris Lattner2008-02-101-5/+32
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46920 91177308-0d34-0410-b5e6-96231b3b80d8
* add anoteChris Lattner2008-02-101-0/+7
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46918 91177308-0d34-0410-b5e6-96231b3b80d8
* Match GCC's behaviour for these sections.Nick Lewycky2008-02-101-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46916 91177308-0d34-0410-b5e6-96231b3b80d8
* memopv16i8 had wrong alignment requirement, would have broken pabsbNate Begeman2008-02-091-129/+193
| | | | | | | | | pabs{b,w,d} are not two address fix extract-to-mem sse4 ops add sse4 vector sign extend nodes git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46915 91177308-0d34-0410-b5e6-96231b3b80d8
* add some more notes, still not ready for review :)Chris Lattner2008-02-091-7/+30
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46914 91177308-0d34-0410-b5e6-96231b3b80d8
* scoped_ptr.h was removed.Chris Lattner2008-02-092-24/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46913 91177308-0d34-0410-b5e6-96231b3b80d8
* explain that NumElements in alloca and malloc defaults to oneGabor Greif2008-02-091-9/+9
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46912 91177308-0d34-0410-b5e6-96231b3b80d8
* Alignment of struct containing vectors depends onDale Johannesen2008-02-091-1/+1
| | | | | | | | | whether SSE is present, on Darwin anyway. Make it explicit. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46909 91177308-0d34-0410-b5e6-96231b3b80d8
* We should check that existing cast operation has the appropriate opcode ↵Wojciech Matyjewicz2008-02-091-19/+21
| | | | | | before we reuse it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46908 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a check if the initial value of the induction variable is 0 (the method ↵Wojciech Matyjewicz2008-02-091-6/+10
| | | | | | comment says it should be). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46907 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove unused hidden option.Evan Cheng2008-02-091-6/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46903 91177308-0d34-0410-b5e6-96231b3b80d8
* Skeleton of insert and extract matching, more to comeNate Begeman2008-02-091-2/+62
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46902 91177308-0d34-0410-b5e6-96231b3b80d8
* Tablegen support for insert & extract element matchingNate Begeman2008-02-093-1/+38
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46901 91177308-0d34-0410-b5e6-96231b3b80d8
* check that terminators only occur at the end of a block. This catches theChris Lattner2008-02-091-0/+5
| | | | | | | | | common problem of putting two terminators in the same block. I can't write a testcase for this because the .ll parser rejects this before the verifier can, but this can occur when generating IR. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46900 91177308-0d34-0410-b5e6-96231b3b80d8
* Change ConstantSDNode to store an APInt instead of a uint64_t, andDan Gohman2008-02-083-7/+20
| | | | | | | begin adding some methods to use it this way. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46899 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix PR 1995.Devang Patel2008-02-082-21/+65
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46898 91177308-0d34-0410-b5e6-96231b3b80d8
* Forgot these files.Evan Cheng2008-02-083-4/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46896 91177308-0d34-0410-b5e6-96231b3b80d8
* Also print alignment.Evan Cheng2008-02-081-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46895 91177308-0d34-0410-b5e6-96231b3b80d8
* Add an isSignedIntN, like isIntN but for signed integer values instead ofDan Gohman2008-02-081-2/+13
| | | | | | | unsigned. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46894 91177308-0d34-0410-b5e6-96231b3b80d8
* It's not always safe to fold movsd into xorpd, etc. Check the alignment of ↵Evan Cheng2008-02-0816-35/+204
| | | | | | the load address first to make sure it's 16 byte aligned. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46893 91177308-0d34-0410-b5e6-96231b3b80d8
* 64-bit (MMX) vectors do not need restrictive alignment.Dale Johannesen2008-02-081-6/+4
| | | | | | | | 128-bit vectors need it only when SSE is on. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46890 91177308-0d34-0410-b5e6-96231b3b80d8
* Constified operator<< in APSInt.Ted Kremenek2008-02-081-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46882 91177308-0d34-0410-b5e6-96231b3b80d8
* Avoid needlessly casting away const qualifiers.Dan Gohman2008-02-084-8/+8
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46877 91177308-0d34-0410-b5e6-96231b3b80d8
* Avoid needlessly casting away const qualifiers.Dan Gohman2008-02-082-3/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46876 91177308-0d34-0410-b5e6-96231b3b80d8
* Added missing entries in X86 load / store folding tables.Evan Cheng2008-02-082-0/+28
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46866 91177308-0d34-0410-b5e6-96231b3b80d8
* Begin setting features for target based on target triple string.Devang Patel2008-02-071-2/+13
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46863 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove remnant of load folding in local register allocator. Patch by Holger ↵Evan Cheng2008-02-071-7/+1
| | | | | | Schurig. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46861 91177308-0d34-0410-b5e6-96231b3b80d8
* Follow Chris' suggestion; change the PseudoSourceValue accessorsDan Gohman2008-02-076-44/+44
| | | | | | | | to return pointers instead of references, since this is always what is needed. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46857 91177308-0d34-0410-b5e6-96231b3b80d8
* Add SourceValue information for outgoing argument stores on x86.Dan Gohman2008-02-071-2/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46854 91177308-0d34-0410-b5e6-96231b3b80d8