mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-06-20 10:24:12 +00:00
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:
@ -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;
|
||||
}
|
||||
|
Reference in New Issue
Block a user