diff options
Diffstat (limited to 'tools/opt/opt.cpp')
-rw-r--r-- | tools/opt/opt.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/tools/opt/opt.cpp b/tools/opt/opt.cpp index ae07610..ea6ed33 100644 --- a/tools/opt/opt.cpp +++ b/tools/opt/opt.cpp @@ -288,8 +288,10 @@ inline void addPass(PassManager &PM, Pass *P) { } MPM.add(createInstructionCombiningPass()); // Clean up after IPCP & DAE MPM.add(createCFGSimplificationPass()); // Clean up after IPCP & DAE - if (UnitAtATime) + if (UnitAtATime) { MPM.add(createPruneEHPass()); // Remove dead EH info + MPM.add(createAddReadAttrsPass()); // Set readonly/readnone attrs + } if (OptLevel > 1) MPM.add(createFunctionInliningPass()); // Inline small functions if (OptLevel > 2) @@ -360,6 +362,7 @@ void AddStandardCompilePasses(PassManager &PM) { addPass(PM, createCFGSimplificationPass()); // Clean up after IPCP & DAE addPass(PM, createPruneEHPass()); // Remove dead EH info + addPass(PM, createAddReadAttrsPass()); // Set readonly/readnone attrs if (!DisableInline) addPass(PM, createFunctionInliningPass()); // Inline small functions |