[all-commits] [llvm/llvm-project] 038767: [Coroutines] Presubmit retcon without suspend test

Sebastian Neubauer via All-commits all-commits at lists.llvm.org
Mon Nov 14 01:47:10 PST 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 0387679e3ea2adfa12098a0ba1817180e56c4555
      https://github.com/llvm/llvm-project/commit/0387679e3ea2adfa12098a0ba1817180e56c4555
  Author: Sebastian Neubauer <Sebastian.Neubauer at amd.com>
  Date:   2022-11-14 (Mon, 14 Nov 2022)

  Changed paths:
    M llvm/test/Transforms/Coroutines/coro-retcon.ll

  Log Message:
  -----------
  [Coroutines] Presubmit retcon without suspend test

The test gets incorrectly optimized to unreachable.


  Commit: ce879a03c9798aac0c3f246a250241087fb49e5c
      https://github.com/llvm/llvm-project/commit/ce879a03c9798aac0c3f246a250241087fb49e5c
  Author: Sebastian Neubauer <Sebastian.Neubauer at amd.com>
  Date:   2022-11-14 (Mon, 14 Nov 2022)

  Changed paths:
    M llvm/lib/Transforms/Coroutines/CoroFrame.cpp
    M llvm/test/Transforms/Coroutines/coro-retcon.ll

  Log Message:
  -----------
  [Coroutines] Do not add allocas for retcon coroutines

Same as for async-style lowering, if there are no resume points in a
function, the coroutine frame pointer will be replaced by an undef,
making all accesses to the frame undefinde behavior.

Fix this by not adding allocas to the coroutine frame if there are no
resume points.

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


Compare: https://github.com/llvm/llvm-project/compare/e82b5b5bbd1a...ce879a03c979


More information about the All-commits mailing list