retdec
Public Member Functions | Static Public Member Functions | List of all members
retdec::bin2llvmir::PascalCallingConvention Class Reference

#include <x86_pascal.h>

Inheritance diagram for retdec::bin2llvmir::PascalCallingConvention:
Inheritance graph
[legend]
Collaboration diagram for retdec::bin2llvmir::PascalCallingConvention:
Collaboration graph
[legend]

Public Member Functions

 PascalCallingConvention (const Abi *a)
 
- Public Member Functions inherited from retdec::bin2llvmir::X86CallingConvention
 X86CallingConvention (const Abi *a)
 
virtual std::size_t getMaxBytesPerStackParam () const override
 
- Public Member Functions inherited from retdec::bin2llvmir::CallingConvention
 CallingConvention (const Abi *abi)
 
virtual ~CallingConvention ()=default
 
const std::vector< uint32_t > & getParamRegisters () const
 
const std::vector< uint32_t > & getParamFPRegisters () const
 
const std::vector< uint32_t > & getParamDoubleRegisters () const
 
const std::vector< uint32_t > & getParamVectorRegisters () const
 
const std::vector< uint32_t > & getReturnRegisters () const
 
const std::vector< uint32_t > & getReturnFPRegisters () const
 
const std::vector< uint32_t > & getReturnDoubleRegisters () const
 
const std::vector< uint32_t > & getReturnVectorRegisters () const
 
bool usesFPRegistersForParameters () const
 
std::size_t getMaxNumOfRegsPerParam () const
 
std::size_t getMaxNumOfFPRegsPerParam () const
 
std::size_t getMaxNumOfDoubleRegsPerParam () const
 
std::size_t getMaxNumOfVectorRegsPerParam () const
 
std::size_t getMaxNumOfRegsPerReturn () const
 
std::size_t getMaxNumOfFPRegsPerReturn () const
 
std::size_t getMaxNumOfDoubleRegsPerReturn () const
 
std::size_t getMaxNumOfVectorRegsPerReturn () const
 
bool getStackParamOrder () const
 
bool usesStackForParameters () const
 
bool passesLargeObjectsByReference () const
 
bool respectsRegisterCouples () const
 
virtual bool valueCanBeParameter (const llvm::Value *val) const
 
virtual bool canHoldReturnValue (const llvm::Value *val) const
 

Static Public Member Functions

static CallingConvention::Ptr create (const Abi *a)
 

Additional Inherited Members

- Public Types inherited from retdec::bin2llvmir::CallingConvention
typedef std::unique_ptr< CallingConventionPtr
 
typedef retdec::common::CallingConventionID ID
 
typedef Ptr(* ConstructorMethod) (const Abi *)
 
- Static Public Attributes inherited from retdec::bin2llvmir::CallingConvention
static const bool RTL = true
 
static const bool LTR = false
 
- Protected Attributes inherited from retdec::bin2llvmir::CallingConvention
const Abi_abi
 
CallingConvention::ID _ccType
 
std::vector< uint32_t > _paramRegs {}
 
std::vector< uint32_t > _paramFPRegs {}
 
std::vector< uint32_t > _paramDoubleRegs {}
 
std::vector< uint32_t > _paramVectorRegs {}
 
std::vector< uint32_t > _returnRegs {}
 
std::vector< uint32_t > _returnFPRegs {}
 
std::vector< uint32_t > _returnDoubleRegs {}
 
std::vector< uint32_t > _returnVectorRegs {}
 
size_t _numOfRegsPerParam = 1
 
size_t _numOfFPRegsPerParam = 1
 
size_t _numOfDoubleRegsPerParam = 1
 
size_t _numOfVectorRegsPerParam = 1
 
size_t _numOfRegsPerReturn = 1
 
size_t _numOfFPRegsPerReturn = 1
 
size_t _numOfDoubleRegsPerReturn = 1
 
size_t _numOfVectorRegsPerReturn = 1
 
bool _stackParamOrder = RTL
 
bool _largeObjectsPassedByReference = false
 
bool _respectsRegCouples = false
 

Constructor & Destructor Documentation

◆ PascalCallingConvention()

retdec::bin2llvmir::PascalCallingConvention::PascalCallingConvention ( const Abi a)

Member Function Documentation

◆ create()

CallingConvention::Ptr retdec::bin2llvmir::PascalCallingConvention::create ( const Abi a)
static

The documentation for this class was generated from the following files: