[all-commits] [llvm/llvm-project] 68d275: [CoroSplit] Handle argument being the frame pointe...

Nikita Popov via All-commits all-commits at lists.llvm.org
Fri Apr 1 03:38:43 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 68d27587e425b41bd7b51ba9bffc1889aed296a5
      https://github.com/llvm/llvm-project/commit/68d27587e425b41bd7b51ba9bffc1889aed296a5
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2022-04-01 (Fri, 01 Apr 2022)

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

  Log Message:
  -----------
  [CoroSplit] Handle argument being the frame pointer (PR54523)

If the frame pointer is an argument of the original pointer (which
happens with opaque pointers), then we currently first replace the
argument with undef, which will prevent later replacement of the
old frame pointer with the new one.

Fix this by replacing arguments with some dummy instructions first,
and then replacing those with undef later. This gives us a chance
to replace the frame pointer before it becomes undef.

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

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




More information about the All-commits mailing list