blob: 6891d862b24689806dda057be2db249646c39ce1 [file] [edit]
; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 6
; RUN: opt < %s -passes=instcombine -S | FileCheck %s
@__const.var1 = addrspace(4) constant <{ ptr addrspace(5), ptr addrspace(5), ptr addrspace(5), ptr addrspace(5) }> <{ ptr addrspace(5) addrspacecast (ptr null to ptr addrspace(5)), ptr addrspace(5) addrspacecast (ptr null to ptr addrspace(5)), ptr addrspace(5) addrspacecast (ptr null to ptr addrspace(5)), ptr addrspace(5) addrspacecast (ptr null to ptr addrspace(5)) }>
define void @test(i32 %0, i1 %tobool, ptr addrspace(4) %const_src) {
; CHECK-LABEL: define void @test(
; CHECK-SAME: i32 [[TMP0:%.*]], i1 [[TOBOOL:%.*]], ptr addrspace(4) [[CONST_SRC:%.*]]) {
; CHECK-NEXT: [[ENTRY:.*:]]
; CHECK-NEXT: switch i32 [[TMP0]], label %[[SW_EPILOG:.*]] [
; CHECK-NEXT: i32 1, label %[[BS_LABEL_3:.*]]
; CHECK-NEXT: i32 0, label %[[BS_LABEL_3]]
; CHECK-NEXT: ]
; CHECK: [[SW_EPILOG]]:
; CHECK-NEXT: br i1 [[TOBOOL]], label %[[BS_LABEL_7:.*]], label %[[BS_LABEL_3]]
; CHECK: [[BS_LABEL_7]]:
; CHECK-NEXT: br label %[[BS_LABEL_3]]
; CHECK: [[BS_LABEL_3]]:
; CHECK-NEXT: br label %[[BS_LABEL_7]]
;
entry:
%l_632 = alloca [4 x ptr addrspace(5)], align 4, addrspace(5)
switch i32 %0, label %sw.epilog [
i32 1, label %BS_LABEL_3
i32 0, label %BS_LABEL_3
]
sw.epilog: ; preds = %entry
call void @llvm.memcpy.p5.p4.i64(ptr addrspace(5) %l_632, ptr addrspace(4) @__const.var1, i64 16, i1 false)
%arrayidx = getelementptr inbounds [4 x ptr addrspace(5)], ptr addrspace(5) %l_632, i64 0, i64 3
br i1 %tobool, label %BS_LABEL_7, label %BS_LABEL_3
BS_LABEL_7: ; preds = %BS_LABEL_3, %sw.epilog
%l_631.1 = phi ptr addrspace(5) [ %arrayidx, %sw.epilog ], [ %l_631.0, %BS_LABEL_3 ]
br label %BS_LABEL_3
BS_LABEL_3: ; preds = %BS_LABEL_7, %sw.epilog, %entry, %entry
%l_631.0 = phi ptr addrspace(5) [ %l_631.1, %BS_LABEL_7 ], [ %arrayidx, %sw.epilog ], [ poison, %entry ], [ poison, %entry ]
%cmp = icmp ugt ptr addrspace(5) %l_631.0, null
br label %BS_LABEL_7
}