- Nov 04, 2008
-
-
Devang Patel authored
llvm-svn: 58651
-
- Oct 31, 2008
-
-
Daniel Dunbar authored
llvm-svn: 58486
-
- Oct 30, 2008
-
-
Daniel Dunbar authored
function. - This explicitly models the costs for functions which should "always" or "never" be inlined. This fixes bugs where such costs were not previously respected. llvm-svn: 58450
-
- Oct 29, 2008
-
-
Chris Lattner authored
I don't really see this as being needed, but there is little harm from doing it. llvm-svn: 58385
-
Daniel Dunbar authored
- No functionality change. llvm-svn: 58352
-
- Oct 27, 2008
-
-
Torok Edwin authored
that need it to require it by ID. llvm-svn: 58238
-
Chris Lattner authored
LargeBlockInfo, we can now dramatically simplify their implementation and speed them up at the same time. Now the code has time proportional to the number of uses of the alloca, not the size of the block. This also eliminates code that tried to batch up different allocas which are used in the same blocks, and eliminates the 'retry list' logic which was baroque and no unneccesary. In addition to being a speedup for crazy cases, this is also a nice cleanup: PromoteMemoryToRegister.cpp | 270 +++++++++++++++----------------------------- 1 file changed, 96 insertions(+), 174 deletions(-) llvm-svn: 58229
-
Chris Lattner authored
a trivial dense map. Use this in RewriteSingleStoreAlloca to avoid aggressively rescanning blocks over and over again. This fixes PR2925, speeding up mem2reg on the testcase in that bug from 4.56s to 0.02s in a debug build on my machine. llvm-svn: 58227
-
- Oct 23, 2008
-
-
Daniel Dunbar authored
LoopPass*. - Although less precise, this means they can be used in clients without RTTI (who would otherwise need to include LoopPass.h, which eventually includes things using dynamic_cast). This was the simplest solution that presented itself, but I am happy to use a better one if available. llvm-svn: 58010
-
- Oct 09, 2008
-
-
Nick Lewycky authored
llvm-svn: 57320
-
- Oct 08, 2008
-
-
Duncan Sands authored
Patch by Samuel Tardieu. llvm-svn: 57291
-
- Oct 07, 2008
-
-
Andrew Lenharth authored
llvm-svn: 57254
-
- Oct 03, 2008
-
-
Devang Patel authored
While hosting instruction check PHI node. llvm-svn: 57025
-
Owen Anderson authored
llvm-svn: 56994
-
- Sep 29, 2008
-
-
Duncan Sands authored
instead of hasWeakLinkage in a bunch of optimization passes. llvm-svn: 56782
-
- Sep 27, 2008
-
-
Devang Patel authored
llvm-svn: 56716
-
- Sep 25, 2008
-
-
Devang Patel authored
s/ParamAttr/Attribute/g s/PAList/AttrList/g s/FnAttributeWithIndex/AttributeWithIndex/g s/FnAttr/Attribute/g This sets the stage - to implement function notes as function attributes and - to distinguish between function attributes and return value attributes. This requires corresponding changes in llvm-gcc and clang. llvm-svn: 56622
-
- Sep 24, 2008
-
-
Devang Patel authored
llvm-svn: 56527
-
Devang Patel authored
Do not check isDeclaration() in hasNote(). It is clients' responsibility. llvm-svn: 56524
-
Devang Patel authored
llvm-svn: 56513
-
Devang Patel authored
Function Notes also. Function notes are stored at index ~0. llvm-svn: 56511
-
- Sep 23, 2008
-
-
Devang Patel authored
llvm-svn: 56477
-
- Sep 22, 2008
-
-
Oscar Fuentes authored
llvm-svn: 56419
-
- Sep 19, 2008
-
-
Devang Patel authored
llvm-svn: 56315
-
- Sep 17, 2008
-
-
Devang Patel authored
llvm-svn: 56286
-
- Sep 09, 2008
-
-
Devang Patel authored
llvm-svn: 55971
-
- Sep 08, 2008
-
-
Duncan Sands authored
long as the callgraph is correct. It checks for wrong callgraphs more strictly. llvm-svn: 55894
-
- Sep 06, 2008
-
-
Owen Anderson authored
llvm-svn: 55865
-
- Sep 05, 2008
-
-
Duncan Sands authored
because it does not maintain a correct list of callsites. I discovered (see following commit) that the inliner will create a wrong callgraph if it is fed a callgraph with correct edges but incorrect callsites. These were created by Prune-EH, and while it wasn't done via removeCallEdgeTo, it could have been done via removeCallEdgeTo, which is an accident waiting to happen. Use removeCallEdgeFor instead. llvm-svn: 55859
-
Duncan Sands authored
llvm-svn: 55835
-
- Sep 04, 2008
-
-
Dan Gohman authored
llvm-svn: 55779
-
- 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
-