Commit aa0776de authored by Reid Kleckner's avatar Reid Kleckner
Browse files

Revert "[Pipelines] Do not run CoroSplit and CoroCleanup in LTO pre-link...

Revert "[Pipelines] Do not run CoroSplit and CoroCleanup in LTO pre-link pipeline (#90310)" and related patches

This change is incorrect when thinlto and asan are enabled, and this can
be observed by adding `-fsanitize=address` to the provided
coro-elide-thinlto.cpp test. It results in the error "Coroutines cannot
handle non static allocas yet", and ASan introduces a dynamic alloca.

In other words, we must preserve the invariant that CoroSplit runs
before ASan. If we move CoroSplit to the post post-link compile stage,
ASan has to be moved to the post-link compile stage first.  It would
also be correct to make CoroSplit handle dynamic allocas so the pass
ordering doesn't matter, but sanitizer instrumentation really ought to
be last, after coroutine splitting.

This reverts commit bafc5f42.
This reverts commit b1b1bfa7.
This reverts commit 0232b77e.
This reverts commit fb2d3056.
This reverts commit 1cb33713.
This reverts commit cd68d7b3.
parent 666c686d
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment