LuoYuanke added inline comments.

================
Comment at: llvm/lib/Target/X86/X86TileConfig.cpp:101
+  unsigned SubIdx = (BitSize == 8) ? X86::sub_8bit : X86::sub_16bit;
+  unsigned Opc = (BitSize == 8) ? X86::MOV8mr : X86::MOV16mr;
+  MachineInstr *NewMI =
----------------
akashk4 wrote:
> I do not understand why wasn't PSTTILECFG used to store config to memory.  I 
> guess it will be difficult to do that because we do not know the scope of a 
> transaction since the TILE_RELEASE is not supported.
PSTTILECFG is use to store the config from tile config register to memory. Here 
to need to load the config from memory to tile config register, so that each 
tile data register is configured.

The LDTIELCFG has been inserted in the X86PreTileConfig pass. Since at 
X86PreTileConfig pass we don't know the config of the tile physical registers, 
the shape data in stack slot is zero. At the pass which is after RA, we know 
the shape of tile registers, so we just fill in the shape in the stack slot.

Do you mean to tile release at the end of each function which use AMX? Since we 
config tile registers at the beginning of each function that use AMX, it 
doesn't break AMX operation without tile release. But it may reduce the 
overhead of thread switch with tile release, if AMX operation in only used for 
a while in a thread. 


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D87981/new/

https://reviews.llvm.org/D87981

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to