Implement another D-specific pass: -dgc2stack

This one promotes GC allocations to stack memory when it can determine it's safe
to do so.
Not all GC calls are recognized yet (in fact only one *is* recognized for now).
Needs metadata, so disabled for LLVM versions that don't support it.
This commit is contained in:
Frits van Bommel
2009-05-02 11:58:50 +02:00
parent a9c518d82b
commit cff0f1f446
3 changed files with 252 additions and 5 deletions

View File

@@ -7,6 +7,7 @@ namespace llvm {
// Performs simplifications on runtime calls.
llvm::FunctionPass* createSimplifyDRuntimeCalls();
llvm::FunctionPass* createGarbageCollect2Stack();
#endif