[PATCH] D95136: [X86] Fix tile config register spill issue.
LuoYuanke via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Sun Jan 24 20:21:39 PST 2021
LuoYuanke added inline comments.
================
Comment at: llvm/lib/Target/X86/X86PreTileConfig.cpp:264
+ findInsertPoints(MI->getParent(), MI);
+ updateBBStatus(&MF->back());
+
----------------
I'm not sure there is only one exit.
================
Comment at: llvm/lib/Target/X86/X86PreTileConfig.cpp:338
+ findInsertPoints(*I);
+ if (Call && BBStatus[*I] == HasAMXBeforeCall)
+ CfgNeedInsert.insert(Call);
----------------
Not sure about this condition. If there is no call in its direct successor, but there is amx before call in its successor's successor.
call
/ \
BB1 BB2
|
amx
call
================
Comment at: llvm/lib/Target/X86/X86PreTileConfig.cpp:345
+ // update them after all BBs have been visited.
+ void updateBBStatus(MachineBasicBlock *MBB) {
+ std::queue<MachineBasicBlock *> WorkList;
----------------
I didn't figure out this function yet. @xiangzhangllvm, would you help to review this function?
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D95136/new/
https://reviews.llvm.org/D95136
More information about the llvm-commits
mailing list