diff options
author | Craig Topper <craig.topper@intel.com> | 2018-08-01 06:36:20 +0000 |
---|---|---|
committer | Craig Topper <craig.topper@intel.com> | 2018-08-01 06:36:20 +0000 |
commit | 65a13888816adb5094b06e1688ca93f3d18b7ece (patch) | |
tree | e43e42fdf859c73029ea7b4d3d8d30823c3a20f1 /llvm/lib/Transforms/Utils/InlineFunction.cpp | |
parent | 7dd0aba0b2ad712118030a73921b10042917ac18 (diff) | |
download | bcm5719-llvm-65a13888816adb5094b06e1688ca93f3d18b7ece.tar.gz bcm5719-llvm-65a13888816adb5094b06e1688ca93f3d18b7ece.zip |
[X86] When looking for (CMOV C-1, (ADD (CTTZ X), C), (X != 0)) -> (ADD (CMOV (CTTZ X), -1, (X != 0)), C), make sure we really have a compare with 0.
It's not strictly required by the transform of the cmov and the add, but it makes sure we restrict it to the cases we know we want to match.
While there canonicalize the operand order of the cmov to simplify the matching and emitting code.
llvm-svn: 338492
Diffstat (limited to 'llvm/lib/Transforms/Utils/InlineFunction.cpp')
0 files changed, 0 insertions, 0 deletions