[all-commits] [llvm/llvm-project] ce67fc: Avoid unevaluated implicit private (#92055)

SunilKuravinakop via All-commits all-commits at lists.llvm.org
Thu May 16 09:26:16 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: ce67fcf15f4ffac00a715cf724bc72e37f063064
      https://github.com/llvm/llvm-project/commit/ce67fcf15f4ffac00a715cf724bc72e37f063064
  Author: SunilKuravinakop <98882378+SunilKuravinakop at users.noreply.github.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M clang/lib/Sema/SemaOpenMP.cpp
    M clang/test/OpenMP/task_ast_print.cpp

  Log Message:
  -----------
  Avoid unevaluated implicit private (#92055)

For every variable used under `#pragma omp task` directive
(`DeclRefExpr`) an ImplicitPrivateVariable is created in the AST, if
`private` or `shared` clauses are not present. If the variable has the
property of `non_odr_use_unevaluated` e.g. for statements which use
`sizeof( i )` `i` will have `non_odr_use_unevaluated` . In such cases
CodeGen was asserting by avoiding emitting of LLVM IR for such
variables. To prevent this assertion this checkin avoids adding the
ImplicitPrivateVariable for variables with `non_odr_use_unevaluated`.

---------

Authored-by: Sunil Kuravinakop <kuravina at pe28vega.us.cray.com>



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list