Closed vfdff closed 1 year ago
@llvm/issue-subscribers-backend-aarch64
may be similar to https://discourse.llvm.org/t/arm-sve-zi-instructions-would-not-be-selected-in-loop-bodies-sveallactive-cannot-see-through-bb-boundaries/65113, part insturctions moved out of the loop body, then missing combine as values across basic blocks.
it crashes when I try with -global-isel (but ok with -global-isel-abort=0)
it crashes when I try with -global-isel (but ok with -global-isel-abort=0)
- clang -march=armv9-a+sve2 -O3 -w ../test.c -S -mllvm -print-after-all -O2 -march=armv9-a+sve2 -mllvm -prefer-predicate-over-epilogue=predicate-else-scalar-epilogue -Xclang -target-feature -Xclang +use-scalar-inc-vl -mllvm -global-isel
GlobalSel does not support ScalableVectorType, yet. Check https://github.com/llvm/llvm-project/blob/19c42f672f942518b4d711a0c734693a9244f78c/llvm/lib/Target/AArch64/AArch64ISelLowering.cpp#L23123-L23125. The original PR is https://reviews.llvm.org/D81557.
maybe fixed by https://github.com/llvm/llvm-project/pull/70304
close this issue as the https://github.com/llvm/llvm-project/pull/70304 fixed this issue indeed with local check
case: https://gcc.godbolt.org/z/MMeEv8jWW
As the IR node
%6
will be hoist out thevector.body
in pass LCSSAPass, then it place in different BB with the node%index.next
, so it can't be folded in combine.