[PATCH] D50035: [SLC] Fix precision shrinking for pow()

Sanjay Patel via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Jul 31 08:17:16 PDT 2018


spatel added a comment.

This patch is still making multiple functional changes, so it needs to be split up.

IIUC, the changes to the match() statements are all functional diffs (maybe only using the llvm intrinsics with vector types?), but there are no tests for those?

I'm still distracted by the NFC whitespace, formatting, and comment diffs. Please make those before/after the functional change.

I updated the test file and added the baseline tests from this rev at https://reviews.llvm.org/rL338392. Use the script to auto-generate new CHECK lines.



================
Comment at: llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp:1181
+      Name == TLI->getName(LibFunc_pow) && hasFloatVersion(Name))
+    Shrunk = optimizeBinaryDoubleFP(Pow, B);
+
----------------
This change should be its own patch. It fixes a miscompile - we were wrongly shrinking pow(x, y) as a unary function.


Repository:
  rL LLVM

https://reviews.llvm.org/D50035





More information about the llvm-commits mailing list