Skip to content

Commit d26b66f

Browse files
committed
[AMDGPU] use std pair.
1 parent 887688e commit d26b66f

File tree

1 file changed

+9
-10
lines changed

1 file changed

+9
-10
lines changed

llvm/lib/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -273,8 +273,8 @@ simplifyAMDGCNImageIntrinsic(const GCNSubtarget *ST,
273273

274274
// Only perform D16 folding if every user of the image sample is
275275
// an ExtractElementInst immediately followed by an FPTrunc to half.
276-
SmallVector<ExtractElementInst *, 4> Extracts;
277-
SmallVector<FPTruncInst *, 4> Truncs;
276+
SmallVector<std::pair<ExtractElementInst *, FPTruncInst *>, 4>
277+
ExtractTruncPairs;
278278

279279
for (User *U : II.users()) {
280280
auto *Ext = dyn_cast<ExtractElementInst>(U);
@@ -285,11 +285,10 @@ simplifyAMDGCNImageIntrinsic(const GCNSubtarget *ST,
285285
if (!Tr || !Tr->getType()->isHalfTy())
286286
return std::nullopt;
287287

288-
Extracts.push_back(Ext);
289-
Truncs.push_back(Tr);
288+
ExtractTruncPairs.emplace_back(Ext, Tr);
290289
}
291290

292-
if (Extracts.empty())
291+
if (ExtractTruncPairs.empty())
293292
return std::nullopt;
294293

295294
auto *VecTy = cast<VectorType>(II.getType());
@@ -309,7 +308,7 @@ simplifyAMDGCNImageIntrinsic(const GCNSubtarget *ST,
309308
II.setCalledFunction(HalfDecl);
310309

311310
IRBuilder<> Builder(II.getContext());
312-
for (auto [Ext, Tr] : zip(Extracts, Truncs)) {
311+
for (auto &[Ext, Tr] : ExtractTruncPairs) {
313312
Value *Idx = Ext->getIndexOperand();
314313

315314
Builder.SetInsertPoint(Tr);
@@ -320,10 +319,10 @@ simplifyAMDGCNImageIntrinsic(const GCNSubtarget *ST,
320319
Tr->replaceAllUsesWith(HalfExtract);
321320
}
322321

323-
for (FPTruncInst *T : Truncs)
324-
IC.eraseInstFromFunction(*T);
325-
for (ExtractElementInst *E : Extracts)
326-
IC.eraseInstFromFunction(*E);
322+
for (auto &[Ext, Tr] : ExtractTruncPairs) {
323+
IC.eraseInstFromFunction(*Tr);
324+
IC.eraseInstFromFunction(*Ext);
325+
}
327326

328327
return &II;
329328
}

0 commit comments

Comments
 (0)