mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-10-19 11:02:59 +02:00
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
70dfe93938
commit
8594937cc3
@ -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
Block a user