Skip to content

Conversation

@thurstond
Copy link
Contributor

@thurstond thurstond commented Aug 22, 2025

ASan and HWASan did not play nicely with @llvm.coro.id's that had non-null promises: rewriting the promise alloca violated the assumptions of the coro-early pass (see #154830 (comment) for analysis). Although this issue has been worked around already in ASan and HWASan (somewhat crudely, by disabling instrumentation for the entire presplit function; #99415, #154803), there is no test coverage to check the compiler would crash without the workarounds, if coro-early was run after ASan/HWASan (the existing split-coro.ll runs the passes in the opposite order and checks that ASan skips instrumentation).

This patch adds simple tests (which succeed with the existing workarounds, and would crash without). These will be useful for tracking progress towards better workarounds.

ASan and HWASan did not play nicely with @llvm.coro.id: rewriting the
promise alloca violated the assumptions of the coro-early pass (see
llvm#154830 (comment)
for analysis). Although this issue has been worked around already in ASan and
HWASan (somewhat crudely, by disabling instrumentation for the entire
presplit function), there is no test coverage.

This patch adds tests (which pass with the existing workarounds, and would crash without). These will be useful for tracking progress towards better workarounds.
@thurstond thurstond merged commit 3e39820 into llvm:main Aug 22, 2025
10 checks passed
mtrofin added a commit that referenced this pull request Aug 25, 2025
…155249)

We haven't yet addressed Coro (or Instrumentation) tests.

Issue #147390
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants