Move malloc/free lowering after tracing until lli supports

calls to external malloc/free functions.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@893 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Vikram S. Adve
2001-10-18 18:20:20 +00:00
parent 631b9a3523
commit 712ac2b951

View File

@@ -121,9 +121,6 @@ int main(int argc, char **argv) {
// Build up all of the passes that we want to do to the module... // Build up all of the passes that we want to do to the module...
vector<Pass*> Passes; vector<Pass*> Passes;
// Replace malloc and free instructions with library calls
Passes.push_back(new LowerAllocations(Target.DataLayout));
// Hoist constants out of PHI nodes into predecessor BB's // Hoist constants out of PHI nodes into predecessor BB's
Passes.push_back(new HoistPHIConstants()); Passes.push_back(new HoistPHIConstants());
@@ -148,10 +145,16 @@ int main(int argc, char **argv) {
} else { } else {
Passes.push_back(new PrintModulePass("", os, Passes.push_back(new PrintModulePass("", os,
/*deleteStream*/ true, /*deleteStream*/ true,
/*printAsBytecode*/ ! DebugTrace)); /*printPerMethod*/ false,
/*printAsBytecode*/ !DebugTrace));
} }
} }
// Replace malloc and free instructions with library calls.
// Do this after tracing until lli implements these lib calls.
// For now, it will emulate malloc and free internally.
Passes.push_back(new LowerAllocations(Target.DataLayout));
// If LLVM dumping after transformations is requested, add it to the pipeline // If LLVM dumping after transformations is requested, add it to the pipeline
if (DumpAsm) if (DumpAsm)
Passes.push_back(new PrintModulePass("Code after xformations: \n",&cerr)); Passes.push_back(new PrintModulePass("Code after xformations: \n",&cerr));