Files
clang-p2996/flang/test/Fir/declare-codegen.fir
Jean Perier c852174a49 [flang] add fir.declare codegen support
For now, nothing is done about debug info and the fir.declare is simply
replaced by the memref argument. This is done in the PreCGRewrite in
order to avoid requiring adding support for fir.shape codegen, which
would still be useless and undesired at that point.

Differential Revision: https://reviews.llvm.org/D136254
2022-10-20 10:17:14 +02:00

21 lines
909 B
Plaintext

// Test rewrite of fir.declare. The result is replaced by the memref operand.
// RUN: fir-opt --cg-rewrite %s -o - | FileCheck %s
func.func @test(%arg0: !fir.ref<!fir.array<12x23xi32>>) {
%c-1 = arith.constant -1 : index
%c12 = arith.constant 12 : index
%c-2 = arith.constant -2 : index
%c23 = arith.constant 23 : index
%0 = fir.shape_shift %c12, %c-1, %c23, %c-2 : (index, index, index, index) -> !fir.shapeshift<2>
%1 = fir.declare %arg0(%0) {uniq_name = "_QFarray_numeric_lboundsEx"} : (!fir.ref<!fir.array<12x23xi32>>, !fir.shapeshift<2>) -> !fir.ref<!fir.array<12x23xi32>>
fir.call @bar(%1) : (!fir.ref<!fir.array<12x23xi32>>) -> ()
return
}
func.func private @bar(%arg0: !fir.ref<!fir.array<12x23xi32>>)
// CHECK-LABEL: func.func @test(
// CHECK-SAME: %[[arg0:.*]]: !fir.ref<!fir.array<12x23xi32>>) {
// CHECK-NEXT: fir.call @bar(%[[arg0]]) : (!fir.ref<!fir.array<12x23xi32>>) -> ()