struct SelectionDAGBuilder::StatepointLoweringInfo

Declaration

struct SelectionDAGBuilder::StatepointLoweringInfo { /* full declaration omitted */ };

Description

Describes a gc.statepoint or a gc.statepoint like thing for the purposes of lowering into a STATEPOINT node.

Declared at: llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h:381

Member Variables

public SmallVector<const llvm::Value*, 16> Bases
Bases[i] is the base pointer for Ptrs[i]. Together they denote the set of gc pointers this STATEPOINT has to relocate.
public SmallVector<const llvm::Value*, 16> Ptrs
public SmallVector<const llvm::GCRelocateInst*, 16> GCRelocates
The set of gc.relocate calls associated with this gc.statepoint.
public ArrayRef<const llvm::Use> GCArgs
The full list of gc arguments to the gc.statepoint being lowered.
public const llvm::Instruction* StatepointInstr = nullptr
The gc.statepoint instruction.
public ArrayRef<const llvm::Use> GCTransitionArgs
The list of gc transition arguments present in the gc.statepoint being lowered.
public unsigned int ID = -1
The ID that the resulting STATEPOINT instruction has to report.
public TargetLowering::CallLoweringInfo CLI
Information regarding the underlying call instruction.
public ArrayRef<const llvm::Use> DeoptState
The deoptimization state associated with this gc.statepoint call, if any.
public uint64_t StatepointFlags = -1
Flags associated with the meta arguments being lowered.
public unsigned int NumPatchBytes = -1
The number of patchable bytes the call needs to get lowered into.
public const llvm::BasicBlock* EHPadBB = nullptr
The exception handling unwind destination, in case this represents an invoke of gc.statepoint.

Method Overview

Methods

ΒΆStatepointLoweringInfo(llvm::SelectionDAG& DAG)

Declared at: llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h:420

Parameters

llvm::SelectionDAG& DAG