33 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --check-globals all --version 52; RUN: opt < %s -passes=rel-lookup-table-converter -relocation-model=pic -S | FileCheck %s3; REQUIRES: nvptx-registered-target4target triple = "nvptx64-nvidia-cuda"5 6; Do not produce relative lookup table for nvptx target.7 8@a1 = internal constant i32 0, align 49@b1 = internal constant i32 0, align 410@c1 = internal constant i32 0, align 411@d1 = internal constant i32 0, align 412 13@switch.table = private unnamed_addr constant [3 x ptr] [ptr @a1, ptr @b1, ptr @c1], align 814 15;.16; CHECK: @a1 = internal constant i32 0, align 417; CHECK: @b1 = internal constant i32 0, align 418; CHECK: @c1 = internal constant i32 0, align 419; CHECK: @d1 = internal constant i32 0, align 420; CHECK: @switch.table = private unnamed_addr constant [3 x ptr] [ptr @a1, ptr @b1, ptr @c1], align 821;.22define ptr @internal_linkage(i32 %cond) {23; CHECK-LABEL: define ptr @internal_linkage(24; CHECK-SAME: i32 [[COND:%.*]]) {25; CHECK-NEXT: [[SWITCH_GEP:%.*]] = getelementptr inbounds [3 x ptr], ptr @switch.table, i32 0, i32 [[COND]]26; CHECK-NEXT: [[RELTABLE_INTRINSIC:%.*]] = load ptr, ptr [[SWITCH_GEP]], align 827; CHECK-NEXT: ret ptr [[RELTABLE_INTRINSIC]]28;29 %switch.gep = getelementptr inbounds [3 x ptr], ptr @switch.table, i32 0, i32 %cond30 %switch.load = load ptr, ptr %switch.gep, align 831 ret ptr %switch.load32}33