- Aug 12, 2006
-
-
Nate Begeman authored
the number of relocations in object files, shrinkifying them. llvm-svn: 29650
-
Chris Lattner authored
llvm-svn: 29649
-
Chris Lattner authored
llvm-svn: 29648
-
Chris Lattner authored
Not only will this take huge amounts of compile time, the resultant loop nests won't be useful for optimization. This reduces loopsimplify time on Transforms/LoopSimplify/2006-08-11-LoopSimplifyLongTime.ll from ~32s to ~0.4s with a debug build of llvm on a 2.7Ghz G5. llvm-svn: 29647
-
Chris Lattner authored
pounding on Loop::contains (which is O(n) in the size of the loop), use a sorted vector, which is O(log(N)) for each query. This speeds up Duraid's horrible testcase from ~72s to ~31s in a debug build. llvm-svn: 29645
-
Chris Lattner authored
blocks that target loop blocks. Before, the code was run once per loop, and depended on the number of predecessors each block in the loop had. Unfortunately, scanning preds can be really slow when huge numbers of phis exist or when phis with huge numbers of inputs exist. Now, the code is run once per function and scans successors instead of preds, which is far faster. In addition, the new code is simpler and is goto free, woo. This change speeds up a nasty testcase Duraid provided me from taking hours to taking ~72s with a debug build. The functionality this implements is already tested in the testsuite as Transforms/CodeExtractor/2004-03-13-LoopExtractorCrash.ll. llvm-svn: 29644
-
Chris Lattner authored
doesn't significantly improve performance but it helps a small amount. llvm-svn: 29642
-
Chris Lattner authored
speedup in isel time. llvm-svn: 29640
-
Chris Lattner authored
#includes it. llvm-svn: 29639
-
- Aug 11, 2006
-
-
Chris Lattner authored
llvm-svn: 29631
-
Chris Lattner authored
llvm-svn: 29627
-
Chris Lattner authored
RegNodes, and ValueNodes maps into the CSEMap. llvm-svn: 29626
-
Chris Lattner authored
llvm-svn: 29621
-
Chris Lattner authored
make a temporary vector. llvm-svn: 29618
-
Chris Lattner authored
instead of a vector of operands. llvm-svn: 29616
-
Chris Lattner authored
llvm-svn: 29614
-
Chris Lattner authored
llvm-svn: 29612
-
Chris Lattner authored
llvm-svn: 29611
-
Chris Lattner authored
llvm-svn: 29610
-
Chris Lattner authored
Convert vectors to fixed sized arrays and smallvectors. Eliminate use of getNode that takes a vector. llvm-svn: 29609
-
Chris Lattner authored
_func: vsldoi v2, v3, v2, 12 vsldoi v2, v2, v2, 4 blr instead of: _func: vsldoi v2, v3, v2, 12 vsldoi v2, v2, v2, 4 *** vor f1, v2, v2 blr llvm-svn: 29607
-
Evan Cheng authored
llvm-svn: 29604
-
Evan Cheng authored
llvm-svn: 29603
-
Evan Cheng authored
llvm-svn: 29601
-
- Aug 09, 2006
-
-
Rafael Espindola authored
llvm-svn: 29589
-
Rafael Espindola authored
llvm-svn: 29583
-
Rafael Espindola authored
llvm-svn: 29580
-
- Aug 08, 2006
-
-
Rafael Espindola authored
llvm-svn: 29571
-
Rafael Espindola authored
llvm-svn: 29567
-
Chris Lattner authored
in the start of an array and a count of operands where applicable. In many cases, the number of operands is known, so this static array can be allocated on the stack, avoiding the heap. In many other cases, a SmallVector can be used, which has the same benefit in the common cases. I updated a lot of code calling getNode that takes a vector, but ran out of time. The rest of the code should be updated, and these methods should be removed. We should also do the same thing to eliminate the methods that take a vector of MVT::ValueTypes. It would be extra nice to convert the dagiselemitter to avoid creating vectors for operands when calling getTargetNode. llvm-svn: 29566
-
Chris Lattner authored
method that took std::vector<SDOperand> to take a pointer to a first operand and #operands. This speeds up isel on kc++ by about 3%. llvm-svn: 29561
-
Evan Cheng authored
selection is done. That's rather expensive especially in situations where it isn't really needed. Move back to a searching the predecessors, but make use of topological order to trim the search space. llvm-svn: 29559
-
Reid Spencer authored
to build a loadable module is now correctly defined and documented so this workaround isn't needed any longer. llvm-svn: 29553
-
Reid Spencer authored
SlowOperatingInfo, Statistics). Besides providing an example of how to use these facilities, it also serves to debug problems with runtime linking when dlopening a loadable module. These three support facilities exercise different combinations of Text/Weak Weak/Text and Text/Text linking between the executable and the module. llvm-svn: 29552
-
Reid Spencer authored
1. Change the usage of LOADABLE_MODULE so that it implies all the things necessary to make a loadable module. This reduces the user's burdern to get a loadable module correctly built. 2. Document the usage of LOADABLE_MODULE in the MakefileGuide 3. Adjust the makefile for lib/Transforms/Hello to use the new specification for building loadable modules 4. Adjust the sample project to not attempt to build a shared library for its little library. This was just wasteful and not instructive at all. llvm-svn: 29551
-
Chris Lattner authored
eliminates a bunch of std::map's in the SelectionDAG, replacing them with a home-grown hashtable. This is still a work in progress: not all the maps have been moved over and the hashtable never resizes. That said, this still speeds up llc 20% on kimwitu++ with -fast -regalloc=local using a release build. llvm-svn: 29550
-
Evan Cheng authored
llvm-svn: 29549
-
Evan Cheng authored
llvm-svn: 29546
-
Evan Cheng authored
llvm-svn: 29545
-
- Aug 07, 2006
-
-
Evan Cheng authored
llvm-svn: 29543
-