[PATCH] D67017: [X86] Add initial support for unfolding broadcast loads from arithmetic instructions to enable LICM hoisting of the load

Craig Topper via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Aug 30 13:07:48 PDT 2019


craig.topper created this revision.
craig.topper added reviewers: RKSimon, spatel.
Herald added a subscriber: hiraditya.
Herald added a project: LLVM.

MachineLICM can hoist an invariant load, but if that load is folded it needs to be unfolded. On AVX512 sometimes this load is an broadcast load which we were previously unable to unfold. This patch adds initial support for that with a very basic list of supported instructions as a starting point.


https://reviews.llvm.org/D67017

Files:
  llvm/lib/Target/X86/X86InstrFoldTables.cpp
  llvm/lib/Target/X86/X86InstrFoldTables.h
  llvm/lib/Target/X86/X86InstrInfo.cpp
  llvm/test/CodeGen/X86/avx512-broadcast-unfold.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D67017.218157.patch
Type: text/x-patch
Size: 40902 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20190830/1abdf7b9/attachment.bin>


More information about the llvm-commits mailing list