[clang] [llvm] [X86][AMX] Support AMX-TRANSPOSE (PR #113532)

Feng Zou via cfe-commits cfe-commits at lists.llvm.org
Mon Oct 28 08:05:11 PDT 2024


================
@@ -80,28 +80,41 @@ INITIALIZE_PASS_BEGIN(X86FastTileConfig, DEBUG_TYPE,
 INITIALIZE_PASS_END(X86FastTileConfig, DEBUG_TYPE,
                     "Fast Tile Register Configure", false, false)
 
-static bool isTileDef(MachineRegisterInfo *MRI, MachineInstr &MI) {
+static unsigned getNumDefTiles(MachineRegisterInfo *MRI, MachineInstr &MI) {
   // There is no phi instruction after register allocation.
   assert(MI.isPHI() == false);
   // The instruction must have 3 operands: tile def, row, col.
   // It should be AMX pseudo instruction that have shape operand.
   if (MI.isDebugInstr() || MI.isCopy() || MI.getNumOperands() < 3 ||
       !MI.isPseudo())
-    return false;
+    return 0;
   MachineOperand &MO = MI.getOperand(0);
 
   if (MO.isReg()) {
     Register Reg = MO.getReg();
-    // FIXME it may be used after Greedy RA and the physical
+    // FIXME: It may be used after Greedy RA and the physical
     // register is not rewritten yet.
-    if (Reg.isVirtual() &&
-        MRI->getRegClass(Reg)->getID() == X86::TILERegClassID)
-      return true;
+    if (Reg.isVirtual()) {
----------------
fzou1 wrote:

Can this piece of code be replaced with calling getTileDefNum?

https://github.com/llvm/llvm-project/pull/113532


More information about the cfe-commits mailing list