mirror of
https://github.com/RPCS3/llvm.git
synced 2025-03-03 16:18:37 +00:00
[SystemZ] Properly check number of operands in getCmpOpsType()
It is needed to check that the number of operands are 2 when finding the case of a logic combination, e.g. 'and' of two compares. Review: Ulrich Weigand git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@302022 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
5bbf1b2a54
commit
0441b20083
@ -530,9 +530,10 @@ static Type *getCmpOpsType(const Instruction *I, unsigned VF = 1) {
|
||||
if (CmpInst *CI = dyn_cast<CmpInst>(I->getOperand(0)))
|
||||
OpTy = CI->getOperand(0)->getType();
|
||||
else if (Instruction *LogicI = dyn_cast<Instruction>(I->getOperand(0)))
|
||||
if (CmpInst *CI0 = dyn_cast<CmpInst>(LogicI->getOperand(0)))
|
||||
if (isa<CmpInst>(LogicI->getOperand(1)))
|
||||
OpTy = CI0->getOperand(0)->getType();
|
||||
if (LogicI->getNumOperands() == 2)
|
||||
if (CmpInst *CI0 = dyn_cast<CmpInst>(LogicI->getOperand(0)))
|
||||
if (isa<CmpInst>(LogicI->getOperand(1)))
|
||||
OpTy = CI0->getOperand(0)->getType();
|
||||
|
||||
if (OpTy != nullptr) {
|
||||
if (VF == 1) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user