[PATCH] D95136: [X86] Fix tile config register spill issue.

Pengfei Wang via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Jan 28 05:59:43 PST 2021


pengfei added inline comments.


================
Comment at: llvm/lib/Target/X86/X86PreTileConfig.cpp:297
+        for (auto I = MBB->pred_begin(), E = MBB->pred_end(); I != E; ++I) {
+          if (!BBVisitedInfo.count(*I))
+            continue;
----------------
LuoYuanke wrote:
> pengfei wrote:
> > LuoYuanke wrote:
> > > Not quite understand this. Isn't all BBs added at line 275?
> > No, we only added successors since ldtilecfg BB. BB0, BB1 and BB2 in below graph won't be added.
> > ```
> >     BB0   ldtilecfg
> >      |      / \
> >     BB1   BB4 BB5
> >     / \   /   /
> >   BB2  BB3  BB6
> >      \  |  /
> >        BB7
> > ```
> There is no AMX instruction in BB0, BB1, BB2, so we don't care about BB0, BB1, BB2?
Yes. BB ldtilecfg dominates all BB that have AMX. So, there's no AMX in BB0, BB1 and BB2. In fact, BB3 and BB7 don't have either.
We calculate the status here which are used by the BB in `BBUnsolved`, which will never use the status of BB0~2. Nevertheless, we know their stutus are always `NoAMXAtAll`.


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