Go to the documentation of this file.
14 #ifndef LLVM_LIB_TARGET_AARCH64_AARCH64CALLLOWERING_H
15 #define LLVM_LIB_TARGET_AARCH64_AARCH64CALLLOWERING_H
25 class AArch64TargetLowering;
27 class MachineIRBuilder;
36 Register SwiftErrorVReg)
const override;
40 bool IsVarArg)
const override;
73 doCallerAndCalleePassArgsTheSameWay(CallLoweringInfo &
Info,
84 #endif // LLVM_LIB_TARGET_AARCH64_AARCH64CALLLOWERING_H
bool lowerReturn(MachineIRBuilder &MIRBuilder, const Value *Val, ArrayRef< Register > VRegs, FunctionLoweringInfo &FLI, Register SwiftErrorVReg) const override
This hook must be implemented to lower outgoing return values, described by Val, into the specified v...
bool supportSwiftError() const override
This is an optimization pass for GlobalISel generic memory operations.
bool lowerCall(MachineIRBuilder &MIRBuilder, CallLoweringInfo &Info) const override
This hook must be implemented to lower the given call instruction, including argument and return valu...
bool lowerFormalArguments(MachineIRBuilder &MIRBuilder, const Function &F, ArrayRef< ArrayRef< Register >> VRegs, FunctionLoweringInfo &FLI) const override
This hook must be implemented to lower the incoming (formal) arguments, described by VRegs,...
The instances of the Type class are immutable: once they are created, they are never changed.
CCValAssign - Represent assignment of one arg/retval to a location.
Analysis containing CSE Info
unsigned ID
LLVM IR allows to use arbitrary numbers as calling convention identifiers.
Helper class to build MachineInstr.
FunctionLoweringInfo - This contains information that is global to a function that is used when lower...
print Print MemDeps of function
ArrayRef - Represent a constant reference to an array (0 or more elements consecutively in memory),...
bool canLowerReturn(MachineFunction &MF, CallingConv::ID CallConv, SmallVectorImpl< BaseArgInfo > &Outs, bool IsVarArg) const override
This hook must be implemented to check whether the return values described by Outs can fit into the r...
Wrapper class representing virtual and physical registers.
bool fallBackToDAGISel(const MachineFunction &MF) const override
bool isTypeIsValidForThisReturn(EVT Ty) const override
For targets which support the "returned" parameter attribute, returns true if the given type is a val...
This class consists of common code factored out of the SmallVector class to reduce code duplication b...
bool isEligibleForTailCallOptimization(MachineIRBuilder &MIRBuilder, CallLoweringInfo &Info, SmallVectorImpl< ArgInfo > &InArgs, SmallVectorImpl< ArgInfo > &OutArgs) const
Returns true if the call can be lowered as a tail call.
AArch64CallLowering(const AArch64TargetLowering &TLI)
LLVM Value Representation.