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

    <tr>
        <th>Summary</th>
        <td>
            [flang][OpenMP] failure in lowering `taskgroup` construct with `allocate` to llvm-ir
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            openmp,
            flang
      </td>
    </tr>

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

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

<pre>
    Reproducer:
```
subroutine omp_taskgroup
use omp_lib
integer :: allocated_x
!$omp taskgroup allocate(omp_high_bw_mem_alloc: allocated_x)
!$omp task
   call work()
!$omp end task
end subroutine
```
Err Log:
```
$ bbc taskgroup.f90 -o -|tco
Relevant pieces of Err:
loc("taskgroup.mlir":4:3): error: null operand found
"llvm.func"() ({
  %0 = "llvm.mlir.constant"() {value = 1 : i32} : () -> i32
  %1 = "llvm.mlir.constant"() {value = 1 : i64} : () -> i64
  %2 = "llvm.alloca"(%1) {bindc_name = "allocated_x", in_type = i32, operand_segment_sizes = array<i32: 0, 0>, uniq_name = "_QFomp_taskgroupEallocated_x"} : (i64) -> !llvm.ptr<i32>
  "omp.taskgroup"(<<NULL VALUE>>, %0) ({
    "omp.task"() ({
      "llvm.call"() {callee = @_QPwork, fastmathFlags = #llvm.fastmath<>} : () -> ()
      "omp.terminator"() : () -> ()
    }) {operand_segment_sizes = array<i32: 0, 0, 0, 0, 0, 0>} : () -> ()
    "omp.terminator"() : () -> ()
  }) {operand_segment_sizes = array<i32: 0, 1, 1>} : (<<NULL TYPE>>, i32) -> ()
  "llvm.return"() : () -> ()
}) {CConv = #llvm.cconv<ccc>, function_type = !llvm.func<void ()>, linkage = #llvm.linkage<external>, sym_name = "_QPomp_taskgroup"} : () -> ()
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJydVU2TmzgQ_TVwUdkF4sP2gcOM7TlNspNkk9o9UQIE1o6QWEl4Mvn12xJgzKxTm50qbEB6enqvu9UUsnrNPtNOyaovqfKiOy84eMGdlwbj5V51XyjZGyYokm2XG6KfGxjohtleD8OcFcMAE4Y2VCFLF90hwrksiaFV_n1kx6GHY1iCLkwXkIe3luvEmlNevOQtbXM39ZYI725xDWMIoRKw6EWqZ-C7gaWiusLbt9nizQgclUKPsvlZgIAWFUU5-1nXuwCtJFp5m70p5YD6TDk9E2FQx2hJNZI1At4Lp3Vp1eKZpeVMwQBAYvhF1gnEgSol7TIkenApO6oIOKhlL6pJDub83K7rXpR2uYsBsrfN_RQiDycBZOiAJrDda11KoQ1IvFq1uT8T3lOHDW1OEYuwtzm4xxG08qKjG57Jw_eSp_FNchieyfGCfKiLiTUJR-aCiarMBWnphF4UEKD3iIncvHYDwOqHoTGeuaZNS4XJNfsBubIAohR59aK9BYK8wKIDEGfvvWB_L_bKPz0szsrxzeazR2ttsgkl6ix1Rk0bHWffGBjX8-kbDEd7uD5-fXxE3-4evx7tgkGSzfC_877g-VlxjDAnxR6lRcbsAB19xkH-6Wk4Z3tUE21aYk4PnDR6jEM0FOI448Qeb-X3-pxe9ncyqWqZIEaqKxH_sRg2GLX-32Te-vs1we-W-16x4fC3VDcXw-9_Pl3Vgqvt29uPaVbU9Er8muhZ8n4vxXmR6hJO-RlElGU57m27kGHy6qRNVe76U7Q_S1ZN_MMSzsQzaeiCeBwDPP0OURaEj2D92r45eU_LrxS-2a4WhqZ27tMsTNMoinG8jf0qi6pdtCO-YYbTzEvua05E4yUHePyto-LDEzxD3TPeKwrNBHH5QhUTDQKuWUAaINf7VF8a9MLMyU5fvngwaySyHldM-b3i2cmYTtvvAn6Aq4EFfQHds4UXCxtvK_hs_0VLaKcPTOueanhINptt6p-yICLxlhY4Ski6C7ZJudtWJIzqOo63KSHY56SgXFtLtnDBStuNLRFug0t4TQ4-y3CAcbAL0zCJ4jhex2G5K0Mc0ZQUSbytoQfQFiKwdlmSqvFV5uQVfaNhkjNt9DxJtGaNoC6alp_05iRV9kX2inz7w3dOMmfjH_8LaFk">