- Sep 04, 2008
-
-
Andrew Lenharth authored
llvm-svn: 55766
-
Devang Patel authored
llvm-svn: 55745
-
Owen Anderson authored
llvm-svn: 55744
-
- Sep 03, 2008
-
-
Andrew Lenharth authored
Initial version of a Partial Specialization IPO pass. It triggers a couple hundred times on 176.gcc. I don't know the performance impact yet, the heuristic is quite simple still. llvm-svn: 55734
-
Devang Patel authored
llvm-svn: 55720
-
Devang Patel authored
llvm-svn: 55717
-
Devang Patel authored
llvm-svn: 55716
-
Devang Patel authored
llvm-svn: 55713
-
Devang Patel authored
llvm-svn: 55712
-
Devang Patel authored
llvm-svn: 55711
-
Devang Patel authored
llvm-svn: 55708
-
Nick Lewycky authored
llvm-svn: 55690
-
Devang Patel authored
llvm-svn: 55682
-
Devang Patel authored
llvm-svn: 55680
-
Devang Patel authored
llvm-svn: 55678
-
Devang Patel authored
llvm-svn: 55676
-
Devang Patel authored
llvm-svn: 55674
-
Devang Patel authored
llvm-svn: 55673
-
- Sep 01, 2008
-
-
Duncan Sands authored
attributes on functions, based on the result of alias analysis. It's not hardwired to use GlobalsModRef even though this is the only (AFAIK) alias analysis that results in this pass actually doing something. Enable as follows: opt ... -globalsmodref-aa -markmodref ... Advantages of this pass: (1) records the result of globalsmodref in the bitcode, meaning it is available for use by later passes (currently the pass manager isn't smart enough to magically make an advanced alias analysis available to all later passes), which may expose more optimization opportunities; (2) hopefully speeds up compilation when code is optimized twice, for example when a file is compiled to bitcode, then later LTO is done on it: marking functions readonly/readnone when producing the initial bitcode should speed up alias analysis during LTO; (3) good for discovering that globalsmodref doesn't work very well :) Not currently turned on by default. llvm-svn: 55604
-
- Aug 27, 2008
-
-
Devang Patel authored
llvm-svn: 55433
-
Devang Patel authored
llvm-svn: 55424
-
Owen Anderson authored
Put a heuristic in place to prevent GVN from falling into bad cases with massively complicated CFGs. This speeds up a particular testcase from 12+ hours to 5 seconds with little perceptible loss of quality. llvm-svn: 55391
-
- Aug 26, 2008
-
-
Devang Patel authored
llvm-svn: 55374
-
- Aug 24, 2008
-
-
Chris Lattner authored
llvm-svn: 55271
-
Chris Lattner authored
patch contributed by m-s! llvm-svn: 55270
-
Chris Lattner authored
use raw_ostream instead of std::ostream. Among other goodness, this speeds up llvm-dis of kc++ with a release build from 0.85s to 0.49s (88% faster). Other interesting changes: 1) This makes Value::print be non-virtual. 2) AP[S]Int and ConstantRange can no longer print to ostream directly, use raw_ostream instead. 3) This fixes a bug in raw_os_ostream where it didn't flush itself when destroyed. 4) This adds a new SDNode::print method, instead of only allowing "dump". A lot of APIs have both std::ostream and raw_ostream versions, it would be useful to go through and systematically anihilate the std::ostream versions. This passes dejagnu, but there may be minor fallout, plz let me know if so and I'll fix it. llvm-svn: 55263
-
- Aug 23, 2008
-
-
Chris Lattner authored
before/after effects of a pass, crazy! llvm-svn: 55230
-
Chris Lattner authored
indices that start with an array subscript. x->field[10000] is just as bad as (*X)[14][10000]. llvm-svn: 55226
-
- Aug 22, 2008
-
-
Chris Lattner authored
Patch contributed by m-s. llvm-svn: 55167
-
- Aug 21, 2008
-
-
Nick Lewycky authored
slowdown in bzip2. llvm-svn: 55113
-
Evan Cheng authored
llvm-svn: 55087
-
- Aug 20, 2008
-
-
Mon P Wang authored
llvm-svn: 55035
-
- Aug 19, 2008
-
-
Chris Lattner authored
llvm-svn: 54979
-
- Aug 17, 2008
-
-
Nick Lewycky authored
predicate, swap the order of the operands. llvm-svn: 54907
-
Nick Lewycky authored
produce an xor by 127. llvm-svn: 54906
-
Gordon Henriksen authored
In particular, Collector was confusing to implementors. Several thought that this compile-time class was the place to implement their runtime GC heap. Of course, it doesn't even exist at runtime. Specifically, the renames are: Collector -> GCStrategy CollectorMetadata -> GCFunctionInfo CollectorModuleMetadata -> GCModuleInfo CollectorRegistry -> GCRegistry Function::getCollector -> getGC (setGC, hasGC, clearGC) Several accessors and nested types have also been renamed to be consistent. These changes should be obvious. llvm-svn: 54899
-
Evan Cheng authored
llvm-svn: 54878
-
Nick Lewycky authored
llvm-svn: 54877
-
Nick Lewycky authored
the predicate. Also, make this optz'n apply in more cases where it's safe to do so. llvm-svn: 54876
-
Chris Lattner authored
returning an std::string by value, it fills in a SmallString/SmallVector passed in. This significantly reduces string thrashing in some cases. More specifically, this: - Adds an operator<< and a print method for APInt that allows you to directly send them to an ostream. - Reimplements APInt::toString to be much simpler and more efficient algorithmically in addition to not thrashing strings quite as much. This speeds up llvm-dis on kc++ by 7%, and may also slightly speed up the asmprinter. This also fixes a bug I introduced into the asmwriter in a previous patch w.r.t. alias printing. llvm-svn: 54873
-