[all-commits] [llvm/llvm-project] 0cc981: [AArch64] implement isReassocProfitable, disable f...
Florian Hahn via All-commits
all-commits at lists.llvm.org
Mon May 23 01:42:13 PDT 2022
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 0cc981e021eda2b9c14d41302c5f0409b0a42719
https://github.com/llvm/llvm-project/commit/0cc981e021eda2b9c14d41302c5f0409b0a42719
Author: Florian Hahn <flo at fhahn.com>
Date: 2022-05-23 (Mon, 23 May 2022)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.h
M llvm/test/CodeGen/AArch64/arm64-vmul.ll
Log Message:
-----------
[AArch64] implement isReassocProfitable, disable for (u|s)mlal.
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.
Reviewed By: dmgreen
Differential Revision: https://reviews.llvm.org/D125895
More information about the All-commits
mailing list