diff options
author | Serguei Katkov <serguei.katkov@azul.com> | 2019-04-04 04:19:56 +0000 |
---|---|---|
committer | Serguei Katkov <serguei.katkov@azul.com> | 2019-04-04 04:19:56 +0000 |
commit | fb44846e37c137d14806567c51d665aa06340f4f (patch) | |
tree | aced6d9c97270803f94e379c0f8166d6c1ecb874 /lldb/packages/Python/lldbsuite/test/lldbpexpect.py | |
parent | ee676e2f6f84bc89354ede366939f038acf14763 (diff) | |
download | bcm5719-llvm-fb44846e37c137d14806567c51d665aa06340f4f.tar.gz bcm5719-llvm-fb44846e37c137d14806567c51d665aa06340f4f.zip |
[FastISel] Fix the crash in gc.result lowering
The Fast ISel has a fallback to SelectionDAGISel in case it cannot handle the instruction.
This works as follows:
Using reverse order, try to select instruction using Fast ISel, if it cannot handle instruction it fallbacks to SelectionDAGISel
for these instructions if it is a call and continue fast instruction selections.
However if unhandled instruction is not a call or statepoint related instruction it fallbacks to SelectionDAGISel for all remaining
instructions in basic block.
However gc.result instruction is missed and as a result it is possible that gc.result is processed earlier than statepoint
causing breakage invariant the gc.results should be handled after statepoint.
Test is updated because in the current form fast-isel cannot handle ret instruction (due to i1 ret type without explicit ext)
and as a result test does not check fast-isel at all.
Reviewers: reames
Reviewed By: reames
Subscribers: llvm-commits
Differential Revision: https://reviews.llvm.org/D60182
llvm-svn: 357672
Diffstat (limited to 'lldb/packages/Python/lldbsuite/test/lldbpexpect.py')
0 files changed, 0 insertions, 0 deletions