[PATCH] D118054: [AArch64][SVE] Mark PFALSE as side-effect free.
Sander de Smalen via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue Jan 25 04:21:04 PST 2022
sdesmalen added a comment.
In D118054#3267812 <https://reviews.llvm.org/D118054#3267812>, @efriedma wrote:
> It looks like AArch64TargetLowering::LowerSPLAT_VECTOR is using DAG.getMachineNode in an inappropriate way: generally, in SelectionDAG, we shouldn't be creating Machine nodes before isel (AArch64DAGToDAGISel::Select). The "proper" construct is to define AArch64ISD::PFALSE, then add a pattern to lower it during isel.
>
> The reason I bring this up is that hasSideEffects is usually inferred from isel patterns.
Ah that makes a lot of sense! I was a bit puzzled as to why it just worked for PTRUE, but not for PFALSE.
I've reimplemented it now by creating an explicit AArch64ISD node for it instead with patterns.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D118054/new/
https://reviews.llvm.org/D118054
More information about the llvm-commits
mailing list