<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=https://github.com/llvm/llvm-project/issues/62811>62811</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            [Flang] Respect (not converting) the Type and Kind of the actual argument when the corresponding dummy argument has IGNORE_TKR(TK)
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            new issue
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          DanielCChen
      </td>
    </tr>
</table>

<pre>
    Consider the following code:
```
interface
integer(4) function foo4(arg1, arg2)
integer :: arg1
integer(4) :: arg2
!dir$ ignore_tkr(k) arg1
end
end interface

integer(4) :: res, a
integer(2) :: b
res = foo4(b, a)
end 
```
Flang currently converts `arg1` from `i16` to `i32` when lowering. 
```
%3 = fir.convert %1 : (!fir.ref<i16>) -> !fir.ref<i32>
```

This issue is to remove the conversion.
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJx8U19vmzAQ_zTHi9UIzkDggYcuaaap0iZVea8MHODV2JFtGuXbTzbpslbRpChw3M_-_bFPOCdHTdRA8Q2KfSIWPxnb7IWWpHa7iXTSmv7S7Ix2sifL_ERsMEqZs9Qj60xPwB8h3UP6CGV6_cVSak92EB3dypEsYJUD1mxYdOel0WwwJgeshB0zwB0TdkTA-tMaFij4I4uYe5vd-niVglkvLWDO5KiNpVf_FsBvAXzbhXT_94V9kfs_HksuSv2KwX8w7dq05Bjw_YfLdl334S_w3s3uoERId7GWtFcX1hn9TtY7BmUa9ZcpG6yZQy2zMpTexIJjKM4TaabMmazU4-Y-B2DBV23Sbq4EDLDIggUGWAFmoWVpAL4LLPwpGHwA_sQ-9ziG3l2S-H-cpGPSuYWYdEGppdm8U7xMK7OTRm-SvuF9zWuRUJOVVV5k2xqLZGpw2FJRp9si7bNK1DzlRTqkbV_WbUaCF4lsMEWeFlmdbfkW802J-RY7PhS8rKtWFJCnNAupNkq9zxtjxyTKaUqssixRoiXl4gwgajqvWgExjIRtwpqHdhkd5KmSzrvbLl56FYcnnhgUe_ZC7kRdSLLSxn-cnNRjyC4YPl5OxITu2bPUPTND_Cg6vwgV7uYyk_brAa7xWEvuZHQf5q1f5vlyQ03CsR_ff_56eXo9Pr8AVsdnwDpZrGom708u3EU8AB5G6ael3XRmBjwE8dfHw8ma39R5wEO07AAPMZI_AQAA__-13DXz">