[PATCH] D118787: [flang] Lower integer constant code for STOP stmt
Kiran Chandramohan via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Feb 2 11:18:52 PST 2022
kiranchandramohan added inline comments.
================
Comment at: flang/test/Lower/stop-statement.f90:27
+ ! CHECK-DAG: %[[c42:.*]] = arith.constant 42 : i32
+ ! CHECK-DAG: %[[false:.*]] = arith.constant false
+ ! CHECK: fir.call @_Fortran{{.*}}StopStatement(%[[c42]], %[[false]], %[[false]])
----------------
kiranchandramohan wrote:
> clementval wrote:
> > kiranchandramohan wrote:
> > > Assuming the convert is removed by the canonicalize pass and that we don't have enough support for other types for the convert to be retained.
> > Not sure I follow your comment here. The output of `./bin/bbc -emit-fir` (without `--canonicalize `) is the following:
> >
> > ```
> > func @_QPss() {
> > %c42_i32 = arith.constant 42 : i32
> > %false = arith.constant false
> > %false_0 = arith.constant false
> > %0 = fir.call @_FortranAStopStatement(%c42_i32, %false, %false_0) : (i32, i1, i1) -> none
> > fir.unreachable
> > ^bb1: // no predecessors
> > return
> > }
> > ```
> >
> > So there is no convert.. Do you have smth else?
> Sorry, I completely missed the point that `createConvert` function checks whether the source and dest types are different and then only inserts the convert.
>
> A test with a convert would be great. But if there is not enough infra that is OK.
I just saw from the standard that the Stop code value has to be an integer of the default kind. So you can skip my comment.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D118787/new/
https://reviews.llvm.org/D118787
More information about the llvm-commits
mailing list