diff options
| author | Sam Parker <sam.parker@arm.com> | 2017-04-11 08:43:32 +0000 |
|---|---|---|
| committer | Sam Parker <sam.parker@arm.com> | 2017-04-11 08:43:32 +0000 |
| commit | 4fc5f3c02e57136c7c4055bd2f83a56bb79d37e5 (patch) | |
| tree | c8e5ace0cb2018a7222d88e0765a47727461e020 /llvm/lib/CodeGen/CountingFunctionInserter.cpp | |
| parent | 5fd75fb72e0eb04bf590765fc70f27a444993e74 (diff) | |
| download | bcm5719-llvm-4fc5f3c02e57136c7c4055bd2f83a56bb79d37e5.tar.gz bcm5719-llvm-4fc5f3c02e57136c7c4055bd2f83a56bb79d37e5.zip | |
[SelectionDAG] Check CALLSEQ_BEGIN nodes in DelayForLiveRegs
A fix for the bug reported in PR30911.
The issue arises when multiple CALLSEQ_BEGIN nodes are unscheduled as
the last node to be unscheduled will gain access to the CallResource
register. But when a node is being picked, only CALLSEQ_END nodes are
checked against the CallResource and have their chains evaluated.
This then means that other CALLSEQ_BEGIN nodes can be scheduled
before the existing call sequence has been finalised. This patch adds
a check against the FrameSetup nodes in DelayForLiveRegs to prevent
this from happening.
Differential Revision: https://reviews.llvm.org/D31536
llvm-svn: 299926
Diffstat (limited to 'llvm/lib/CodeGen/CountingFunctionInserter.cpp')
0 files changed, 0 insertions, 0 deletions

