brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.3 KiB · b23f5bc Raw
26 lines · plain
1// REQUIRES: asserts2// RUN: fir-opt %s -pass-pipeline='builtin.module(func.func(test-fir-alias-analysis))' -debug-only=fir-alias-analysis 2>&1 | FileCheck %s3 4// CHECK-LABEL: Testing : "_QFPtest"5 6// Checking that the source kind of a load of a load is SourceKind::Indirect7// CHECK: {test.ptr = "load_load"}8// CHECK-NEXT: SourceKind: Indirect9 10// Checking that the source kind of a load of an arg is SourceKind::Argument11// CHECK: {test.ptr = "load_arg"}12// CHECK-NEXT: SourceKind: Argument13 14func.func @_QFPtest(%arg0: !fir.ref<!fir.box<!fir.ptr<f32>>> ) attributes {test.ptr = "func"} {15  16  %0 = fir.alloca !fir.llvm_ptr<!fir.box<!fir.ptr<f32>>>17  %1 = fir.convert %arg0 : (!fir.ref<!fir.box<!fir.ptr<f32>>>) -> !fir.llvm_ptr<!fir.box<!fir.ptr<f32>>>18  fir.store %1 to %0 : !fir.ref<!fir.llvm_ptr<!fir.box<!fir.ptr<f32>>>>19  %2 = fir.load %0 : !fir.ref<!fir.llvm_ptr<!fir.box<!fir.ptr<f32>>>>20  %3 = fir.convert %2 : (!fir.llvm_ptr<!fir.box<!fir.ptr<f32>>>) -> !fir.ref<!fir.box<!fir.ptr<f32>>>21  %15 = fir.load %3 : !fir.ref<!fir.box<!fir.ptr<f32>>>22  %16 = fir.box_addr %15 {test.ptr = "load_load"} : (!fir.box<!fir.ptr<f32>>) -> !fir.ptr<f32>23  %17 = fir.load %arg0 : !fir.ref<!fir.box<!fir.ptr<f32>>>24  %18 = fir.box_addr %17 {test.ptr = "load_arg"} : (!fir.box<!fir.ptr<f32>>) -> !fir.ptr<f32>25  return26}