Change math intrinsic attributes from readonly to readnone. These
authorRaul E. Silvera <rsilvera@google.com>
Thu, 6 Mar 2014 00:18:15 +0000 (00:18 +0000)
committerRaul E. Silvera <rsilvera@google.com>
Thu, 6 Mar 2014 00:18:15 +0000 (00:18 +0000)
commit8b6d60f94b348694cb8aa4c78167bbaad352de31
treec07527fc24a2413ac15c0af27db105dec8c36273
parent001e676e4b919c553ad196510b9c12f93f4913d9
Change math intrinsic attributes from readonly to readnone. These
are operations that do not access memory but may be sensitive
to floating-point environment changes. LLVM does not attempt
to model FP environment changes, so this was unnecessarily conservative
and was getting on the way of some optimizations, in particular
SLP vectorization.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@203037 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/IR/Intrinsics.td
test/Feature/intrinsics.ll
test/Transforms/BBVectorize/simple-int.ll
test/Transforms/InstCombine/pow-1.ll