[all-commits] [llvm/llvm-project] 70cac4: Reapply "[OpenMP][IRBuilder] Perform finalization ...

Johannes Doerfert via All-commits all-commits at lists.llvm.org
Wed Feb 12 20:30:01 PST 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 70cac41a2b7e4a7a28c36a544c9813c833d494bb
      https://github.com/llvm/llvm-project/commit/70cac41a2b7e4a7a28c36a544c9813c833d494bb
  Author: Johannes Doerfert <johannes at jdoerfert.de>
  Date:   2020-02-12 (Wed, 12 Feb 2020)

  Changed paths:
    M clang/lib/CodeGen/CodeGenFunction.cpp
    M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
    M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
    M llvm/lib/Transforms/Utils/CodeExtractor.cpp
    M llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp

  Log Message:
  -----------
  Reapply "[OpenMP][IRBuilder] Perform finalization (incl. outlining) late"

Reapply 8a56d64d7620b3764f10f03f3a1e307fcdd72c2f with minor fixes.

The problem was that cancellation can cause new edges to the parallel
region exit block which is not outlined. The CodeExtractor will encode
the information which "exit" was taken as a return value. The fix is to
ensure we do not return any value from the outlined function, to prevent
control to value conversion we ensure a single exit block for the
outlined region.

This reverts commit 3aac953afa34885a72df96f2b703b65f85cbb149.




More information about the All-commits mailing list