[all-commits] [llvm/llvm-project] 3dee1e: [coro] Fix rematerializable instruction sinking to...
Arnold Schwaighofer via All-commits
all-commits at lists.llvm.org
Mon Jun 28 09:38:46 PDT 2021
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 3dee1e8a848d56178fc6013c343c1b144efb1425
https://github.com/llvm/llvm-project/commit/3dee1e8a848d56178fc6013c343c1b144efb1425
Author: Arnold Schwaighofer <aschwaighofer at apple.com>
Date: 2021-06-28 (Mon, 28 Jun 2021)
Changed paths:
M llvm/lib/Transforms/Coroutines/CoroFrame.cpp
M llvm/test/Transforms/Coroutines/coro-async.ll
Log Message:
-----------
[coro] Fix rematerializable instruction sinking to coro.suspend blocks
There is a constraint that coro.suspend instructions need to be in their
own blocks. The coro split pass initially creates IR that obeys this constraint
(which is later checked). Sinking rematerializable instructions into these
blocks breaks that constraint.
Instead rematerialize in the predecessor block to the suspend's single
predecessor block.
Differential Revision: https://reviews.llvm.org/D104051
More information about the All-commits
mailing list