[all-commits] [llvm/llvm-project] 2fccd1: [Statepoint Lowering] Fix the crash with gc.reloca...
serguei-katkov via All-commits
all-commits at lists.llvm.org
Wed Mar 10 04:51:49 PST 2021
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 2fccd1b00a7667228a0b5f167b2936b69b717372
https://github.com/llvm/llvm-project/commit/2fccd1b00a7667228a0b5f167b2936b69b717372
Author: Serguei Katkov <serguei.katkov at azul.com>
Date: 2021-03-10 (Wed, 10 Mar 2021)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/StatepointLowering.cpp
A llvm/test/CodeGen/X86/statepoint-spill-lowering.ll
Log Message:
-----------
[Statepoint Lowering] Fix the crash with gc.relocate in a separate block
If it was decided to relocate derived pointer using the spill its value is
not exported in general case.
When gc.relocate is located in an another block than a statepoint we cannot
get SD for derived value but for spill case it is not required at all.
However implementation of gc.relocate lowering unconditionally request SD value
causing the assert triggering.
The CL fixes this by handling spill case earlier than SD is really required.
Reviewers: reames, dantrushin
Reviewed By: dantrushin
Subscribers: llvm-commits
Differential Revision: https://reviews.llvm.org/D98324
More information about the All-commits
mailing list