Rename AddReadAttrs to FunctionAttrs, and teach it how
to work out (in a very simplistic way) which function
arguments (pointer arguments only) are only dereferenced
and so do not escape.  Mark such arguments 'nocapture'.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61525 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/tools/opt/opt.cpp b/tools/opt/opt.cpp
index 9039553..b46f7c9 100644
--- a/tools/opt/opt.cpp
+++ b/tools/opt/opt.cpp
@@ -291,7 +291,7 @@
   MPM.add(createCFGSimplificationPass());       // Clean up after IPCP & DAE
   if (UnitAtATime) {
     MPM.add(createPruneEHPass());               // Remove dead EH info
-    MPM.add(createAddReadAttrsPass());          // Set readonly/readnone attrs
+    MPM.add(createFunctionAttrsPass());         // Deduce function attrs
   }
   if (OptLevel > 1)
     MPM.add(createFunctionInliningPass());      // Inline small functions
@@ -363,7 +363,7 @@
   addPass(PM, createCFGSimplificationPass());    // Clean up after IPCP & DAE
 
   addPass(PM, createPruneEHPass());              // Remove dead EH info
-  addPass(PM, createAddReadAttrsPass());         // Set readonly/readnone attrs
+  addPass(PM, createFunctionAttrsPass());        // Deduce function attrs
 
   if (!DisableInline)
     addPass(PM, createFunctionInliningPass());   // Inline small functions