Turn on the AddReadAttrs pass.
authorDuncan Sands <baldrick@free.fr>
Fri, 19 Sep 2008 14:34:36 +0000 (14:34 +0000)
committerDuncan Sands <baldrick@free.fr>
Fri, 19 Sep 2008 14:34:36 +0000 (14:34 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56345 91177308-0d34-0410-b5e6-96231b3b80d8

tools/opt/opt.cpp

index ae076102d5b6d737a7bf94bff1bfb41b61cee1f5..ea6ed3370c084f452bc62c951328de9261445936 100644 (file)
@@ -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