pengfei added inline comments.
================ Comment at: llvm/lib/Target/X86/X86LowerAMXType.cpp:243 + } + // If load has mutli-user, duplicate a amx load. + // %src = load <256 x i32>, <256 x i32>* %addr, align 64 ---------------- vector ================ Comment at: llvm/lib/Target/X86/X86LowerAMXType.cpp:312 + SmallSet<Instruction *, 8> DeletedInst; + auto DeleteInst = [&](Instruction *Inst) { + SmallVector<Instruction *, 4> DeadIs; ---------------- Why we need to recursively delete them? I think delete the nodes in DeadInsts is enough. ================ Comment at: llvm/lib/Target/X86/X86LowerAMXType.cpp:124 + auto *II = cast<IntrinsicInst>(Tile); + // Tile is output from AMX intrinsic. The first operand of the + // intrinsic is row, the second operand of the intrinsic is column. ---------------- LuoYuanke wrote: > pengfei wrote: > > How about the `Tile` comes from tdpbssd? > We have a convention, when amx intrinsics define a x86_amx tile the first 2 > operands is the shape of the defined tile. For tdpbssd, the intrinsics > operands are (m, n, k, ...). (m, n) is the shape of the produced tile. Oh, yes. I missed that. Thanks. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D91927/new/ https://reviews.llvm.org/D91927 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits