[PATCH] D99010: [X86][AMX] Hoist ldtilecfg

Pengfei Wang via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Sat Apr 3 07:03:15 PDT 2021


pengfei updated this revision to Diff 335089.
pengfei added a comment.

Fixed the problem when the sink need to be forked. I.e.

       +------+
       |Entry | BB0
       +------+
       /     \
  +------+  +------+
  |Shape1|  |Shape2| BB2
  +------+  +------+
  BB1  \       /
       +------+
       | AMX  | BB3
       +------+

If BB1 and BB2 don't have a call, we will try to insert ldtilecfg from BB0.
Since BB0 doesn't dominate all shapes, we will sink the insert point to its successors.
The previous code has limitation that only one of BB0's successors has NeedTileCfgLiveIn = true.
This update fixes the problem without major changes. So I amended it instead of putting into a new revision.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D99010

Files:
  llvm/lib/Target/X86/X86PreTileConfig.cpp
  llvm/test/CodeGen/X86/AMX/amx-across-func.ll
  llvm/test/CodeGen/X86/AMX/amx-config.ll
  llvm/test/CodeGen/X86/AMX/amx-ldtilecfg-insert.ll
  llvm/test/CodeGen/X86/opt-pipeline.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D99010.335089.patch
Type: text/x-patch
Size: 33084 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20210403/bcff6948/attachment.bin>


More information about the llvm-commits mailing list