summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/LiveRangeCalc.cpp
diff options
context:
space:
mode:
authorBrian Gesiak <modocache@gmail.com>2019-03-11 18:31:28 +0000
committerBrian Gesiak <modocache@gmail.com>2019-03-11 18:31:28 +0000
commitd7b68132d8f2e6d710340abc75cded5dcbec3487 (patch)
treeaa5947dea0acb0285099c147b0bebe79ab361041 /llvm/lib/CodeGen/LiveRangeCalc.cpp
parent76d66123b27d7e49fa15a347c006ef9454069614 (diff)
downloadbcm5719-llvm-d7b68132d8f2e6d710340abc75cded5dcbec3487.tar.gz
bcm5719-llvm-d7b68132d8f2e6d710340abc75cded5dcbec3487.zip
[coroutines][PR40979] Ignore unreachable uses across suspend points
Summary: Depends on https://reviews.llvm.org/D59069. https://bugs.llvm.org/show_bug.cgi?id=40979 describes a bug in which the -coro-split pass would assert that a use was across a suspend point from a definition. Normally this would mean that a value would "spill" across a suspend point and thus need to be stored in the coroutine frame. However, in this case the use was unreachable, and so it would not be necessary to store the definition on the frame. To prevent the assert, simply remove unreachable basic blocks from a coroutine function before computing spills. This avoids the assert reported in PR40979. Reviewers: GorNishanov, tks2103 Reviewed By: GorNishanov Subscribers: EricWF, jdoerfert, llvm-commits, lewissbaker Tags: #llvm Differential Revision: https://reviews.llvm.org/D59068 llvm-svn: 355852
Diffstat (limited to 'llvm/lib/CodeGen/LiveRangeCalc.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud