Enable FunctionAttrsPass again.

This pass requires an alias analysis, which is also added.
This commit is contained in:
kai 2012-08-11 19:17:18 +02:00
parent 56233a373c
commit 34d595de26

View file

@ -107,6 +107,10 @@ static void addPassesForOptLevel(PassManager& pm) {
// -O1
if (optimizeLevel >= 1)
{
// Add alias analysis passes.
// This is at least required for FunctionAttrs pass.
addPass(pm, createTypeBasedAliasAnalysisPass());
addPass(pm, createBasicAliasAnalysisPass());
//addPass(pm, createStripDeadPrototypesPass());
addPass(pm, createGlobalDCEPass());
addPass(pm, createPromoteMemoryToRegisterPass());
@ -127,9 +131,7 @@ static void addPassesForOptLevel(PassManager& pm) {
addPass(pm, createCFGSimplificationPass());
addPass(pm, createPruneEHPass());
// FIXME: Adding this pass crashes LLVM 2.9 in
// PMTopLevelManager::schedulePass(), commented out for a quick fix.
// addPass(pm, createFunctionAttrsPass());
addPass(pm, createFunctionAttrsPass());
addPass(pm, createTailCallEliminationPass());
addPass(pm, createCFGSimplificationPass());