aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37748 91177308-0d34-0410-b5e6-96231b3b80d8
* pull evan's fixes - should help the nightly tester (but there are stillDuraid Madina2007-06-271-48/+63
| | | | | | | some issues) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37747 91177308-0d34-0410-b5e6-96231b3b80d8
* Replace std::set with SmallPtrSet.Evan Cheng2007-06-271-3/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37746 91177308-0d34-0410-b5e6-96231b3b80d8
* Add support for performing GVNPRE on the three vector-specific operations.Owen Anderson2007-06-271-20/+436
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37745 91177308-0d34-0410-b5e6-96231b3b80d8
* Add tests for performing GVNPRE on the three vector-specific instructions.Owen Anderson2007-06-273-0/+54
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37744 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix an obvious bug. Old code only worked for the entry block.Evan Cheng2007-06-271-3/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37743 91177308-0d34-0410-b5e6-96231b3b80d8
* 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37742 91177308-0d34-0410-b5e6-96231b3b80d8
* Add comment.Evan Cheng2007-06-261-3/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37741 91177308-0d34-0410-b5e6-96231b3b80d8
* Correctly handle implcit def / use operands.Evan Cheng2007-06-261-52/+64
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37740 91177308-0d34-0410-b5e6-96231b3b80d8
* Properly handle kills of a physical register which has sub-registers that ↵Evan Cheng2007-06-262-13/+83
| | | | | | are read by later instructions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37739 91177308-0d34-0410-b5e6-96231b3b80d8
* Add immediate sub-registers.Evan Cheng2007-06-262-0/+30
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37738 91177308-0d34-0410-b5e6-96231b3b80d8
* Silence a warning.Evan Cheng2007-06-261-1/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37737 91177308-0d34-0410-b5e6-96231b3b80d8
* Update for Subversion conversion:Reid Spencer2007-06-261-7/+7
| | | | | | | | | 1. Fix comments for -usesvn and -svnurl options. 2. Fix default URL for SVN access. 3. Fix paths to accommodate "trunk" when checking out from SVN. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37736 91177308-0d34-0410-b5e6-96231b3b80d8
* Replace ?: with if statements, for clarity.Dan Gohman2007-06-261-18/+12
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37735 91177308-0d34-0410-b5e6-96231b3b80d8
* Simplify the expression for MVT::isExtendedValueType.Dan Gohman2007-06-261-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37733 91177308-0d34-0410-b5e6-96231b3b80d8
* Simplify the expression for TargetLowering::isTypeLegal.Dan Gohman2007-06-261-3/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37732 91177308-0d34-0410-b5e6-96231b3b80d8
* Use utostr from StringExtras.h instead of ostringstream from <sstream>.Dan Gohman2007-06-261-7/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37731 91177308-0d34-0410-b5e6-96231b3b80d8
* Renumber the SimpleValueType values to fill in the hole left byDan Gohman2007-06-262-24/+23
| | | | | | | removing MVT::Vector. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37730 91177308-0d34-0410-b5e6-96231b3b80d8
* Revert the earlier change that removed the M_REMATERIALIZABLE machineDan Gohman2007-06-2615-48/+57
| | | | | | | | | | 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). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37728 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix a typo in a comment.Dan Gohman2007-06-261-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37727 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a convenince member function for appending strings to a module'sDan Gohman2007-06-261-0/+7
| | | | | | | module-level asm string data. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37726 91177308-0d34-0410-b5e6-96231b3b80d8
* tidy this file up a bitDuraid Madina2007-06-261-54/+82
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37725 91177308-0d34-0410-b5e6-96231b3b80d8
* 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37724 91177308-0d34-0410-b5e6-96231b3b80d8
* fix Transforms/Inline/2007-06-25-WeakInline.ll by not inlining functionsChris Lattner2007-06-251-4/+8
| | | | | | | with weak linkage. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37723 91177308-0d34-0410-b5e6-96231b3b80d8
* new testcase, the inliner shouldn't inline this.Chris Lattner2007-06-251-0/+14
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37722 91177308-0d34-0410-b5e6-96231b3b80d8
* Use the built-in postorder iterators rather than computing a postorder walk ↵Owen Anderson2007-06-251-35/+3
| | | | | | by hand. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37721 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix PR1525:Reid Spencer2007-06-251-4/+10
| | | | | | | | Use a better determinator for identifying constant array initializers that are or are not zero terminated and generate code appropriately. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37720 91177308-0d34-0410-b5e6-96231b3b80d8
* Generalize MVT::ValueType and associated functions to be able to representDan Gohman2007-06-2512-1163/+951
| | | | | | | | | | | | | | | | 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37719 91177308-0d34-0410-b5e6-96231b3b80d8
* Make minor adjustments to whitespace and comments to reduce differencesDan Gohman2007-06-251-25/+28
| | | | | | | between SSE1 instructions and their respective SSE2 analogues. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37718 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix loadv2i32 to be loadv4i32, though it isn't actually used anywhere yet.Dan Gohman2007-06-251-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37717 91177308-0d34-0410-b5e6-96231b3b80d8
* Say AT&T instead of Intel in the comments for AT&T support.Dan Gohman2007-06-252-3/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37716 91177308-0d34-0410-b5e6-96231b3b80d8
* Provide hook for alloca on VCPP. Patch by Scott GrahamAnton Korobeynikov2007-06-251-4/+18
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37715 91177308-0d34-0410-b5e6-96231b3b80d8
* 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37714 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix value ranges.Nick Lewycky2007-06-241-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37713 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix a silly mistake that was causing failures.Owen Anderson2007-06-241-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37712 91177308-0d34-0410-b5e6-96231b3b80d8
* Rename variables to expose the fact that this test is failing.Owen Anderson2007-06-241-16/+16
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37711 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove tabs.Nick Lewycky2007-06-241-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37710 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove use of ETForest. Also cleaned up issues around unreachable basicNick Lewycky2007-06-241-156/+326
| | | | | | | blocks, and optimizing within one basic block. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37709 91177308-0d34-0410-b5e6-96231b3b80d8
* Rework topo_sort so eliminate some behavior that scaled terribly. This ↵Owen Anderson2007-06-221-57/+40
| | | | | | | | | reduces the time to optimize 403.gcc from 18.2s to 17.5s, and has an even larger effect on larger testcases. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37708 91177308-0d34-0410-b5e6-96231b3b80d8
* Perform fewer set insertions while calculating ANTIC_IN. This reduces the ↵Owen Anderson2007-06-221-40/+31
| | | | | | amount of time to optimize 403.gcc from 21.9s to 18.2s. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37707 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove some code that I was using for collecting performance information ↵Owen Anderson2007-06-221-18/+18
| | | | | | that should not have been committed. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37706 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix the build.Owen Anderson2007-06-221-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37705 91177308-0d34-0410-b5e6-96231b3b80d8
* Move ComputeMaskedBits, MaskedValueIsZero, and ComputeNumSignBits fromDan Gohman2007-06-2217-620/+633
| | | | | | | | | | TargetLowering to SelectionDAG so that they have more convenient access to the current DAG, in preparation for the ValueType routines being changed from standalone functions to members of SelectionDAG for the pre-legalize vector type changes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37704 91177308-0d34-0410-b5e6-96231b3b80d8
* check in the BigBlock local register allocatorDuraid Madina2007-06-223-0/+862
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37703 91177308-0d34-0410-b5e6-96231b3b80d8
* Avoid excessive calls to find_leader when calculating AVAIL_OUT. This ↵Owen Anderson2007-06-221-30/+76
| | | | | | reduces the time to optimize 403.gcc from 23.5s to 21.9s. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37702 91177308-0d34-0410-b5e6-96231b3b80d8
* std::set is really really terrible. Switch to SmallPtrSet to reduce compile ↵Evan Cheng2007-06-221-4/+4
| | | | | | time. For Duraid's example. The overall isel time is reduced from 0.6255 sec to 0.1876 sec. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37701 91177308-0d34-0410-b5e6-96231b3b80d8
* Quote complex names for Darwin X86 and ARM.Dale Johannesen2007-06-222-2/+14
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37700 91177308-0d34-0410-b5e6-96231b3b80d8
* Reserve space in vectors before topologically sorting into them. This ↵Owen Anderson2007-06-221-0/+2
| | | | | | improves the time to optimize 403.gcc from 28s to 23.5s. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37699 91177308-0d34-0410-b5e6-96231b3b80d8
* Make a bunch of optimizations for compile time to GVNPRE, including smarter ↵Owen Anderson2007-06-221-17/+41
| | | | | | set unions, deferring blocks rather than computing maximal sets, and smarter use of sets. With these enhancements, the time to optimize 273.perlbmk goes from 5.3s to 2.7s. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37698 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix a bug in SmallPtrSet that was causing GVNPRE to enter an infinite loop.Owen Anderson2007-06-221-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37697 91177308-0d34-0410-b5e6-96231b3b80d8