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 @@
   }
   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 @@
   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
