| Issue |
180846
|
| Summary |
[SLPVectorizer] Timeout after recent compiler change
|
| Labels |
new issue
|
| Assignees |
|
| Reporter |
boomanaiden154
|
```llvm
; ModuleID = './reduced.ll'
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128-Fn32"
target triple = "aarch64-grtev4-linux-gnu"
%struct.wombat = type { i32, i32 }
; Function Attrs: nocallback nofree nosync nounwind willreturn memory(argmem: readwrite)
declare void @llvm.lifetime.start.p0(ptr captures(none)) #0
; Function Attrs: nocallback nofree nosync nounwind willreturn memory(argmem: readwrite)
declare void @llvm.lifetime.end.p0(ptr captures(none)) #0
; Function Attrs: nocallback nofree nounwind willreturn memory(argmem: write)
declare void @llvm.memset.p0.i64(ptr writeonly captures(none), i8, i64, i1 immarg) #1
; Function Attrs: mustprogress nounwind uwtable
define fastcc void @snork() #2 {
bb:
%getelementptr = getelementptr inbounds nuw i8, ptr null, i64 40
br label %bb1
bb1: ; preds = %bb1, %bb
%phi = phi i32 [ 0, %bb ], [ %add45, %bb1 ]
%phi2 = phi i32 [ 0, %bb ], [ %add46, %bb1 ]
%phi3 = phi i32 [ 0, %bb ], [ %add47, %bb1 ]
%phi4 = phi i32 [ 0, %bb ], [ %add48, %bb1 ]
%or = or disjoint i64 0, 1
%or5 = or disjoint i64 0, 2
%or6 = or disjoint i64 0, 3
%getelementptr7 = getelementptr inbounds nuw %struct.wombat, ptr %getelementptr, i64 %or5
%getelementptr8 = getelementptr inbounds nuw %struct.wombat, ptr %getelementptr, i64 %or6
%load = load i32, ptr %getelementptr7, align 8
%load9 = load i32, ptr %getelementptr8, align 8
%zext = zext i32 %load to i64
%zext10 = zext i32 %load9 to i64
%udiv = udiv i64 0, %zext
%udiv11 = udiv i64 0, %zext10
%mul = mul i64 %udiv, 5
%mul12 = mul i64 %udiv11, 5
%and = and i64 %mul, 4294967295
%and13 = and i64 %mul12, 4294967295
%add = add nuw nsw i64 %and, 3
%add14 = add nuw nsw i64 %and13, 3
%lshr = lshr i64 %add, 2
%lshr15 = lshr i64 %add14, 2
%getelementptr16 = getelementptr %struct.wombat, ptr null, i64 %or
%getelementptr17 = getelementptr %struct.wombat, ptr null, i64 %or5
%getelementptr18 = getelementptr i8, ptr %getelementptr16, i64 44
%getelementptr19 = getelementptr i8, ptr %getelementptr17, i64 44
%load20 = load i32, ptr %getelementptr18, align 4
%load21 = load i32, ptr %getelementptr19, align 4
%zext22 = zext i32 0 to i64
%zext23 = zext i32 %load20 to i64
%zext24 = zext i32 %load21 to i64
%zext25 = zext i32 0 to i64
%udiv26 = udiv i64 0, %zext22
%udiv27 = udiv i64 0, %zext23
%udiv28 = udiv i64 0, %zext24
%udiv29 = udiv i64 0, %zext25
%mul30 = mul i64 0, %udiv26
%mul31 = mul i64 0, %udiv27
%mul32 = mul i64 %lshr, %udiv28
%mul33 = mul i64 %lshr15, %udiv29
%trunc = trunc i64 %mul30 to i32
%trunc34 = trunc i64 %mul31 to i32
%trunc35 = trunc i64 %mul32 to i32
%trunc36 = trunc i64 %mul33 to i32
%add37 = add i32 %trunc, 31
%add38 = add i32 %trunc34, 31
%add39 = add i32 %trunc35, 31
%add40 = add i32 %trunc36, 31
%and41 = and i32 %add37, -32
%and42 = and i32 %add38, -32
%and43 = and i32 %add39, -32
%and44 = and i32 %add40, -32
%add45 = add i32 %and41, %phi
%add46 = add i32 %and42, %phi2
%add47 = add i32 %and43, %phi3
%add48 = add i32 %and44, %phi4
br label %bb1
}
; Function Attrs: cold noreturn nounwind memory(inaccessiblemem: write)
declare void @llvm.ubsantrap(i8 immarg) #3
; Function Attrs: nocallback nocreateundeforpoison nofree nosync nounwind speculatable willreturn memory(none)
declare i32 @llvm.umax.i32(i32, i32) #4
attributes #0 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #1 = { nocallback nofree nounwind willreturn memory(argmem: write) }
attributes #2 = { mustprogress nounwind uwtable "frame-pointer"="non-leaf-no-reserve" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="neoverse-n1" "target-features"="+aes,+crc,+dotprod,+fp-armv8,+fullfp16,+lse,+neon,+outline-atomics,+perfmon,+ras,+rcpc,+rdm,+sha2,+spe,+ssbs,+v8.1a,+v8.2a,+v8a" "tune-cpu"="neoverse-v2" "use-sample-profile" "warn-stack-size"="8192" }
attributes #3 = { cold noreturn nounwind memory(inaccessiblemem: write) }
attributes #4 = { nocallback nocreateundeforpoison nofree nosync nounwind speculatable willreturn memory(none) }
```
```bash
opt -passes="slp-vectorize" reduced.ll -disable-output`
```
Hangs.
_______________________________________________
llvm-bugs mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs