[PATCH] D71736: [X86] Fix a KNL miscompile caused by combineSetCC swapping LHS/RHS variables before a later use.
Sanjay Patel via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Fri Dec 20 08:29:27 PST 2019
spatel accepted this revision.
spatel added a comment.
This revision is now accepted and ready to land.
LGTM. Breaking the function up with helpers/lambdas could be another option for not leaking modified state to other folds.
================
Comment at: llvm/lib/Target/X86/X86ISelLowering.cpp:43341-43342
if (VT.isVector() && VT.getVectorElementType() == MVT::i1 &&
(CC == ISD::SETNE || CC == ISD::SETEQ || ISD::isSignedIntSetCC(CC))) {
+ SDValue Op0 = LHS;
----------------
Add a comment here to explain. Something like:
// Make temporary copies of the operands because we may swap
// them to ease pattern matching, but then fall through without
// doing the transform.
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D71736/new/
https://reviews.llvm.org/D71736
More information about the llvm-commits
mailing list