summaryrefslogtreecommitdiffstats
path: root/llvm/lib/MC
diff options
context:
space:
mode:
authorJustin Lebar <jlebar@google.com>2017-01-21 00:59:57 +0000
committerJustin Lebar <jlebar@google.com>2017-01-21 00:59:57 +0000
commit8b18a347b6021cf5bea7b6f7c6fd0b8c42f26adb (patch)
treef0e5a2da9b6e689d803714d386a0940fcf457691 /llvm/lib/MC
parentda57dbf8f7b0395a00e33889cba1564fa3d85d3b (diff)
downloadbcm5719-llvm-8b18a347b6021cf5bea7b6f7c6fd0b8c42f26adb.tar.gz
bcm5719-llvm-8b18a347b6021cf5bea7b6f7c6fd0b8c42f26adb.zip
[ConstantFolding] Constant-fold llvm.sqrt(x) like other intrinsics.
Summary: Currently we return undef, but we're in the process of changing the LangRef so that llvm.sqrt behaves like the other math intrinsics, matching the return value of the standard libcall but not setting errno. This change is legal even without the LangRef change because currently calling llvm.sqrt(x) where x is negative is spec'ed to be UB. But in practice it's also safe because we're simply constant-folding fewer inputs: Inputs >= -0 get constant-folded as before, but inputs < -0 now aren't constant-folded, because ConstantFoldFP aborts if the host math function raises an fp exception. Reviewers: hfinkel, efriedma, sanjoy Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D28929 llvm-svn: 292692
Diffstat (limited to 'llvm/lib/MC')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud