-
Notifications
You must be signed in to change notification settings - Fork 14.7k
Labels
llvm::vectorcombineCost-based vector combine passCost-based vector combine pass
Milestone
Description
Consider the following IR stored as bug.ll
:
@val = external hidden global ptr, align 8
define void @bug(ptr %ptr1, ptr %ptr2, i64 %idx) #0 {
entry:
%158 = insertelement <2 x i64> <i64 5, i64 ptrtoint (ptr @val to i64)>, i64 %idx, i32 0
%159 = or disjoint <2 x i64> splat (i64 2), %158
store <2 x i64> %159, ptr %ptr2
ret void
}
Feeding this into the vector combiner via opt --mtriple aarch64-linux -march=neon --passes=vector-combine -debug-only=vector-combine bug.ll -o /dev/null
or opt --mtriple systemz-linux -march=z13 --passes=vector-combine -debug-only=vector-combine bug.ll -o /dev/null
results in the VectorCombiner going into an infinite loop.
Hang verified with master (ccd35e5) and llvmorg-21.1.0-rc2.
Metadata
Metadata
Assignees
Labels
llvm::vectorcombineCost-based vector combine passCost-based vector combine pass
Type
Projects
Status
Needs Fix