Skip to content

Commit ef8b117

Browse files
[WIN] Fix error C7555: use of designated initializers requires at least '/std:c++20' (#4889)
Fixes #4890 Signed-off-by: Whitney Tsang <[email protected]>
1 parent 6f5194d commit ef8b117

File tree

1 file changed

+38
-27
lines changed

1 file changed

+38
-27
lines changed

lib/Dialect/TritonInstrument/Transforms/ConcurrencySanitizer.cpp

Lines changed: 38 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -280,44 +280,55 @@ class ConcurrencySanitizerPass
280280
SmallVector<MemEffects> getMemEffects(Operation *op) {
281281
SmallVector<MemEffects> effects;
282282
if (auto copyOp = dyn_cast<ttng::AsyncTMACopyGlobalToLocalOp>(op)) {
283-
effects.emplace_back(
284-
MemEffects{.buf = copyOp.getResult(),
285-
.rw = MemEffects::RW::Write,
286-
.barriersAndPreds = {{copyOp.getBarrier(), nullptr}},
287-
.pred = copyOp.getPred()});
283+
MemEffects effect;
284+
effect.buf = copyOp.getResult();
285+
effect.rw = MemEffects::RW::Write;
286+
effect.barriersAndPreds = {{copyOp.getBarrier(), nullptr}};
287+
effect.pred = copyOp.getPred();
288+
effects.emplace_back(effect);
288289
}
289290
if (auto copyOp = dyn_cast<ttg::AsyncCopyGlobalToLocalOp>(op)) {
290-
effects.emplace_back(MemEffects{.buf = copyOp.getResult(),
291-
.rw = MemEffects::RW::Write,
292-
.commitTracking = true});
291+
MemEffects effect;
292+
effect.buf = copyOp.getResult();
293+
effect.rw = MemEffects::RW::Write;
294+
effect.commitTracking = true;
295+
effects.emplace_back(effect);
293296
}
294297
if (auto loadOp = dyn_cast<ttng::TMEMLoadOp>(op)) {
295-
effects.emplace_back(
296-
MemEffects{.buf = loadOp.getSrc(), .rw = MemEffects::RW::Read});
298+
MemEffects effect;
299+
effect.buf = loadOp.getSrc();
300+
effect.rw = MemEffects::RW::Read;
301+
effects.emplace_back(effect);
297302
}
298303
if (auto storeOp = dyn_cast<ttng::TMEMStoreOp>(op)) {
299-
effects.emplace_back(
300-
MemEffects{.buf = storeOp.getDst(), .rw = MemEffects::RW::Write});
304+
MemEffects effect;
305+
effect.buf = storeOp.getDst();
306+
effect.rw = MemEffects::RW::Write;
307+
effects.emplace_back(effect);
301308
}
302309
if (auto mmav5Op = dyn_cast<ttng::TCGen5MMAOp>(op)) {
303310
SmallVector<std::tuple<Value, Value>> barriersAndPreds = llvm::to_vector(
304311
llvm::zip(mmav5Op.getBarriers(), mmav5Op.getBarrierPreds()));
305312

306-
effects.emplace_back(MemEffects{.buf = mmav5Op.getA(),
307-
.rw = MemEffects::RW::Read,
308-
.barriersAndPreds = barriersAndPreds,
309-
.pred = mmav5Op.getPred()});
310-
311-
effects.emplace_back(MemEffects{.buf = mmav5Op.getB(),
312-
.rw = MemEffects::RW::Read,
313-
.barriersAndPreds = barriersAndPreds,
314-
.pred = mmav5Op.getPred()});
315-
316-
effects.emplace_back(MemEffects{.buf = mmav5Op.getAccumulator(),
317-
.rw = MemEffects::RW::Write,
318-
.barriersAndPreds = barriersAndPreds,
319-
.hwPipelined = true,
320-
.pred = mmav5Op.getPred()});
313+
MemEffects effect;
314+
effect.buf = mmav5Op.getA();
315+
effect.rw = MemEffects::RW::Read;
316+
effect.barriersAndPreds = barriersAndPreds;
317+
effect.pred = mmav5Op.getPred();
318+
effects.emplace_back(effect);
319+
320+
effect.buf = mmav5Op.getB();
321+
effect.rw = MemEffects::RW::Read;
322+
effect.barriersAndPreds = barriersAndPreds;
323+
effect.pred = mmav5Op.getPred();
324+
effects.emplace_back(effect);
325+
326+
effect.buf = mmav5Op.getAccumulator();
327+
effect.rw = MemEffects::RW::Write;
328+
effect.barriersAndPreds = barriersAndPreds;
329+
effect.hwPipelined = true;
330+
effect.pred = mmav5Op.getPred();
331+
effects.emplace_back(effect);
321332
}
322333
return effects;
323334
}

0 commit comments

Comments
 (0)