[PATCH] D145583: [AArch64][SME] Fix an infinite loop in DAGCombine related to adding -force-streaming-compatible-sve flag.
Sander de Smalen via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue Mar 21 06:52:47 PDT 2023
sdesmalen added inline comments.
================
Comment at: llvm/lib/Target/AArch64/AArch64ISelLowering.cpp:24423
+ unsigned Opc = N->getOpcode();
+ if (Subtarget->forceStreamingCompatibleSVE() &&
+ (Opc == ISD::ZERO_EXTEND || Opc == ISD::SIGN_EXTEND)) {
----------------
I guess this condition can be removed now?
================
Comment at: llvm/lib/Target/AArch64/AArch64ISelLowering.cpp:24424
+ if (Subtarget->forceStreamingCompatibleSVE() &&
+ (Opc == ISD::ZERO_EXTEND || Opc == ISD::SIGN_EXTEND)) {
+ if (any_of(N->uses(),
----------------
Should this code also check for ISD::ANY_EXTEND ?
================
Comment at: llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-extends.ll:894
+define void @extend_cmp_of_mul(i32 %0, <8 x i64> %1, ptr %2) #0 {
+; CHECK-LABEL: extend_cmp_of_mul:
----------------
Can you also add a test where the result of the extend is not used by a `mul`?
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D145583/new/
https://reviews.llvm.org/D145583
More information about the llvm-commits
mailing list