diff options
author | Gordon Henriksen <gordonhenriksen@mac.com> | 2008-01-07 01:30:38 +0000 |
---|---|---|
committer | Gordon Henriksen <gordonhenriksen@mac.com> | 2008-01-07 01:30:38 +0000 |
commit | ce2247755e56f99a2377b64a1a9d393726582b85 (patch) | |
tree | 3958d8dfd03faf752d6a9a5e5da7cbb23e6a29da /lib/Target | |
parent | 7e40ad51065331b04bcb0291c4868ace20289857 (diff) |
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
Diffstat (limited to 'lib/Target')
-rw-r--r-- | lib/Target/CBackend/CBackend.cpp | 4 | ||||
-rw-r--r-- | lib/Target/MSIL/MSILWriter.cpp | 4 |
2 files changed, 6 insertions, 2 deletions
diff --git a/lib/Target/CBackend/CBackend.cpp b/lib/Target/CBackend/CBackend.cpp index d695e44bcd..f4e9e34152 100644 --- a/lib/Target/CBackend/CBackend.cpp +++ b/lib/Target/CBackend/CBackend.cpp @@ -28,6 +28,7 @@ #include "llvm/Analysis/ConstantsScanner.h" #include "llvm/Analysis/FindUsedTypes.h" #include "llvm/Analysis/LoopInfo.h" +#include "llvm/CodeGen/Passes.h" #include "llvm/CodeGen/IntrinsicLowering.h" #include "llvm/Transforms/Scalar.h" #include "llvm/Target/TargetMachineRegistry.h" @@ -2946,11 +2947,12 @@ bool CTargetMachine::addPassesToEmitWholeFile(PassManager &PM, bool Fast) { if (FileType != TargetMachine::AssemblyFile) return true; - PM.add(createLowerGCPass()); + PM.add(createGCLoweringPass()); PM.add(createLowerAllocationsPass(true)); PM.add(createLowerInvokePass()); PM.add(createCFGSimplificationPass()); // clean up after lower invoke. PM.add(new CBackendNameAllUsedStructsAndMergeFunctions()); PM.add(new CWriter(o)); + PM.add(createCollectorMetadataDeleter()); return false; } diff --git a/lib/Target/MSIL/MSILWriter.cpp b/lib/Target/MSIL/MSILWriter.cpp index 141bc4b6c7..72ccc3a2c3 100644 --- a/lib/Target/MSIL/MSILWriter.cpp +++ b/lib/Target/MSIL/MSILWriter.cpp @@ -24,6 +24,7 @@ #include "llvm/Support/MathExtras.h" #include "llvm/Transforms/Scalar.h" #include "llvm/ADT/StringExtras.h" +#include "llvm/CodeGen/Passes.h" namespace { // TargetMachine for the MSIL @@ -1647,12 +1648,13 @@ bool MSILTarget::addPassesToEmitWholeFile(PassManager &PM, std::ostream &o, { if (FileType != TargetMachine::AssemblyFile) return true; MSILWriter* Writer = new MSILWriter(o); - PM.add(createLowerGCPass()); + PM.add(createGCLoweringPass()); PM.add(createLowerAllocationsPass(true)); // FIXME: Handle switch trougth native IL instruction "switch" PM.add(createLowerSwitchPass()); PM.add(createCFGSimplificationPass()); PM.add(new MSILModule(Writer->UsedTypes,Writer->TD)); PM.add(Writer); + PM.add(createCollectorMetadataDeleter()); return false; } |