From 47107dc3bda1f8c27c70c84f30aa0cdd41786e0d Mon Sep 17 00:00:00 2001 From: Denis Antrushin Date: Mon, 30 Mar 2020 19:47:56 +0300 Subject: [PATCH] [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 --- llvm/lib/CodeGen/SelectionDAG/StatepointLowering.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) 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(); -- 2.7.4