Enabling the target-independent garbage collection infrastructure by hooking it
[oota-llvm.git] / lib / Target / CBackend / CBackend.cpp
index d695e44bcdf6ce826d85b58a47284fffa8935dba..f4e9e341528340e90fc2d05a548bfc2df18aca02 100644 (file)
@@ -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;
 }