Break circular dependency between FIR dialect and utilities
[llvm-project.git] / flang / test / Fir / inline.fir
blobc2ed2bf422ead9c05e90ae6b8d9f283bbd241a09
1 // RUN: tco --inline-all %s -o - | FileCheck %s
2 // RUN: %flang_fc1  -mmlir --inline-all -emit-llvm %s -o - | FileCheck %s
4 // CHECK-LABEL: @add
5 func.func @add(%a : i32, %b : i32) -> i32 {
6   // CHECK: %[[add:.*]] = add i32
7   %p = arith.addi %a, %b : i32
8   // CHECK: ret i32 %[[add]]
9   return %p : i32
12 // CHECK-LABEL: @test
13 func.func @test(%a : i32, %b : i32, %c : i32) -> i32 {
14   // CHECK: %[[add:.*]] = add i32
15   %m = fir.call @add(%a, %b) : (i32, i32) -> i32
16   // CHECK: %[[mul:.*]] = mul i32 %[[add]],
17   %n = arith.muli %m, %c : i32
18   // CHECK: ret i32 %[[mul]]
19   return %n : i32