brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.7 KiB · 1b36aba Raw
35 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 62; RUN: opt -S -passes=gvn %s | FileCheck %s3 4; NOTE: A test to confirm GVN doesn't collapse loads of token-like types into5; NOTE: phi nodes.6 7define ptr @main() {8; CHECK-LABEL: define ptr @main() {9; CHECK-NEXT:  [[ENTRY:.*:]]10; CHECK-NEXT:    br i1 false, label %[[ENTRY_IF_END_I_CRIT_EDGE:.*]], label %[[IF_THEN_I:.*]]11; CHECK:       [[ENTRY_IF_END_I_CRIT_EDGE]]:12; CHECK-NEXT:    br label %[[IF_END_I:.*]]13; CHECK:       [[IF_THEN_I]]:14; CHECK-NEXT:    [[TMP0:%.*]] = load target("dx.RawBuffer", half, 1, 0), ptr null, align 415; CHECK-NEXT:    [[TMP1:%.*]] = tail call ptr @llvm.dx.resource.getpointer.p0.tdx.RawBuffer_f16_1_0t(target("dx.RawBuffer", half, 1, 0) [[TMP0]], i32 0)16; CHECK-NEXT:    br label %[[IF_END_I]]17; CHECK:       [[IF_END_I]]:18; CHECK-NEXT:    [[TMP2:%.*]] = load target("dx.RawBuffer", half, 1, 0), ptr null, align 419; CHECK-NEXT:    [[TMP3:%.*]] = tail call ptr @llvm.dx.resource.getpointer.p0.tdx.RawBuffer_f16_1_0t(target("dx.RawBuffer", half, 1, 0) [[TMP2]], i32 0)20; CHECK-NEXT:    ret ptr [[TMP3]]21;22entry:23  br i1 false, label %if.end.i, label %if.then.i24 25if.then.i:                                        ; preds = %entry26  %0 = load target("dx.RawBuffer", half, 1, 0), ptr null, align 427  %1 = tail call ptr @llvm.dx.resource.getpointer.p0.tdx.RawBuffer_f16_1_0t(target("dx.RawBuffer", half, 1, 0) %0, i32 0)28  br label %if.end.i29 30if.end.i:                                         ; preds = %if.then.i, %entry31  %2 = load target("dx.RawBuffer", half, 1, 0), ptr null, align 432  %3 = tail call ptr @llvm.dx.resource.getpointer.p0.tdx.RawBuffer_f16_1_0t(target("dx.RawBuffer", half, 1, 0) %2, i32 0)33  ret ptr %334}35