forked from OSchip/llvm-project
Fixup patch for revision rL316070.
Added check that type of CmpConst and source type of trunc are equal for correct matching of the case when we can set widened C constant equal to CmpConstant. %cond = cmp iN %x, CmpConst %tr = trunc iN %x to iK %narrowsel = select i1 %cond, iK %t, iK C Patch by: Gainullin, Artur <artur.gainullin@intel.com> llvm-svn: 316082
This commit is contained in:
parent
77bf0fd59c
commit
9723f12491
|
@ -4365,7 +4365,8 @@ static Value *lookThroughCast(CmpInst *CmpI, Value *V1, Value *V2,
|
|||
break;
|
||||
case Instruction::Trunc:
|
||||
Constant *CmpConst;
|
||||
if (match(CmpI->getOperand(1), m_Constant(CmpConst))) {
|
||||
if (match(CmpI->getOperand(1), m_Constant(CmpConst)) &&
|
||||
CmpConst->getType() == SrcTy) {
|
||||
// Here we have the following case:
|
||||
//
|
||||
// %cond = cmp iN %x, CmpConst
|
||||
|
|
Loading…
Reference in New Issue