struct CallLowering::IncomingValueAssigner

Declaration

struct CallLowering::IncomingValueAssigner : public ValueAssigner { /* full declaration omitted */ };

Description

Argument handling is mostly uniform between the four places that make these decisions: function formal arguments, call instruction args, call instruction returns and function returns. However, once a decision has been made on where an argument should go, exactly what happens can vary slightly. This class abstracts the differences. ValueAssigner should not depend on any specific function state, and only determine the types and locations for arguments.

Declared at: llvm/include/llvm/CodeGen/GlobalISel/CallLowering.h:214

Inherits from: CallLowering::ValueAssigner

Member Variables

Inherited from CallLowering::ValueAssigner:

public AssignFn
public AssignFnVarArg
public StackOffset = 0

Method Overview

Inherited from CallLowering::ValueAssigner:

Methods

ΒΆIncomingValueAssigner(
    llvm::CCAssignFn* AssignFn_,
    llvm::CCAssignFn* AssignFnVarArg_ = nullptr)

Declared at: llvm/include/llvm/CodeGen/GlobalISel/CallLowering.h:215

Parameters

llvm::CCAssignFn* AssignFn_
llvm::CCAssignFn* AssignFnVarArg_ = nullptr