[all-commits] [llvm/llvm-project] b6e279: [X86][TwoAddressInstructionPass] Teach tryInstruct...
topperc via All-commits
all-commits at lists.llvm.org
Sun Mar 1 16:38:54 PST 2020
Branch: refs/heads/master
Home: https://github.com/llvm/llvm-project
Commit: b6e2796114d08aadfabe8c889b5d96e6bc4f5e0e
https://github.com/llvm/llvm-project/commit/b6e2796114d08aadfabe8c889b5d96e6bc4f5e0e
Author: Craig Topper <craig.topper at gmail.com>
Date: 2020-03-01 (Sun, 01 Mar 2020)
Changed paths:
M llvm/lib/CodeGen/TwoAddressInstructionPass.cpp
M llvm/test/CodeGen/X86/fma-commute-loop.ll
M llvm/test/CodeGen/X86/recip-fastmath.ll
M llvm/test/CodeGen/X86/recip-fastmath2.ll
M llvm/test/CodeGen/X86/sqrt-fastmath.ll
Log Message:
-----------
[X86][TwoAddressInstructionPass] Teach tryInstructionCommute to continue checking for commutable FMA operands in more cases.
Previously we would only check for another commutable operand if the first commute was an aggressive commute.
But if we have two kill operands and neither is tied to the def at the start, we should consider both operands as the one to use as the new def.
This improves the loop in the fma-commute-loop.ll test. This test is derived from a post from discourse here https://llvm.discourse.group/t/unnecessary-vmovapd-instructions-generated-can-you-hint-in-favor-of-vfmadd231pd/582
Differential Revision: https://reviews.llvm.org/D75016
More information about the All-commits
mailing list