summaryrefslogtreecommitdiffstats
path: root/clang/lib/Frontend/CompilerInvocation.cpp
diff options
context:
space:
mode:
authorSanjay Patel <spatel@rotateright.com>2018-02-26 16:02:45 +0000
committerSanjay Patel <spatel@rotateright.com>2018-02-26 16:02:45 +0000
commit31a90468e1e17e7acbd8e0ffff42cd1354550799 (patch)
treea59ad33d0e068a8432724f204ea64758c8168f56 /clang/lib/Frontend/CompilerInvocation.cpp
parent2f0aab92097cd068d6c505a268c93e2fa39276de (diff)
downloadbcm5719-llvm-31a90468e1e17e7acbd8e0ffff42cd1354550799.tar.gz
bcm5719-llvm-31a90468e1e17e7acbd8e0ffff42cd1354550799.zip
[InstCombine] allow fdiv folds with less than fully 'fast' ops
Note: gcc appears to allow this fold with -freciprocal-math alone, but clang/llvm require more than that with this patch. The wording in the definitions seems fuzzy enough that it could go either way, but we'll err on the conservative side of FMF interpretation. This patch also changes the newly created fmul to have FMF propagated by the last fdiv rather than intersecting the FMF of the fdivs. This matches the behavior of other folds near here. The new fmul is only used to produce an intermediate op for the final fdiv result, so it shouldn't be any stricter than that result. The previous behavior could result in dropping FMF via other folds in instcombine or CSE. Differential Revision: https://reviews.llvm.org/D43398 llvm-svn: 326098
Diffstat (limited to 'clang/lib/Frontend/CompilerInvocation.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud