[PATCH] D125895: [AArch64] implement isReassocProfitable, disable for (u|s)mlal.

Florian Hahn via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed May 18 08:42:29 PDT 2022


fhahn created this revision.
fhahn added reviewers: dmgreen, t.p.northover, ab.
Herald added subscribers: steven.zhang, hiraditya, kristof.beyls.
Herald added a project: All.
fhahn requested review of this revision.
Herald added a project: LLVM.

Currently reassociating add expressions can lead to failing to select
(u|s)mlal. Implement isReassocProfitable to skip reassociating
expressions that can be lowered to (u|s)mlal.

The same issue exists for the *mlsl variants as well, but the DAG
combiner doesn't use the isReassocProfitable hook before reassociating.
To be fixed in a follow-up commit as this requires DAGCombiner changes
as well.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D125895

Files:
  llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
  llvm/lib/Target/AArch64/AArch64ISelLowering.h
  llvm/test/CodeGen/AArch64/arm64-vmul.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D125895.430394.patch
Type: text/x-patch
Size: 6223 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20220518/a3c4bab8/attachment.bin>


More information about the llvm-commits mailing list