From: Denis Antrushin Date: Mon, 30 Mar 2020 16:47:56 +0000 (+0300) Subject: [Statepoint] Fix StatepointLoweringInfo::GCTransitionArgs initialization X-Git-Tag: llvmorg-12-init~10634 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=47107dc3bda1f8c27c70c84f30aa0cdd41786e0d;p=platform%2Fupstream%2Fllvm.git [Statepoint] Fix StatepointLoweringInfo::GCTransitionArgs initialization Summary: In method SelectionDAGBuilder::LowerStatepoint, array SI.GCTransitionArgs is initialized from wrong part of ImmutableStatepoint class. We copy gc args instead of transitions args. Reviewers: reames, skatkov Subscribers: hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D77075 --- diff --git a/llvm/lib/CodeGen/SelectionDAG/StatepointLowering.cpp b/llvm/lib/CodeGen/SelectionDAG/StatepointLowering.cpp index 15c6658..8904ab3 100644 --- a/llvm/lib/CodeGen/SelectionDAG/StatepointLowering.cpp +++ b/llvm/lib/CodeGen/SelectionDAG/StatepointLowering.cpp @@ -848,8 +848,8 @@ SelectionDAGBuilder::LowerStatepoint(ImmutableStatepoint ISP, SI.GCArgs = ArrayRef(ISP.gc_args_begin(), ISP.gc_args_end()); SI.StatepointInstr = ISP.getInstruction(); - SI.GCTransitionArgs = - ArrayRef(ISP.gc_args_begin(), ISP.gc_args_end()); + SI.GCTransitionArgs = ArrayRef(ISP.gc_transition_args_begin(), + ISP.gc_transition_args_end()); SI.ID = ISP.getID(); SI.DeoptState = ArrayRef(ISP.deopt_begin(), ISP.deopt_end()); SI.StatepointFlags = ISP.getFlags();