[llvm-bugs] [Bug 46854] New: LAA crashes with -globals-aa -loop-load-elim
via llvm-bugs
llvm-bugs at lists.llvm.org
Sun Jul 26 14:33:13 PDT 2020
https://bugs.llvm.org/show_bug.cgi?id=46854
Bug ID: 46854
Summary: LAA crashes with -globals-aa -loop-load-elim
Product: libraries
Version: trunk
Hardware: PC
OS: All
Status: NEW
Severity: enhancement
Priority: P
Component: Loop Optimizer
Assignee: unassignedbugs at nondot.org
Reporter: florian_hahn at apple.com
CC: llvm-bugs at lists.llvm.org
The IR below is reduced from the reproducer shared on llvm-dev
http://lists.llvm.org/pipermail/llvm-dev/2020-July/143761.html
It crashes with `opt -globals-aa -loop-load-elim`
target datalayout =
"e-p:64:64-p1:64:64-p2:32:32-p3:32:32-p4:64:64-p5:32:32-p6:32:32-i64:64-v16:16-v24:32-v32:32-v48:64-v96:128-v192:256-v256:256-v512:512-v1024:1024-v2048:2048-n32:64-S32-A5-ni:7"
target triple = "amdgcn-amd-amdhsa"
%struct.foo = type { %struct.pluto, i8, i8*, i32 }
%struct.pluto = type { i32, i32, i32, %struct.wombat*, i32, i32, i32 }
%struct.wombat = type { %struct.barney }
%struct.barney = type { <2 x float> }
@global = external protected local_unnamed_addr addrspace(4)
externally_initialized global %struct.foo, align 8
@global.1 = internal unnamed_addr addrspace(3) constant [4000 x float] undef,
align 16
; Function Attrs: nounwind
define protected amdgpu_kernel void @widget(i32 %arg, i32 %arg1) #0 {
bb:
%tmp = getelementptr inbounds [4000 x float], [4000 x float] addrspace(3)*
@global.1, i32 0, i32 %arg
%tmp2 = load %struct.wombat*, %struct.wombat* addrspace(4)* getelementptr
inbounds (%struct.foo, %struct.foo addrspace(4)* @global, i64 0, i32 0, i32 3),
align 8
%tmp3 = getelementptr inbounds %struct.wombat, %struct.wombat* %tmp2, i64
undef, i32 0
%tmp4 = bitcast %struct.barney* %tmp3 to i64*
br label %bb5
bb5: ; preds = %bb6, %bb
br label %bb6
bb6: ; preds = %bb6, %bb5
%tmp7 = phi i32 [ undef, %bb5 ], [ %tmp19, %bb6 ]
%tmp8 = mul nsw i32 %tmp7, undef
%tmp9 = add i32 %tmp8, undef
%tmp10 = sext i32 %tmp9 to i64
%tmp11 = getelementptr inbounds %struct.wombat, %struct.wombat* %tmp2, i64
%tmp10
%tmp12 = bitcast %struct.wombat* %tmp11 to i64*
%tmp13 = load i64, i64* %tmp12, align 8
%tmp14 = srem i32 1, %arg1
%tmp15 = add nuw nsw i32 %tmp14, 1
%tmp16 = getelementptr inbounds [4000 x float], [4000 x float] addrspace(3)*
@global.1, i32 0, i32 %tmp15
%tmp17 = load float, float addrspace(3)* %tmp16, align 4
%tmp18 = load float, float addrspace(3)* %tmp, align 4
store i64 %tmp13, i64* %tmp4, align 8
%tmp19 = add nsw i32 %tmp7, 1
%tmp20 = icmp slt i32 %tmp7, 3
br i1 %tmp20, label %bb6, label %bb5
}
attributes #0 = { nounwind }
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20200726/6e201907/attachment.html>
More information about the llvm-bugs
mailing list