aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/ObjectYAML/CodeViewYAMLDebugSections.cpp
diff options
context:
space:
mode:
authorMatt Arsenault <Matthew.Arsenault@amd.com>2019-12-30 14:46:24 -0500
committerMatt Arsenault <arsenm2@gmail.com>2019-12-31 22:49:51 -0500
commit4d7201e7b988b62a6ca30416fd03847b5a39dae0 (patch)
tree2b340d84e7050b98406a432d23122796292aa3f9 /llvm/lib/ObjectYAML/CodeViewYAMLDebugSections.cpp
parente3e13db714e0d642ae44d5d392b137ec64d93a00 (diff)
downloadllvm-4d7201e7b988b62a6ca30416fd03847b5a39dae0.zip
llvm-4d7201e7b988b62a6ca30416fd03847b5a39dae0.tar.gz
llvm-4d7201e7b988b62a6ca30416fd03847b5a39dae0.tar.bz2
DAG: Stop trying to fold FP -(x-y) -> y-x in getNode with nsz
This was increasing the number of instructions when fsub was legalized on AMDGPU with no signed zeros enabled. This fold should be guarded by hasOneUse, and I don't think getNode should be doing that. The same fold is already done as a regular combine through isNegatibleForFree. This does require duplicating, even though isNegatibleForFree does this combine already (and properly checks hasOneUse) to avoid one PPC regression. In the regression, the outer fneg has nsz but the fsub operand does not. isNegatibleForFree only sees the operand, and doesn't see it's used from a nsz context. A nsz parameter needs to be added and threaded through isNegatibleForFree to avoid this.
Diffstat (limited to 'llvm/lib/ObjectYAML/CodeViewYAMLDebugSections.cpp')
0 files changed, 0 insertions, 0 deletions