https://bugs.llvm.org/show_bug.cgi?id=49675
Bug ID: 49675
Summary: Coroutine miscompile
Product: clang
Version: 11.0
Hardware: PC
OS: Linux
Status: NEW
Severity: normal
Priority: P
Component: C++2a
Assignee: unassignedclangb...@nondot.org
Reporter: michal.chojnow...@scylladb.com
CC: blitzrak...@gmail.com, erik.pilking...@gmail.com,
llvm-bugs@lists.llvm.org, richard-l...@metafoo.co.uk
clang miscompiles (misoptimizes?) coroutines.
Here's a minimal example for clang 11.0.1: https://godbolt.org/z/EYE16d
Here's a minimal example for both 11.0.1 and trunk:
https://godbolt.org/z/7nPG39
The bug only occurs with optimizations enabled. `opt-bisect-limit` shows that
the linked test cases break after `BISECT: running pass (64) Combine redundant
instructions on function (_Z3foo1A)`. I didn't confirm that this particular
pass is the culprit though; maybe it only makes an earlier miscompile apparent.
Perhaps this bug is not coroutine-specific. However, we have encountered this
miscompile (we aren't certain that the root cause is always the same, but they
all look related) in practice several unrelated times with coroutines, and
never without coroutines.
I also mentioned this case under https://bugs.llvm.org/show_bug.cgi?id=48857,
but I'm opening a separate bug because I'm not actually sure that it's related
to the original case in 48857.
--
You are receiving this mail because:
You are on the CC list for the bug.
_______________________________________________
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs