[all-commits] [llvm/llvm-project] 9bca4e: [Coroutines] Allow FramePtr to be an Argument

Nikita Popov via All-commits all-commits at lists.llvm.org
Mon Mar 7 01:59:11 PST 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 9bca4ea364dd6fd31ad1ca827631760c21ffd93f
      https://github.com/llvm/llvm-project/commit/9bca4ea364dd6fd31ad1ca827631760c21ffd93f
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2022-03-07 (Mon, 07 Mar 2022)

  Changed paths:
    M llvm/lib/Transforms/Coroutines/CoroFrame.cpp
    M llvm/lib/Transforms/Coroutines/CoroInternal.h
    M llvm/lib/Transforms/Coroutines/CoroSplit.cpp
    A llvm/test/Transforms/Coroutines/coro-retcon-opaque-ptr.ll

  Log Message:
  -----------
  [Coroutines] Allow FramePtr to be an Argument

With opaque pointers, after splitRetconCoroutine() the FramePtr
may be an Argument rather than an Instruction. With typed pointers,
this currently doesn't happen because the FramePtr would be a
bitcast instruction.

Fix this by making FramePtr a Value and adding a helper for the
"after FramePtr" insertion point, which would be the start of the
function in the Argument case.

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




More information about the All-commits mailing list