aboutsummaryrefslogtreecommitdiffstats
path: root/lib
Commit message (Collapse)AuthorAgeFilesLines
* Fix a typo that was killing GVNPRE of select instructions.Owen Anderson2007-07-041-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37871 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix an error in phi translation of GEPs that was causing failures.Owen Anderson2007-07-041-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37868 91177308-0d34-0410-b5e6-96231b3b80d8
* Support generation of GR64 to MMX code in the JIT.Bill Wendling2007-07-041-2/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37866 91177308-0d34-0410-b5e6-96231b3b80d8
* Allow a GR64 to be moved into an MMX register via the "movd" instruction.Bill Wendling2007-07-041-0/+13
| | | | | | | | Still need to have JIT generate this code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37863 91177308-0d34-0410-b5e6-96231b3b80d8
* Add support for performing GVNPRE on GEP instructions.Owen Anderson2007-07-031-5/+162
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37862 91177308-0d34-0410-b5e6-96231b3b80d8
* Add functionality to value number GEP instructions. This also provides the ↵Owen Anderson2007-07-031-2/+32
| | | | | | | | | infrastructure that will be used for function calls. NOTE: This does not yet do any transformation of GEPs or function calls. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37860 91177308-0d34-0410-b5e6-96231b3b80d8
* Make the unary operator case a bit faster, since casts are the only kind of ↵Owen Anderson2007-07-031-10/+4
| | | | | | unary operation. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37857 91177308-0d34-0410-b5e6-96231b3b80d8
* Add support for performing GVNPRE on cast instructions, and add a testcase ↵Owen Anderson2007-07-031-18/+116
| | | | | | for this. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37856 91177308-0d34-0410-b5e6-96231b3b80d8
* Some spacing fixes. Cosmetic.Dale Johannesen2007-07-032-199/+199
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37853 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix several over-aggressive folds for undef nodes in dagcombine, toDan Gohman2007-07-031-51/+46
| | | | | | | follow the rules for undef used in instcombine. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37851 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix for PR 1505 (and 1489). Rewrite X87 registerDale Johannesen2007-07-0310-257/+494
| | | | | | | | | model to include f32 variants. Some factoring improvments forthcoming. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37847 91177308-0d34-0410-b5e6-96231b3b80d8
* Vector results may be returned in XMM0 and XMM1, not just XMM0. WithDan Gohman2007-07-021-3/+4
| | | | | | | | the recent lowering changes, this allows types like <4 x double> to be returned, using two vector registers. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37844 91177308-0d34-0410-b5e6-96231b3b80d8
* Replace ExpandScalarFormalArgs and ExpandScalarCallArgs with the newlyDan Gohman2007-07-021-124/+30
| | | | | | | | | refactored getCopyFromParts and getCopyToParts, which are more general. This effectively adds support for lowering illegal by-val vector call arguments. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37843 91177308-0d34-0410-b5e6-96231b3b80d8
* Teach GetNegatedExpression to negate 0-B to B in UnsafeFPMath mode, andDan Gohman2007-07-021-11/+14
| | | | | | | | | | | visitFSUB to fold 0-B to -B in UnsafeFPMath mode. Also change visitFNEG to use isNegatibleForFree/GetNegatedExpression instead of doing a subset of the same thing manually. This fixes test/CodeGen/X86/negative-sin.ll. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37842 91177308-0d34-0410-b5e6-96231b3b80d8
* Add explicit keywords.Dan Gohman2007-07-022-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37839 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix undefined behaviour reported by the new --enable-expensive-checks option.Nick Lewycky2007-07-011-1/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37829 91177308-0d34-0410-b5e6-96231b3b80d8
* (For Chris): Fix failure where we rejected compiling stubs when lazy ↵Evan Cheng2007-06-301-18/+25
| | | | | | compilation is disabled. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37825 91177308-0d34-0410-b5e6-96231b3b80d8
* Add loop info verification mechanism.Devang Patel2007-06-291-1/+13
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37822 91177308-0d34-0410-b5e6-96231b3b80d8
* Preserve DominanceFrontier.Devang Patel2007-06-291-5/+29
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37820 91177308-0d34-0410-b5e6-96231b3b80d8
* Only do FNEG xform when the vector type is a floating point type.Evan Cheng2007-06-291-7/+9
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37818 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove unused variables.David Greene2007-06-291-3/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37816 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix a vector FP constant CSE bug.Evan Cheng2007-06-291-5/+10
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37814 91177308-0d34-0410-b5e6-96231b3b80d8
* Convert .cvsignore filesJohn Criswell2007-06-297-12/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37801 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove unnecessary attributions in comments.David Greene2007-06-292-3/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37799 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix reference to iterator invalidated by an erase operation. UncoveredDavid Greene2007-06-291-3/+4
| | | | | | | by _GLIBCXX_DEBUG. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37796 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix reference to cached end iterator invalidated by an erase operation.David Greene2007-06-291-1/+3
| | | | | | | Uncovered by _GLIBCXX_DEBUG. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37795 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove the "special tie breaker" because it resulted in inconsistentDavid Greene2007-06-291-10/+12
| | | | | | | | ordering and thus violated the strict weak ordering requirement of priority_queue. Uncovered by _GLIBCXX_DEBUG. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37794 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix misue of iterator pointing to erased object. Uncovered byDavid Greene2007-06-292-7/+8
| | | | | | | _GLIBCXX_DEBUG. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37793 91177308-0d34-0410-b5e6-96231b3b80d8
* Do not filter loop if candidate branch is in loop header.Devang Patel2007-06-291-2/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37792 91177308-0d34-0410-b5e6-96231b3b80d8
* Prevent PPC::BCC first operand, the PRED number, from being isel'd into a LI ↵Evan Cheng2007-06-291-1/+4
| | | | | | instruction. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37790 91177308-0d34-0410-b5e6-96231b3b80d8
* Add support for value numbering (but not actually optimizing) cast instructions.Owen Anderson2007-06-291-1/+65
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37789 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a type field to expressions in preparation for performing GVNPRE on casts.Owen Anderson2007-06-291-0/+12
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37788 91177308-0d34-0410-b5e6-96231b3b80d8
* No vector fneg.Evan Cheng2007-06-291-0/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37786 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix an assertion failure in legalizing bitcast operators on targets whereDan Gohman2007-06-291-23/+15
| | | | | | | vectors are split down to single elements as part of legalization. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37785 91177308-0d34-0410-b5e6-96231b3b80d8
* Type of vector extract / insert index operand should be iPTR.Evan Cheng2007-06-291-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37784 91177308-0d34-0410-b5e6-96231b3b80d8
* Add support for performing GVNPRE on select instructions. This fixes ↵Owen Anderson2007-06-281-13/+57
| | | | | | test/Transforms/GVNPRE/select.ll. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37783 91177308-0d34-0410-b5e6-96231b3b80d8
* Add new TargetLowering code to provide the final register type that anDan Gohman2007-06-282-449/+351
| | | | | | | | | | | | | illegal value type will be transformed to, for code that needs the register type after all transformations instead of just after the first transformation. Factor out the code that uses this information to do copy-from-regs and copy-to-regs for various purposes into separate functions so that they are done consistently. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37781 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix a bug in my previous patch.Lauro Ramos Venancio2007-06-281-3/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37778 91177308-0d34-0410-b5e6-96231b3b80d8
* When linking two modules, we should copy the alias.Lauro Ramos Venancio2007-06-281-0/+28
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37776 91177308-0d34-0410-b5e6-96231b3b80d8
* - Undo previous check and allow loop switch for condtion that is not insideDevang Patel2007-06-281-8/+7
| | | | | | | | | loop. - Avoid loop unswich for loop header branch. - While cloning dominators fix typo and handle self dominating blocks. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37772 91177308-0d34-0410-b5e6-96231b3b80d8
* Update LoopUnswitch pass to preserve DomiantorTree.Devang Patel2007-06-281-32/+55
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37771 91177308-0d34-0410-b5e6-96231b3b80d8
* If a condition is not inside a loop then the condition is suitableDevang Patel2007-06-281-0/+7
| | | | | | | to loop unswitch candidate for the loop. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37770 91177308-0d34-0410-b5e6-96231b3b80d8
* Make many sets a much more reasonable size. This decreases the time to optimizeOwen Anderson2007-06-281-65/+65
| | | | | | | Anton's testcase from 35.5s to 34.7s. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37769 91177308-0d34-0410-b5e6-96231b3b80d8
* Set implied features based upon the CPU's feature list.Bill Wendling2007-06-271-0/+7
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37768 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove ETForest.Devang Patel2007-06-271-551/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37765 91177308-0d34-0410-b5e6-96231b3b80d8
* If a livein is not used in the block. It's live through.Evan Cheng2007-06-271-5/+8
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37764 91177308-0d34-0410-b5e6-96231b3b80d8
* Partial fix for PR1502: If a EH register is needed in a successor of landing ↵Evan Cheng2007-06-271-11/+34
| | | | | | pad, add it as livein to all the blocks in the paths between the landing pad and the specified block. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37763 91177308-0d34-0410-b5e6-96231b3b80d8
* Use cached information that has already been computed to make clean() ↵Owen Anderson2007-06-271-52/+31
| | | | | | simpler and faster. This is a small speedup on most cases. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37761 91177308-0d34-0410-b5e6-96231b3b80d8
* Fold a lot of code into two cases: binary instructions and ternary instructions.Owen Anderson2007-06-271-269/+62
| | | | | | | This saves many lines of code duplication. No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37759 91177308-0d34-0410-b5e6-96231b3b80d8
* Rename ("shrinkify") MVT::isExtendedValueType to MVT::isExtendedVT.Dan Gohman2007-06-273-4/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37758 91177308-0d34-0410-b5e6-96231b3b80d8