As the comments indicate, this is a temporary, repulsive, hack
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9982 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/tools/gccas/gccas.cpp b/tools/gccas/gccas.cpp
index c7a2204..0ed58b9 100644
--- a/tools/gccas/gccas.cpp
+++ b/tools/gccas/gccas.cpp
@@ -70,6 +70,12 @@
addPass(PM, createFunctionInliningPass()); // Inline small functions
addPass(PM, createInstructionCombiningPass()); // Cleanup code for raise
+
+ // HACK HACK HACK. This pass should be extended to support calls like 'call
+ // (const expr cast (free))(Ty *). Until it does so, we have to run it after
+ // instruction combining. This should be removed after PLDI!
+ addPass(PM, createRaiseAllocationsPass()); // call %malloc -> malloc inst
+
addPass(PM, createRaisePointerReferencesPass());// Recover type information
addPass(PM, createTailDuplicationPass()); // Simplify cfg by copying code
addPass(PM, createCFGSimplificationPass()); // Merge & remove BBs