- Sep 03, 2008
-
-
Devang Patel authored
llvm-svn: 55712
-
- Aug 24, 2008
-
-
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
-
- Aug 17, 2008
-
-
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
-
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
-
- Aug 14, 2008
-
-
Dan Gohman authored
llvm-svn: 54780
-
- Jul 23, 2008
-
-
Dan Gohman authored
Remove the GetResultInst instruction. It is still accepted in LLVM assembly and bitcode, where it is now auto-upgraded to ExtractValueInst. Also, remove support for return instructions with multiple values. These are auto-upgraded to use InsertValueInst instructions. The IRBuilder still accepts multiple-value returns, and auto-upgrades them to InsertValueInst instructions. llvm-svn: 53941
-
- Jul 18, 2008
-
-
Owen Anderson authored
llvm-svn: 53761
-
Owen Anderson authored
llvm-svn: 53760
-
Dan Gohman authored
llvm-svn: 53757
-
- Jul 17, 2008
-
-
Owen Anderson authored
llvm-svn: 53735
-
Owen Anderson authored
more than once. llvm-svn: 53731
-
Evan Cheng authored
llvm-svn: 53712
-
Owen Anderson authored
llvm-svn: 53705
-
- Jul 14, 2008
-
-
Chris Lattner authored
llvm-svn: 53557
-
Duncan Sands authored
llvm-svn: 53549
-
Chris Lattner authored
a hack around the fact that we don't represent the CFG correctly for sj/lj. It fixes PR2486. llvm-svn: 53540
-
Chris Lattner authored
llvm-svn: 53538
-
Chris Lattner authored
fixes PR2540. llvm-svn: 53533
-
Chris Lattner authored
No functionality change. llvm-svn: 53532
-
- Jul 13, 2008
-
-
Chris Lattner authored
llvm-svn: 53531
-
Chris Lattner authored
No functionality change. llvm-svn: 53530
-
Chris Lattner authored
llvm-svn: 53528
-
Chris Lattner authored
llvm-svn: 53527
-
Chris Lattner authored
conditionals and commenting the code better. No functionality change. llvm-svn: 53526
-
- Jun 25, 2008
-
-
Evan Cheng authored
- Avoid speculatively execute vector ops. llvm-svn: 52703
-
- Jun 24, 2008
-
-
Dan Gohman authored
llvm-svn: 52688
-
- Jun 23, 2008
-
-
Dan Gohman authored
in the presence of out-of-loop users of in-loop values and the trip count is not a known multiple of the unroll count, and to be a bit simpler overall. This fixes PR2253. llvm-svn: 52645
-
- Jun 22, 2008
-
-
Dan Gohman authored
llvm-svn: 52616
-
Dan Gohman authored
llvm-svn: 52606
-
- Jun 21, 2008
-
-
Chris Lattner authored
llvm-svn: 52590
-
- Jun 20, 2008
-
-
Dan Gohman authored
llvm-svn: 52544
-
Dan Gohman authored
return statements and aggregate returns so that it handles both correctly. llvm-svn: 52519
-
- Jun 19, 2008
-
-
Dan Gohman authored
llvm-svn: 52494
-
- Jun 12, 2008
-
-
Evan Cheng authored
Do not speculatively execute an instruction by hoisting it to its predecessor BB if any of its operands are defined but not used in BB. The transformation will prevent the operand from being sunk into the use block. llvm-svn: 52244
-
- Jun 11, 2008
-
-
Evan Cheng authored
For now, avoid generating FP select instructions in order to speculatively execute integer arithmetic instructions. FP selects are more likely to be expensive (even compared to branch on fcmp). This is not a wonderful solution but I rather err on the side of conservative. This fixes the heapsort performance regressions. llvm-svn: 52224
-
Gabor Greif authored
llvm-svn: 52191
-
- Jun 07, 2008
-
-
Evan Cheng authored
Speculatively execute a block when the the block is the then part of a triangle shape and it contains a single, side effect free, cheap instruction. The branch is eliminated by adding a select instruction. i.e. Turn BB: %t1 = icmp br i1 %t1, label %BB1, label %BB2 BB1: %t3 = add %t2, c br label BB2 BB2: => BB: %t1 = icmp %t4 = add %t2, c %t3 = select i1 %t1, %t2, %t3 llvm-svn: 52073
-
- Jun 06, 2008
-
-
Devang Patel authored
llvm-svn: 52053
-
- Jun 03, 2008
-
-
Owen Anderson authored
Don't crash when we encounter one of these. llvm-svn: 51915
-