Enabling the target-independent garbage collection infrastructure by hooking it

up to the various compiler pipelines.

This doesn't actually add support for any GC algorithms, which means it 
temporarily breaks a few tests. To be fixed shortly.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45669 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Gordon Henriksen
2008-01-07 01:30:38 +00:00
parent 7e40ad5106
commit ce2247755e
7 changed files with 71 additions and 11 deletions

View File

@ -30,6 +30,7 @@ namespace llvm {
class TargetLowering;
class FunctionLoweringInfo;
class HazardRecognizer;
class CollectorMetadata;
/// SelectionDAGISel - This is the common base class used for SelectionDAG-based
/// pattern-matching instruction selectors.
@ -42,10 +43,11 @@ public:
AliasAnalysis *AA;
std::vector<SDNode*> TopOrder;
unsigned DAGSize;
CollectorMetadata *GCI;
static char ID;
explicit SelectionDAGISel(TargetLowering &tli) :
FunctionPass((intptr_t)&ID), TLI(tli), DAGSize(0) {}
FunctionPass((intptr_t)&ID), TLI(tli), DAGSize(0), GCI(0) {}
TargetLowering &getTargetLowering() { return TLI; }