| IDA SDK

Public Attributes | Public Member Functions | Static Public Member Functions | Public Types | Protected Member Functions | List of all members
callregs_t Class Reference

## Detailed Description

Register allocation calling convention.

(allocation policy, arrays of GP and FP registers)

## Public Attributes
argreg_policy_t | policy
| argument policy
int | nregs
| max number of registers that can be used in a call
intvec_t | gpregs
| array of gp registers
intvec_t | fpregs
| array of fp registers

## Public Member Functions
| callregs_t ()
| Constructor.
| callregs_t (cm_t cc)
| Constructor - initialize with the given request (see init_regs())
void | swap (callregs_t &r)
| swap two instances
void | init_regs (cm_t cc)
| Init policy & registers for given CC.
bool | by_slots () const
void | set (argreg_policy_t _policy, const int *gprs, const int *fprs)
| Init policy & registers (arrays are -1-terminated)
void | set_registers (reg_kind_t kind, int first_reg, int last_reg)
void | reset ()
| Set policy and registers to invalid values.
bool | reginds (int *gp_ind, int *fp_ind, int r) const
| Get register indexes within GP/FP arrays. More...

## Static Public Member Functions
static int | regcount (cm_t cc)
| Get max number of registers may be used in a function call.
static int | findreg (const intvec_t &regs, int r)

## Public Types
enum | reg_kind_t { GPREGS , FPREGS }
| Init registers (sequential)

## Protected Member Functions
bool | findregs (int *gp_ind, int *fp_ind, int r, const intvec_t &gprs, const intvec_t &fprs) const
| Search for register r in gprs and fprs. More...

## Member Function Documentation

## ◆ reginds()

bool callregs_t::reginds | ( | int * | gp_ind,
|  | int * | fp_ind,
|  | int | r
| ) |  | const
| inline

Get register indexes within GP/FP arrays.

(-1 -> is not present in the corresponding array)

## ◆ findregs()

bool callregs_t::findregs | ( | int * | gp_ind,
|  | int * | fp_ind,
|  | int | r,
|  | const intvec_t & | gprs,
|  | const intvec_t & | fprs
| ) |  | const
| inline protected

Search for register r in gprs and fprs.

If found, fill gp_ind and fp_ind based on policy

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

- typeinf.hpp