[all-commits] [llvm/llvm-project] a3a42c: [OpenMP][FIX] Ensure to set the context for wait e...

Johannes Doerfert via All-commits all-commits at lists.llvm.org
Tue Apr 12 14:44:09 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: a3a42c3ca23e94d710bf3100965cc2146f11dbf8
      https://github.com/llvm/llvm-project/commit/a3a42c3ca23e94d710bf3100965cc2146f11dbf8
  Author: Johannes Doerfert <johannes at jdoerfert.de>
  Date:   2022-04-12 (Tue, 12 Apr 2022)

  Changed paths:
    M openmp/libomptarget/plugins/cuda/src/rtl.cpp

  Log Message:
  -----------
  [OpenMP][FIX] Ensure to set the context for wait events if necessary

Differential Revision: https://reviews.llvm.org/D123445


  Commit: 0f070bee8254678a3501ccb9a3f37933fe517ca7
      https://github.com/llvm/llvm-project/commit/0f070bee8254678a3501ccb9a3f37933fe517ca7
  Author: Johannes Doerfert <johannes at jdoerfert.de>
  Date:   2022-04-12 (Tue, 12 Apr 2022)

  Changed paths:
    M llvm/lib/Target/NVPTX/NVVMReflect.cpp
    A llvm/test/CodeGen/NVPTX/nvvm-reflect-opaque.ll

  Log Message:
  -----------
  [NVPTX][FIX] Allow __nvvm_reflect in the presence of opaque pointers

Differential Revision: https://reviews.llvm.org/D123522


  Commit: 9dc7da3f9cb48ed7ba6c4806f4519d997f6671b5
      https://github.com/llvm/llvm-project/commit/9dc7da3f9cb48ed7ba6c4806f4519d997f6671b5
  Author: Johannes Doerfert <johannes at jdoerfert.de>
  Date:   2022-04-12 (Tue, 12 Apr 2022)

  Changed paths:
    M llvm/lib/Analysis/GlobalsModRef.cpp
    A llvm/test/Analysis/GlobalsModRef/functions_without_nosync.ll
    M llvm/test/Analysis/GlobalsModRef/intrinsic_addressnottaken1.ll
    M llvm/test/Analysis/GlobalsModRef/intrinsic_addressnottaken2.ll
    M llvm/test/Analysis/GlobalsModRef/intrinsic_addresstaken.ll
    A llvm/test/Analysis/GlobalsModRef/nosync_nocallback.ll

  Log Message:
  -----------
  [GlobalsModRef][FIX] Ensure we honor synchronizing effects of intrinsics

This is a long standing problem that resurfaces once in a while [0].
There might actually be two problems because I'm not 100% sure if the
issue underlying https://reviews.llvm.org/D115302 would be solved by
this or not. Anyway.

In 2008 we thought intrinsics do not read/write globals passed to them:
https://github.com/llvm/llvm-project/commit/d4133ac31535ce5176f97e9fc81825af8a808760
This is not correct given that intrinsics can synchronize threads and
cause effects to effectively become visible.

NOTE: I did not yet modify any tests but only tried out the reproducer
      of https://github.com/llvm/llvm-project/issues/54851.

Fixes: https://github.com/llvm/llvm-project/issues/54851

[0] https://discourse.llvm.org/t/bug-gvn-memdep-bug-in-the-presence-of-intrinsics/59402

Differential Revision: https://reviews.llvm.org/D123531


Compare: https://github.com/llvm/llvm-project/compare/788f94f731dc...9dc7da3f9cb4


More information about the All-commits mailing list