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