summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
...
* Add support for value numbering (but not actually optimizing) cast instructions.Owen Anderson2007-06-291-1/+65
| | | | llvm-svn: 37789
* Add a type field to expressions in preparation for performing GVNPRE on casts.Owen Anderson2007-06-291-0/+12
| | | | llvm-svn: 37788
* No vector fneg.Evan Cheng2007-06-291-0/+1
| | | | llvm-svn: 37786
* 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. llvm-svn: 37785
* Type of vector extract / insert index operand should be iPTR.Evan Cheng2007-06-291-1/+1
| | | | llvm-svn: 37784
* Add support for performing GVNPRE on select instructions. This fixes ↵Owen Anderson2007-06-281-13/+57
| | | | | | test/Transforms/GVNPRE/select.ll. llvm-svn: 37783
* 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. llvm-svn: 37781
* Fix a bug in my previous patch.Lauro Ramos Venancio2007-06-281-3/+2
| | | | llvm-svn: 37778
* When linking two modules, we should copy the alias.Lauro Ramos Venancio2007-06-281-0/+28
| | | | llvm-svn: 37776
* - 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. llvm-svn: 37772
* Update LoopUnswitch pass to preserve DomiantorTree.Devang Patel2007-06-281-32/+55
| | | | llvm-svn: 37771
* 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. llvm-svn: 37770
* 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. llvm-svn: 37769
* Set implied features based upon the CPU's feature list.Bill Wendling2007-06-271-0/+7
| | | | llvm-svn: 37768
* Remove ETForest.Devang Patel2007-06-271-551/+0
| | | | llvm-svn: 37765
* If a livein is not used in the block. It's live through.Evan Cheng2007-06-271-5/+8
| | | | llvm-svn: 37764
* 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. llvm-svn: 37763
* 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. llvm-svn: 37761
* 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. llvm-svn: 37759
* Rename ("shrinkify") MVT::isExtendedValueType to MVT::isExtendedVT.Dan Gohman2007-06-273-4/+4
| | | | llvm-svn: 37758
* Remove a redundant newline in the asm output for ELF .rodata sections.Dan Gohman2007-06-271-1/+1
| | | | llvm-svn: 37756
* Use getVectorTypeBreakdown in FunctionLoweringInfo::CreateRegForValueDan Gohman2007-06-271-44/+11
| | | | | | | to compute the number and type of registers needed for vector values instead of computing it manually. This fixes PR1529. llvm-svn: 37755
* Make the comment for ScalarizeVectorOp mention that it is only for useDan Gohman2007-06-271-4/+6
| | | | | | with single-element vectors. llvm-svn: 37752
* Fix a bug.Zhou Sheng2007-06-271-1/+4
| | | | llvm-svn: 37751
* ok, this is something of a dirty hack, but it seems to work. (fixes e.g.Duraid Madina2007-06-271-2/+16
| | | | | | the SPASS miscompilation) llvm-svn: 37750
* ok, this much doesn't seem to bork anythingDuraid Madina2007-06-271-25/+48
| | | | llvm-svn: 37749
* revert evan's fixes (and my doofusness) since they had a huge codeDuraid Madina2007-06-271-63/+31
| | | | | | quality hit. will look at this soon. llvm-svn: 37748
* pull evan's fixes - should help the nightly tester (but there are stillDuraid Madina2007-06-271-48/+63
| | | | | | some issues) llvm-svn: 37747
* Replace std::set with SmallPtrSet.Evan Cheng2007-06-271-3/+5
| | | | llvm-svn: 37746
* Add support for performing GVNPRE on the three vector-specific operations.Owen Anderson2007-06-271-20/+436
| | | | llvm-svn: 37745
* Fix an obvious bug. Old code only worked for the entry block.Evan Cheng2007-06-271-3/+4
| | | | llvm-svn: 37743
* 1. Correct some comments and clean up some dead code.Owen Anderson2007-06-261-21/+26
| | | | | | | 2. When calculating ANTIC_IN, only iterate the changed blocks. For most average inputs this is a small speedup, but for cases with unusual CFGs, this can be a significant win. llvm-svn: 37742
* Correctly handle implcit def / use operands.Evan Cheng2007-06-261-52/+64
| | | | llvm-svn: 37740
* Properly handle kills of a physical register which has sub-registers that ↵Evan Cheng2007-06-261-13/+73
| | | | | | are read by later instructions. llvm-svn: 37739
* Silence a warning.Evan Cheng2007-06-261-1/+2
| | | | llvm-svn: 37737
* Use utostr from StringExtras.h instead of ostringstream from <sstream>.Dan Gohman2007-06-261-7/+4
| | | | llvm-svn: 37731
* Revert the earlier change that removed the M_REMATERIALIZABLE machineDan Gohman2007-06-2611-38/+28
| | | | | | | | | instruction flag, and use the flag along with a virtual member function hook for targets to override if there are instructions that are only trivially rematerializable with specific operands (i.e. constant pool loads). llvm-svn: 37728
* tidy this file up a bitDuraid Madina2007-06-261-54/+82
| | | | llvm-svn: 37725
* A bunch of fixes to the BigBlock allocator improve compile-time by ~20%Duraid Madina2007-06-251-72/+65
| | | | | | | | | | and code quality by ~2% on my tests. A big thank you to Roman Levenstein for this patch! See http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20070618/050717.html for more details. llvm-svn: 37724
* fix Transforms/Inline/2007-06-25-WeakInline.ll by not inlining functionsChris Lattner2007-06-251-4/+8
| | | | | | with weak linkage. llvm-svn: 37723
* Use the built-in postorder iterators rather than computing a postorder walk ↵Owen Anderson2007-06-251-35/+3
| | | | | | by hand. llvm-svn: 37721
* Generalize MVT::ValueType and associated functions to be able to representDan Gohman2007-06-257-1010/+772
| | | | | | | | | | | | | | | extended vector types. Remove the special SDNode opcodes used for pre-legalize vector operations, and the special MVT::Vector type used with them. Adjust lowering and legalize to work with the normal SDNode kinds instead, and to use the normal MVT functions to work with vector types instead of using the two special operands that the pre-legalize nodes held. This allows pre-legalize and post-legalize DAGs, and the code that operates on them, to be more consistent. Pre-legalize vector operators can be handled more consistently with scalar operators. And, -view-dag-combine1-dags and -view-legalize-dags now look prettier for vector code. llvm-svn: 37719
* Make minor adjustments to whitespace and comments to reduce differencesDan Gohman2007-06-251-25/+28
| | | | | | between SSE1 instructions and their respective SSE2 analogues. llvm-svn: 37718
* Fix loadv2i32 to be loadv4i32, though it isn't actually used anywhere yet.Dan Gohman2007-06-251-1/+1
| | | | llvm-svn: 37717
* Say AT&T instead of Intel in the comments for AT&T support.Dan Gohman2007-06-252-3/+3
| | | | llvm-svn: 37716
* Provide hook for alloca on VCPP. Patch by Scott GrahamAnton Korobeynikov2007-06-251-4/+18
| | | | llvm-svn: 37715
* 1) Fix an issue with non-deterministic iteration order in phi_translateOwen Anderson2007-06-251-111/+86
| | | | | | | | | | | 2) Remove some maximal-set computing code that is no longer used. 3) Use a post-order CFG traversal to compute ANTIC_IN instead of a postdom traversal. This causes the ANTIC_IN calculation to converge much faster. Thanks to Daniel Berlin for suggesting this. With this patch, the time to optimize 403.gcc decreased from 17.5s to 7.5s, and Anton's huge testcase decreased from 62 minutes to 38 seconds. llvm-svn: 37714
* Fix value ranges.Nick Lewycky2007-06-241-1/+1
| | | | llvm-svn: 37713
* Fix a silly mistake that was causing failures.Owen Anderson2007-06-241-2/+2
| | | | llvm-svn: 37712
* Remove tabs.Nick Lewycky2007-06-241-2/+2
| | | | llvm-svn: 37710
OpenPOWER on IntegriCloud