aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/CodeGen/GCStrategy.cpp
AgeCommit message (Collapse)AuthorFilesLines
2011-01-10Rename TargetFrameInfo into TargetFrameLowering. Also, put couple of FIXMEs ↵Anton Korobeynikov1-2/+2
and fixes here and there. llvm-svn: 123170
2011-01-08Make more passes preserve dominators (or state that they preserve dominators ifCameron Zwarich1-2/+11
they all ready do). This removes two dominator recomputations prior to isel, which is a 1% improvement in total llc time for 403.gcc. The only potentially suspect thing is making GCStrategy recompute dominators if it used a custom lowering strategy. llvm-svn: 123064
2010-11-20Move some more hooks to TargetFrameInfoAnton Korobeynikov1-3/+3
llvm-svn: 119904
2010-10-19Get rid of static constructors for pass registration. Instead, every pass ↵Owen Anderson1-1/+8
exposes an initializeMyPassFunction(), which must be called in the pass's constructor. This function uses static dependency declarations to recursively initialize the pass's dependencies. Clients that only create passes through the createFooPass() APIs will require no changes. Clients that want to use the CommandLine options for passes will need to manually call the appropriate initialization functions in PassInitialization.h before parsing commandline arguments. I have tested this with all standard configurations of clang and llvm-gcc on Darwin. It is possible that there are problems with the static dependencies that will only be visible with non-standard options. If you encounter any crash in pass registration/creation, please send the testcase to me directly. llvm-svn: 116820
2010-09-24Attach a DebugLoc to a GC point in order to get precise information in the ↵Nicolas Geoffray1-6/+8
JIT of a GC point. llvm-svn: 114736
2010-08-06Reapply r110396, with fixes to appease the Linux buildbot gods.Owen Anderson1-2/+2
llvm-svn: 110460
2010-08-06Revert r110396 to fix buildbots.Owen Anderson1-2/+2
llvm-svn: 110410
2010-08-05Don't use PassInfo* as a type identifier for passes. Instead, use the ↵Owen Anderson1-2/+2
address of the static ID member as the sole unique type identifier. Clean up APIs related to this change. llvm-svn: 110396
2010-07-22undo 80 column trespassing I causedGabor Greif1-2/+3
llvm-svn: 109092
2010-06-25use ArgOperand API and CallSite to access arguments of CallInstGabor Greif1-3/+3
llvm-svn: 106829
2010-04-16Revert 101465, it broke internal OpenGL testing.Eric Christopher1-3/+3
Probably the best way to know that all getOperand() calls have been handled is to replace that API instead of updating. llvm-svn: 101579
2010-04-16reapply r101434Gabor Greif1-3/+3
with a fix for self-hosting rotate CallInst operands, i.e. move callee to the back of the operand array the motivation for this patch are laid out in my mail to llvm-commits: more efficient access to operands and callee, faster callgraph-construction, smaller compiler binary llvm-svn: 101465
2010-04-16back out r101423 and r101397, they break llvm-gcc self-host on darwin10Gabor Greif1-3/+3
llvm-svn: 101434
2010-04-15reapply r101364, which has been backed out in r101368Gabor Greif1-3/+3
with a fix rotate CallInst operands, i.e. move callee to the back of the operand array the motivation for this patch are laid out in my mail to llvm-commits: more efficient access to operands and callee, faster callgraph-construction, smaller compiler binary llvm-svn: 101397
2010-04-15Make sure the initialization of a GC root is after its definition.Nicolas Geoffray1-3/+4
llvm-svn: 101388
2010-04-15back out r101364, as it trips the linux nightlybot on some clang C++ testsGabor Greif1-3/+3
llvm-svn: 101368
2010-04-15rotate CallInst operands, i.e. move callee to the backGabor Greif1-3/+3
of the operand array the motivation for this patch are laid out in my mail to llvm-commits: more efficient access to operands and callee, faster callgraph-construction, smaller compiler binary llvm-svn: 101364
2010-03-17fix GetOrCreateTemporarySymbol to require a name, clientsChris Lattner1-1/+1
should use CreateTempSymbol() if they don't care about the name. llvm-svn: 98712
2010-03-14Change this code to allocate temporary labels from mccontext,Chris Lattner1-1/+1
not from MMI. llvm-svn: 98475
2010-03-14switch GC_LABEL to use an MCSymbol operand instead of a label ID operand.Chris Lattner1-11/+8
llvm-svn: 98474
2010-02-09move target-independent opcodes out of TargetInstrInfoChris Lattner1-1/+1
into TargetOpcodes.h. #include the new TargetOpcodes.h into MachineInstr. Add new inline accessors (like isPHI()) to MachineInstr, and start using them throughout the codebase. llvm-svn: 95687
2010-01-04Change errs() to dbgs().David Greene1-1/+2
llvm-svn: 92518
2009-10-25Remove includes of Support/Compiler.h that are no longer needed after theNick Lewycky1-1/+0
VISIBILITY_HIDDEN removal. llvm-svn: 85043
2009-10-25Remove VISIBILITY_HIDDEN from class/struct found inside anonymous namespaces.Nick Lewycky1-2/+2
Chris claims we should never have visibility_hidden inside any .cpp file but that's still not true even after this commit. llvm-svn: 85042
2009-09-08When emitting a label for a PostCall safe point, the machineNicolas Geoffray1-6/+11
instruction to insert before can be end(). getDebugLoc on end() returns an invalid value, therefore use the debug loc of the call instruction, and give it to InsertLabel. llvm-svn: 81207
2009-08-23Change Pass::print to take a raw ostream instead of std::ostream,Chris Lattner1-1/+2
update all code that this affects. llvm-svn: 79830
2009-07-14llvm_unreachable->llvm_unreachable(0), LLVM_UNREACHABLE->llvm_unreachable.Torok Edwin1-1/+1
This adds location info for all llvm_unreachable calls (which is a macro now) in !NDEBUG builds. In NDEBUG builds location info and the message is off (it only prints "UREACHABLE executed"). llvm-svn: 75640
2009-07-11Convert more assert(0)+abort() -> LLVM_UNREACHABLE,Torok Edwin1-1/+2
and abort()/exit() -> llvm_report_error(). llvm-svn: 75363
2009-02-18Eliminate several more unnecessary intptr_t casts.Dan Gohman1-1/+1
llvm-svn: 64888
2009-02-03Whitespace and comment changes. No functionality change.Bill Wendling1-0/+1
llvm-svn: 63660
2009-02-03Explicitly pass in debug location information to BuildMI.Bill Wendling1-1/+2
llvm-svn: 63599
2009-01-28Rename getAnalysisToUpdate to getAnalysisIfAvailable.Duncan Sands1-1/+1
llvm-svn: 63198
2008-09-04Tidy up several unbeseeming casts from pointer to intptr_t.Dan Gohman1-1/+1
llvm-svn: 55779
2008-08-19Delete a dead field.Gordon Henriksen1-1/+0
llvm-svn: 54995
2008-08-19[PR2327] Leverage TargetRegisterInfo to compute frame offsets for GC metadata.Gordon Henriksen1-7/+5
llvm-svn: 54994
2008-08-17Don't require Registry specializations to define random static variables.Gordon Henriksen1-7/+0
llvm-svn: 54902
2008-08-17Rename some GC classes so that their roll will hopefully be clearer.Gordon Henriksen1-48/+59
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
2008-08-17Don't instantiate GC metadata for declarations.Gordon Henriksen1-1/+1
llvm-svn: 54895
2008-08-17Factor GC metadata table assembly generation out of Collector in preparation ↵Gordon Henriksen1-0/+389
for splitting AsmPrinter into its own library. llvm-svn: 54881