- Jun 27, 2007
-
-
Duraid Madina authored
quality hit. will look at this soon. llvm-svn: 37748
-
Duraid Madina authored
some issues) llvm-svn: 37747
-
Evan Cheng authored
llvm-svn: 37746
-
Owen Anderson authored
llvm-svn: 37745
-
Evan Cheng authored
llvm-svn: 37743
-
Owen Anderson authored
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
-
- Jun 26, 2007
-
-
Evan Cheng authored
llvm-svn: 37740
-
Evan Cheng authored
Properly handle kills of a physical register which has sub-registers that are read by later instructions. llvm-svn: 37739
-
Evan Cheng authored
llvm-svn: 37737
-
Dan Gohman authored
llvm-svn: 37731
-
Dan Gohman authored
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
-
Duraid Madina authored
llvm-svn: 37725
-
Duraid Madina authored
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
-
- Jun 25, 2007
-
-
Chris Lattner authored
with weak linkage. llvm-svn: 37723
-
Owen Anderson authored
llvm-svn: 37721
-
Dan Gohman authored
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
-
Dan Gohman authored
between SSE1 instructions and their respective SSE2 analogues. llvm-svn: 37718
-
Dan Gohman authored
llvm-svn: 37717
-
Dan Gohman authored
llvm-svn: 37716
-
Anton Korobeynikov authored
llvm-svn: 37715
-
Owen Anderson authored
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
-
- Jun 24, 2007
-
-
Nick Lewycky authored
llvm-svn: 37713
-
Owen Anderson authored
llvm-svn: 37712
-
Nick Lewycky authored
llvm-svn: 37710
-
Nick Lewycky authored
blocks, and optimizing within one basic block. llvm-svn: 37709
-
- Jun 22, 2007
-
-
Owen Anderson authored
Rework topo_sort so eliminate some behavior that scaled terribly. This reduces the time to optimize 403.gcc from 18.2s to 17.5s, and has an even larger effect on larger testcases. llvm-svn: 37708
-
Owen Anderson authored
Perform fewer set insertions while calculating ANTIC_IN. This reduces the amount of time to optimize 403.gcc from 21.9s to 18.2s. llvm-svn: 37707
-
Owen Anderson authored
Remove some code that I was using for collecting performance information that should not have been committed. llvm-svn: 37706
-
Owen Anderson authored
llvm-svn: 37705
-
Dan Gohman authored
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. llvm-svn: 37704
-
Duraid Madina authored
llvm-svn: 37703
-
Owen Anderson authored
Avoid excessive calls to find_leader when calculating AVAIL_OUT. This reduces the time to optimize 403.gcc from 23.5s to 21.9s. llvm-svn: 37702
-
Evan Cheng authored
std::set is really really terrible. Switch to SmallPtrSet to reduce compile time. For Duraid's example. The overall isel time is reduced from 0.6255 sec to 0.1876 sec. llvm-svn: 37701
-
Dale Johannesen authored
llvm-svn: 37700
-
Owen Anderson authored
Reserve space in vectors before topologically sorting into them. This improves the time to optimize 403.gcc from 28s to 23.5s. llvm-svn: 37699
-
Owen Anderson authored
Make a bunch of optimizations for compile time to GVNPRE, including smarter 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. llvm-svn: 37698
-
Owen Anderson authored
llvm-svn: 37697
-
Chris Lattner authored
1. Make SmallPtrSet::erase faster in the small case by replacing a memmove with a pointer copy. 2. Fix a bug where the null terminator at the end of the array in the small case was not copied llvm-svn: 37696
-
Devang Patel authored
Use schedulePass() to accomodate these requirement instead of directly assigning a manager to new CallGraph PassManager. llvm-svn: 37695
-
- Jun 21, 2007
-
-
Chris Lattner authored
transformation. Also, keep track of which end of the integer interval overflows occur on. This fixes Transforms/InstCombine/2007-06-21-DivCompareMiscomp.ll and rdar://5278853, a miscompilation of perl. llvm-svn: 37692
-