Skip to content

Commit b5a7054

Browse files
committed
Merge branch 'post-legalizer-worklist' into legalize-long-vectors-final
2 parents a5793c2 + 3ec8f39 commit b5a7054

File tree

1 file changed

+28
-28
lines changed

1 file changed

+28
-28
lines changed

llvm/lib/Target/SPIRV/SPIRVPostLegalizer.cpp

Lines changed: 28 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -44,9 +44,9 @@ extern void processInstr(MachineInstr &MI, MachineIRBuilder &MIB,
4444
SPIRVType *KnownResType);
4545
} // namespace llvm
4646

47-
static SPIRVType *inferIntTypeFromResult(Register ResVReg,
48-
MachineIRBuilder &MIB,
49-
SPIRVGlobalRegistry *GR) {
47+
static SPIRVType *deduceIntTypeFromResult(Register ResVReg,
48+
MachineIRBuilder &MIB,
49+
SPIRVGlobalRegistry *GR) {
5050
const LLT &Ty = MIB.getMRI()->getType(ResVReg);
5151
return GR->getOrCreateSPIRVIntegerType(Ty.getScalarSizeInBits(), MIB);
5252
}
@@ -98,39 +98,39 @@ static bool deduceAndAssignTypeForGUnmerge(MachineInstr *I, MachineFunction &MF,
9898
return true;
9999
}
100100

101-
static SPIRVType *inferTypeFromSingleOperand(MachineInstr *I,
102-
MachineIRBuilder &MIB,
103-
SPIRVGlobalRegistry *GR,
104-
unsigned OpIdx) {
101+
static SPIRVType *deduceTypeFromSingleOperand(MachineInstr *I,
102+
MachineIRBuilder &MIB,
103+
SPIRVGlobalRegistry *GR,
104+
unsigned OpIdx) {
105105
Register OpReg = I->getOperand(OpIdx).getReg();
106106
if (SPIRVType *OpType = GR->getSPIRVTypeForVReg(OpReg)) {
107107
if (SPIRVType *CompType = GR->getScalarOrVectorComponentType(OpType)) {
108108
Register ResVReg = I->getOperand(0).getReg();
109109
const LLT &ResLLT = MIB.getMRI()->getType(ResVReg);
110110
if (ResLLT.isVector())
111-
return GR->getOrCreateSPIRVVectorType(CompType, ResLLT.getNumElements(),
112-
MIB, false);
111+
return GR->getOrCreateSPIRVVectorType(
112+
CompType, ResLLT.getNumElements(), MIB, false);
113113
return CompType;
114114
}
115115
}
116116
return nullptr;
117117
}
118118

119-
static SPIRVType *inferTypeFromOperandRange(MachineInstr *I,
120-
MachineIRBuilder &MIB,
121-
SPIRVGlobalRegistry *GR,
122-
unsigned StartOp, unsigned EndOp) {
119+
static SPIRVType *deduceTypeFromOperandRange(MachineInstr *I,
120+
MachineIRBuilder &MIB,
121+
SPIRVGlobalRegistry *GR,
122+
unsigned StartOp, unsigned EndOp) {
123123
for (unsigned i = StartOp; i < EndOp; ++i) {
124-
if (SPIRVType *Type = inferTypeFromSingleOperand(I, MIB, GR, i))
124+
if (SPIRVType *Type = deduceTypeFromSingleOperand(I, MIB, GR, i))
125125
return Type;
126126
}
127127
return nullptr;
128128
}
129129

130-
static SPIRVType *inferTypeForResultRegister(MachineInstr *Use,
131-
Register UseRegister,
132-
SPIRVGlobalRegistry *GR,
133-
MachineIRBuilder &MIB) {
130+
static SPIRVType *deduceTypeForResultRegister(MachineInstr *Use,
131+
Register UseRegister,
132+
SPIRVGlobalRegistry *GR,
133+
MachineIRBuilder &MIB) {
134134
for (const MachineOperand &MO : Use->defs()) {
135135
if (!MO.isReg())
136136
continue;
@@ -157,8 +157,8 @@ static SPIRVType *deduceTypeFromUses(Register Reg, MachineFunction &MF,
157157
case TargetOpcode::G_BUILD_VECTOR:
158158
case TargetOpcode::G_EXTRACT_VECTOR_ELT:
159159
case TargetOpcode::G_UNMERGE_VALUES:
160-
LLVM_DEBUG(dbgs() << "Looking at use " << Use);
161-
ResType = inferTypeForResultRegister(&Use, Reg, GR, MIB);
160+
LLVM_DEBUG(dbgs() << "Looking at use " << Use << "\n");
161+
ResType = deduceTypeForResultRegister(&Use, Reg, GR, MIB);
162162
break;
163163
}
164164
if (ResType)
@@ -167,22 +167,22 @@ static SPIRVType *deduceTypeFromUses(Register Reg, MachineFunction &MF,
167167
return nullptr;
168168
}
169169

170-
static SPIRVType *inferResultTypeFromOperands(MachineInstr *I,
171-
SPIRVGlobalRegistry *GR,
172-
MachineIRBuilder &MIB) {
170+
static SPIRVType *deduceResultTypeFromOperands(MachineInstr *I,
171+
SPIRVGlobalRegistry *GR,
172+
MachineIRBuilder &MIB) {
173173
Register ResVReg = I->getOperand(0).getReg();
174174
switch (I->getOpcode()) {
175175
case TargetOpcode::G_CONSTANT:
176176
case TargetOpcode::G_ANYEXT:
177-
return inferIntTypeFromResult(ResVReg, MIB, GR);
177+
return deduceIntTypeFromResult(ResVReg, MIB, GR);
178178
case TargetOpcode::G_BUILD_VECTOR:
179-
return inferTypeFromOperandRange(I, MIB, GR, 1, I->getNumOperands());
179+
return deduceTypeFromOperandRange(I, MIB, GR, 1, I->getNumOperands());
180180
case TargetOpcode::G_SHUFFLE_VECTOR:
181-
return inferTypeFromOperandRange(I, MIB, GR, 1, 3);
181+
return deduceTypeFromOperandRange(I, MIB, GR, 1, 3);
182182
default:
183183
if (I->getNumDefs() == 1 && I->getNumOperands() > 1 &&
184184
I->getOperand(1).isReg())
185-
return inferTypeFromSingleOperand(I, MIB, GR, 1);
185+
return deduceTypeFromSingleOperand(I, MIB, GR, 1);
186186
return nullptr;
187187
}
188188
}
@@ -201,7 +201,7 @@ static bool deduceAndAssignSpirvType(MachineInstr *I, MachineFunction &MF,
201201
return deduceAndAssignTypeForGUnmerge(I, MF, GR);
202202

203203
LLVM_DEBUG(dbgs() << "Inferring type from operands\n");
204-
SPIRVType *ResType = inferResultTypeFromOperands(I, GR, MIB);
204+
SPIRVType *ResType = deduceResultTypeFromOperands(I, GR, MIB);
205205
if (!ResType) {
206206
LLVM_DEBUG(dbgs() << "Inferring type from uses\n");
207207
ResType = deduceTypeFromUses(ResVReg, MF, GR, MIB);

0 commit comments

Comments
 (0)