Skip to content

Commit 0558a83

Browse files
committed
self-review:
- add clarifying comment/code
1 parent e52cf42 commit 0558a83

File tree

1 file changed

+6
-5
lines changed

1 file changed

+6
-5
lines changed

llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1014,12 +1014,13 @@ static void AddDotProductRequirements(const MachineInstr &MI,
10141014

10151015
const MachineRegisterInfo &MRI = MI.getMF()->getRegInfo();
10161016
assert(MI.getOperand(2).isReg() && "Unexpected operand in dot");
1017-
const MachineInstr *InputInstr = MRI.getVRegDef(MI.getOperand(2).getReg());
1018-
assert(InputInstr->getOperand(1).isReg() &&
1019-
"Unexpected operand in dot input");
1017+
// We do not consider what the previous instruction is. This is just used
1018+
// to get the input register and to check the type.
1019+
const MachineInstr *Input = MRI.getVRegDef(MI.getOperand(2).getReg());
1020+
assert(Input->getOperand(1).isReg() && "Unexpected operand in dot input");
1021+
Register InputReg = Input->getOperand(1).getReg();
10201022

1021-
Register TypeReg = InputInstr->getOperand(1).getReg();
1022-
SPIRVType *TypeDef = MRI.getVRegDef(TypeReg);
1023+
SPIRVType *TypeDef = MRI.getVRegDef(InputReg);
10231024
if (TypeDef->getOpcode() == SPIRV::OpTypeInt) {
10241025
assert(TypeDef->getOperand(1).getImm() == 32);
10251026
Reqs.addCapability(SPIRV::Capability::DotProductInput4x8BitPacked);

0 commit comments

Comments
 (0)