// Test hlfir.where operation parse, verify (no errors), and unparse. // RUN: fir-opt %s | fir-opt | FileCheck %s func.func @test_where(%mask: !fir.ref>>, %x: !fir.ref>, %y: !fir.box>) { hlfir.where { hlfir.yield %mask : !fir.ref>> } do { hlfir.region_assign { hlfir.yield %y : !fir.box> } to { hlfir.yield %x : !fir.ref> } } return } // CHECK-LABEL: func.func @test_where( // CHECK-SAME: %[[VAL_0:.*]]: !fir.ref>>, // CHECK-SAME: %[[VAL_1:.*]]: !fir.ref>, // CHECK-SAME: %[[VAL_2:.*]]: !fir.box>) { // CHECK: hlfir.where { // CHECK: hlfir.yield %[[VAL_0]] : !fir.ref>> // CHECK: } do { // CHECK: hlfir.region_assign { // CHECK: hlfir.yield %[[VAL_2]] : !fir.box> // CHECK: } to { // CHECK: hlfir.yield %[[VAL_1]] : !fir.ref> // CHECK: } // CHECK: }