Model
Data structures#
Types reachable from the root:
-
-
DefaultPrototype
:Type
-
Configuration
:Configuration
-
Disassembly
:DisassemblyConfiguration
-
Naming
:NamingConfiguration
-
-
Segments
:Segment
-
CanonicalRegisterValues
:CanonicalRegisterValue
-
Relocations
:Relocation
-
Type
:Type
-
-
ImportedDynamicFunctions
:DynamicFunction
-
Prototype
:Type
-
Relocations
:Relocation
-
-
Functions
:Function
-
StackFrameType
:Type
-
Prototype
:Type
-
CallSitePrototypes
:CallSitePrototype
Prototype
:Type
-
-
TypeDefinitions
:TypeDefinition
-
Inheritors of Type
:
Inheritors of TypeDefinition
:
-
-
Arguments
:NamedTypedRegister
Type
:Type
-
ReturnValues
:NamedTypedRegister
Type
:Type
-
StackArgumentsType
:Type
-
-
-
Fields
:StructField
Type
:Type
-
-
UnderlyingType
:Type
-
-
Fields
:UnionField
Type
:Type
-
Binary
#
Data structure representing the whole binary.
This is the entry point of the model.
It contains the type system (Types
), the list of functions (Functions
),
loading information (Segments
) and more.
Fields:
-
Architecture
(Architecture
).The architecture for this binary.
-
The program entry point, if any.
-
DefaultABI
(ABI
).The default ABI to adopt for analysis purposes.
-
DefaultPrototype
(anyType
).The default function prototype to adopt for functions that do not provide it explicitly.
-
Configuration
(Configuration
). -
Segments
(list ofSegment
).Segment
s represent instructions on what part of the raw binary needs to be loaded at which address. -
ExtraCodeAddresses
(list ofMetaAddress
).A list of addresses known to contain code. rev.ng is usually able to discover all the code by itself by recursively visiting the control-flow graph of functions and the call graph. However, certain pieces of code cannot be identified through these techniques. A prime example are the addresses of
catch
blocks of C++ exception handlers: no code ever directly jumps there and their address is not stored in jump tables. Their address can only be obtained by interpreting metadata in the ELF. -
ImportedLibraries
(list ofstring
).The list of imported libraries identified by their file name. For instance, if the input binary is linked to OpenSSL, this list would should
libcrypto.so.1.1
. -
ImportedDynamicFunctions
(list ofDynamicFunction
).List of functions imported from dynamic libraries (
.so
,.dll
). -
Functions
(list ofFunction
).List of the functions present in the binary.
-
TypeDefinitions
(list of anyTypeDefinition
).The set of types used in this binary. It contains
struct
,union
,typedef
,enum
and function prototypes.
Type
#
A type such as an array, a pointer, a primitive or a defined type.
Inheritors: ArrayType
, DefinedType
, PointerType
, PrimitiveType
Referenced by: ArrayType.ElementType
, Function.StackFrameType
, EnumDefinition.UnderlyingType
, TypedefDefinition.UnderlyingType
, Binary.DefaultPrototype
, CABIFunctionDefinition.ReturnType
, Argument.Type
, StructField.Type
, PointerType.PointeeType
, DynamicFunction.Prototype
, Segment.Type
, NamedTypedRegister.Type
, RawFunctionDefinition.StackArgumentsType
, UnionField.Type
, CallSitePrototype.Prototype
, Function.Prototype
ArrayType
#
An array of Type
s.
Inherits from: Type
Fields:
-
The number of elements.
-
ElementType
(anyType
).The type of the elements of the array.
DefinedType
#
A reference to a TypeDefinition
.
Inherits from: Type
Fields:
Definition
(reference toTypeDefinition
).
PointerType
#
A pointer type.
Inherits from: Type
Fields:
-
As of now, only 4 and 8 byte pointers are supported.
-
PointeeType
(anyType
).The pointee type.
PrimitiveType
#
Inherits from: Type
Fields:
-
PrimitiveKind
(PrimitiveKind
). -
As of now, for floating point primitives, supported sizes include:
For non-floating point, they are:{ 2, 4, 8, 10, 12, 16 }
Note that{ 1, 2, 4, 8, 16 }
Void
must have size of 0 whileGeneric
can use all the supported sizes, floating point or not.
Fields:
-
Kind
(TypeKind
).
TypeDefinition
#
Base data structure for all the type definitions.
A type definition differs from a Type
in the fact that it has an identity.
In fact, while two identical instances of Type
can be considered to be the
same Type
, two instances of a TypeDefinition
that only differ from their
ID
are two distinct types.
A type definition can be a struct
, a union
, a typedef
, an enum
or a
function prototype.
Key: ID
, Kind
Inheritors: CABIFunctionDefinition
, EnumDefinition
, RawFunctionDefinition
, StructDefinition
, TypedefDefinition
, UnionDefinition
Referenced by: DefinedType.Definition
CABIFunctionDefinition
#
The function type described through a C-like prototype plus an ABI.
This is an "high level" representation of the prototype of a function. It is expressed as list of arguments composed by an index and a type. No information about the register is embedded. That information is implicit in the ABI this type is associated to.
In contrast, a RawFunctionType
is not associated to any ABI and explicitly
describes, among other things, what registers are used to pass arguments and
return values.
Inherits from: TypeDefinition
Key: ID
, Kind
Fields:
-
ABI
(ABI
).The C ABI associated to this function type.
-
ReturnType
(anyType
).The function return type.
-
Arguments
(list ofArgument
).The list of formal arguments of the function type.
EnumDefinition
#
An enum
type definition.
Inherits from: TypeDefinition
Key: ID
, Kind
Fields:
-
UnderlyingType
(anyType
).The underlying type of the
enum
. This can only be aPrimitiveType
with either aUnsigned
or aSigned
kind. -
Entries
(list ofEnumEntry
).The entries of the
enum
. There can be no two entries associated to the same value.
RawFunctionDefinition
#
The function type described by explicitly listing how arguments and return values are passed.
This is a "low level" representation of the prototype of a function. Where
the list of registers used to pass arguments and return values is explicitl.
For stack arguments, they are collected in a single struct
(StackArgumentsType
).
In contrast, a CABIFunctionDefinition
expresses the function type from a
high-level perspective (e.g., a single argument might span multiple registers)
and his associated to a well-known ABI. Given an ABI, it is always possible
to convert a CABIFunctionDefinition
into a RawFunctionDefinition
.
Inherits from: TypeDefinition
Key: ID
, Kind
Fields:
-
Architecture
(Architecture
).The processor architecture of this function type.
-
Arguments
(list ofNamedTypedRegister
).The list of registers used to pass arguments. The registers must belong to
Architecture
. -
ReturnValues
(list ofNamedTypedRegister
).The list of registers used to return values. The registers must belong to
Architecture
. -
PreservedRegisters
(list ofRegister
).The list of registers preserved by functions using this function type. The registers must belong to
Architecture
. -
The expected difference between the initial and final value of the stack pointer. For instance, in the x86-64 SystemV ABI, the difference between the initial and final value of the stack pointer is 8. This is due to the fact that
ret
instruction increase the stack pointer by 8. -
StackArgumentsType
(anyType
).The type of the
struct
representing all of the stack arguments.
StructDefinition
#
A struct
type.
Inherits from: TypeDefinition
Key: ID
, Kind
Fields:
-
The size, in bytes, of the
struct
. -
When this field is set to
true
and thisstruct
is reachable for a segment's root type without traversing pointer, arrays or other qualifiers, the padding of the struct is treated at if it contains code. -
Fields
(list ofStructField
).The list of fields of this
struct
.
TypedefDefinition
#
A typedef
type.
Note, that unlike in C, two typedef
s aliasing the same type are actually
distinct types.
Inherits from: TypeDefinition
Key: ID
, Kind
Fields:
-
UnderlyingType
(anyType
).The type this
typedef
is aliasing.
UnionDefinition
#
A union
type.
Inherits from: TypeDefinition
Key: ID
, Kind
Fields:
-
Fields
(list ofUnionField
).The list of alternative types in this
union
.
Fields:
-
A unique identifier for this type.
-
Kind
(TypeDefinitionKind
).A discriminator field to identify the concrete type.
-
A user-chosen
Identifier
for this type. -
The name this type had upon import. This value can differ from
CustomName
, sinceCustomName
needs to respect the constraints of anIdentifier
.
NamingConfiguration
#
Referenced by: Configuration.Naming
Fields:
-
UnnamedSegmentPrefix
(string
).The prefix for a segment without a name. The default value is
segment_
. -
UnnamedFunctionPrefix
(string
).The prefix for a local function without a name. The default value is
function_
. -
UnnamedDynamicFunctionPrefix
(string
).The prefix for a dynamic function without a name. The default value is
dynamic_
. -
UnnamedTypeDefinitionPrefix
(string
).The prefix for a type definition without a name. The default value is "". Note that the type kind (like
struct
, ortypedef
) is going to be inserted automatically after this prefix. -
UnnamedEnumEntryPrefix
(string
).The prefix for an enum entry without a name. The default value is
enum_entry_
. -
UnnamedStructFieldPrefix
(string
).The prefix for a struct field without a name. The default value is
offset_
. -
UnnamedUnionFieldPrefix
(string
).The prefix for a union member without a name. The default value is
member_
. -
UnnamedFunctionArgumentPrefix
(string
).The prefix for a cabi function argument without a name. The default value is
argument_
. -
UnnamedFunctionRegisterPrefix
(string
).The prefix for a raw function register without a name. The default value is
register_
. -
The prefix for a padding struct field. The default value is
padding_at_
. -
ArtificialReturnValuePrefix
(string
).The prefix for an artificial raw function return value. The default value is
artificial_struct_returned_by_
. -
ArtificialArrayWrapperPrefix
(string
).The prefix for an artificial array wrapper. The default value is
artificial_wrapper_
. -
ArtificialArrayWrapperFieldName
(string
).The name of the field within the artificial array wrapper. See
ArtificialArrayWrapperPrefix
. The default value isthe_array
. -
CollisionResolutionSuffix
(string
).The suffix attached to colliding names in order to disambiguate them. The default value is
_
.
DisassemblyConfiguration
#
Referenced by: Configuration.Disassembly
Fields:
-
x86-only.
-
AddressStyle
(DisassemblyConfigurationAddressStyle
).The default value is
Smart
. See the related enum for further explanation. -
ImmediateStyle
(DisassemblyConfigurationImmediateStyle
).The default value is
CHexadecimal
. See the related enum for further explanation. -
Set this to true to include the full meta-address whenever one is printed. The default value of
false
omits the address type as long as it matches that of the binary. -
The prefix attached to the basic block address in the disassembly views. The default value is
bb_
.
CanonicalRegisterValue
#
A Segment
can specify a set of canonical values for certain
registers.
This can be used to represent concepts such as the global pointer, which in
certain ABIs, is not set by each function, but it's possible to assume it has
a certain value at the entry of the function.
Key: Register
Referenced by: Segment.CanonicalRegisterValues
Fields:
-
Register
(Register
).The register for which to specify the canonical value.
-
The canonical value that
Register
can be assumed to hold upon function entry.
Relocation
#
A relocation, i.e., a directive to write the address of an object (a
DynamicFunction
or a Segment
) at a specific address.
Optionally, the address of the object can be modified with a constant offset.
Key: Address
, Type
Referenced by: DynamicFunction.Relocations
, Segment.Relocations
Fields:
-
Where to write the address of the object.
-
Type
(RelocationType
).How to write the address of the object (e.g., 32-bit vs 64-bit integer).
-
Fixed offset to add when writing the address of the object.
EnumEntry
#
An entry in an enum
.
Key: Value
Referenced by: EnumDefinition.Entries
Fields:
-
The value associated to this
enum
entry. Has to be unique within theenum
. -
A user-chosen
Identifier
for thisenum
entry. -
The name this
enum
entry had upon import. This value can differ fromCustomName
, sinceCustomName
needs to respect the constraints of anIdentifier
.
Argument
#
The argument of a CABIFunctionType
.
Key: Index
Referenced by: CABIFunctionDefinition.Arguments
Fields:
-
The argument index.
-
Type
(anyType
).The type of the argument.
CallSitePrototype
#
Information about the prototype of a specific callsite within a Function
.
Key: CallerBlockAddress
Referenced by: Function.CallSitePrototypes
Fields:
-
CallerBlockAddress
(MetaAddress
).Address of the basic block of the call.
-
Prototype
(anyType
). -
Whether this call site is a tail call or not.
-
Attributes
(list ofFunctionAttribute
).Attributes for this call site.
NamedTypedRegister
#
An argument or return values in a RawFunctionDefinition
.
It is basically a pair of a register and a Type
.
Key: Location
Referenced by: RawFunctionDefinition.ReturnValues
, RawFunctionDefinition.Arguments
Fields:
StructField
#
A field of a StructDefinition
.
It is composed by the offset of the field and its type.
Key: Offset
Referenced by: StructDefinition.Fields
Fields:
-
Offset at which the field starts within the
struct
. -
Type
(anyType
).The type of the field.
UnionField
#
An alternative of a UnionDefinition
.
It is composed by a index and the Type
.
Key: Index
Referenced by: UnionDefinition.Fields
Fields:
-
The index of the alternative within the
union
. -
Type
(anyType
).The type of this
union
alternative.
Configuration
#
Referenced by: Binary.Configuration
Fields:
-
Disassembly
(DisassemblyConfiguration
). -
Naming
(NamingConfiguration
).
DynamicFunction
#
A function defined in a dynamic library.
Key: OriginalName
Referenced by: Binary.ImportedDynamicFunctions
Fields:
-
The name of the symbol for this dynamic function.
-
Prototype
(anyType
).The prototype of the function.
-
Attributes
(list ofFunctionAttribute
).The attributes of this dynamic function.
-
Relocations
(list ofRelocation
).A list of locations where the address of this dynamic function should be placed.
Segment
#
A segment contains the information necessary for rev.ng to load the executable in memory.
Key: StartAddress
, VirtualSize
Referenced by: Binary.Segments
Fields:
-
The address at which this segment should be loaded.
-
The size of the segment in memory. If this value is greater than
FileSize
, the discrepancy is considered to full of00
. -
Start file offset from which the segment will be loaded.
-
Number of bytes that will be loaded in memory from the file.
-
Is this segment readable?
-
Is this segment writable?
-
Is this segment executable?
-
CanonicalRegisterValues
(list ofCanonicalRegisterValue
). -
Relocations
(list ofRelocation
). -
Type
(anyType
).The
StructDefinition
associated to this segment. Informally, each field of suchstruct
is a global variable.
Function
#
A function defined within this binary.
Key: Entry
Referenced by: Binary.Functions
Fields:
-
The address of the entry point. Note: this does not necessarily correspond to the address of the basic block with the lowest address.
-
StackFrameType
(anyType
).The type of the stack frame.
-
Prototype
(anyType
).The prototype of the function.
-
Attributes
(list ofFunctionAttribute
).Attributes for this call site.
-
CallSitePrototypes
(list ofCallSitePrototype
).Information about specific call sites within this function.
-
ExportedNames
(list ofstring
).The list of names used to make this function available as a dynamic symbol.
Enumerations#
ABI
#
Members:
-
SystemV_x86_64
64-bit SystemV ABI for x86 processor architecture (reference).
-
SystemV_x86
32-bit SystemV ABI for x86 processor architecture (reference).
-
SystemV_x86_regparm_3
A GCC specific modification of the 32-bit SystemV ABI for x86 processor architecture. It allows three first GPR-sized arguments to be passed using the EAX, EDX, and ECX registers. See the reference for
regparm
x86 function attribute. -
SystemV_x86_regparm_2
A GCC specific modification of the 32-bit SystemV ABI for x86 processor architecture. It allows two first GPR-sized arguments to be passed using the EAX, and ECX registers. See the GCC documentation for
regparm
x86 function attribute. -
SystemV_x86_regparm_1
A GCC specific modification of the 32-bit SystemV ABI for x86 processor architecture. It allows the first GPR-sized argument to be passed using the EAX register. See the GCC documentation for
regparm
x86 function attribute. -
Microsoft_x86_64
64-bit Microsoft ABI for x86 processor architecture (reference).
-
Microsoft_x86_64_vectorcall
A modification of 64-bit Microsoft ABI for x86 processor architecture (reference). It allows using extra vector registers for passing function arguments.
-
Microsoft_x86_cdecl
The default 32-bit Microsoft ABI for x86 processor architecture (reference). It was indented to be compatible with
SystemV_x86
but there are slight differences. -
Microsoft_x86_cdecl_gcc
32-bit Microsoft x86
cdecl
abi as implemented in GCC (subtly different from the original). -
Microsoft_x86_stdcall
A modification of the 32-bit
__cdecl
Microsoft ABI for x86 processor architecture (reference). The main difference is the fact that the callee is responsible for stack cleanup instead of the caller. -
Microsoft_x86_stdcall_gcc
32-bit Microsoft x86
stdcall
abi as implemented in GCC (subtly different from the original). -
Microsoft_x86_thiscall
A modification of the 32-bit
__stdcall
Microsoft ABI for x86 processor architecture (reference). The main difference is the fact that it allows to pass a single (the first) function argument using a register. This ABI is only used for member function call where the first argument is always athis
pointer. -
Microsoft_x86_fastcall
A modification of the 32-bit
__stdcall
Microsoft ABI for x86 processor architecture (reference). The main difference is the fact that it allows to pass two first GPR-sized non-aggregate function arguments in registers. -
Microsoft_x86_fastcall_gcc
32-bit Microsoft x86
fastcall
abi as implemented in GCC (subtly different from the original). -
Microsoft_x86_vectorcall
A modification of the 32-bit
__fastcall
Microsoft ABI for x86 processor architecture (reference). It allows using extra vector registers for passing function arguments. -
AAPCS64
Stands for
Arm Architecture Procedure Call Standard (64-bit)
(reference). The official ABI for AArch64 (ARM64) processor architecture. -
Microsoft_AAPCS64
Stands for "Arm Architecture Procedure Call Standard (64-bit)". This represents the version of the ABI used by windows-on-arm. For differences from the original ABI see the reference.
-
Apple_AAPCS64
Stands for "Arm Architecture Procedure Call Standard (64-bit)". This represents the version of the ABI used by the apple products. For differences from the original ABI see the reference.
-
AAPCS
Stands for "Arm Architecture Procedure Call Standard" (reference). The official ABI for ARM processor architecture.
-
SystemV_MIPS_o32
The ABI for MIPS RISC processor architecture (reference).
-
SystemV_MIPSEL_o32
The ABI for little-endian edition of the MIPS RISC processor architecture (reference).
-
SystemZ_s390x
The s390x ABI for SystemZ processor architecture (reference).
Referenced by: CABIFunctionDefinition.ABI
, Binary.DefaultABI
Architecture
#
Members:
-
x86
-
x86_64
-
arm
-
aarch64
-
mips
-
mipsel
-
systemz
Referenced by: RawFunctionDefinition.Architecture
, Binary.Architecture
DisassemblyConfigurationAddressStyle
#
Members:
-
Smart
Look for the addresses among basic blocks and functions. When a match is found, replace the addresses with relevant labels. Otherwise, prints an absolute address instead.
-
SmartWithPCRelativeFallback
Same as
Smart
, except when unable to single out the target, print a PC-relative address instead. -
Strict
Same as
Smart
, except when unable to single out the target, print an error token. -
Global
Convert PC relative addresses into global representation.
-
PCRelative
Print all the addresses exactly how disassembler emitted them in PC-relative mode.
Referenced by: DisassemblyConfiguration.AddressStyle
DisassemblyConfigurationImmediateStyle
#
Members:
-
Decimal
-
CHexadecimal
-
AsmHexadecimal
Referenced by: DisassemblyConfiguration.ImmediateStyle
FunctionAttribute
#
Attributes for functions. Can be applied both to functions and call sites.
Members:
-
NoReturn
The function does not return.
-
Inline
The function must be inlined in callers.
Referenced by: Function.Attributes
, DynamicFunction.Attributes
, CallSitePrototype.Attributes
PrimitiveKind
#
Members:
-
Void
The
void
type. -
Generic
The most generic primitive kind: it can be any of the other primitive kinds, except for
Void
. -
PointerOrNumber
A kind representing either a
Number
kind or a pointer. This can also be seen as not-a-Float
. -
Number
A two's complement integer number, either
Signed
orUnsigned
. -
Unsigned
An
unsigned
two's complement integer number. -
Signed
An
signed
two's complement integer number. -
Float
A IEEE 754 floating point number.
Referenced by: PrimitiveType.PrimitiveKind
RelocationType
#
A enumeration describing how a Relocation
should be written at the target
address.
Members:
-
WriteAbsoluteAddress32
Write the absolute address of the object as a 32-bit integer.
-
WriteAbsoluteAddress64
Write the absolute address of the object as a 64-bit integer.
-
AddAbsoluteAddress32
Add to the 32-bit integer present at the target location the absolute address of the object.
-
AddAbsoluteAddress64
Add to the 64-bit integer present at the target location the absolute address of the object.
-
WriteRelativeAddress32
Write the address of the object as a 32-bit integer, expressed as a relative from the target of the relocation.
-
WriteRelativeAddress64
Write the address of the object as a 64-bit integer, expressed as a relative from the target of the relocation.
-
AddRelativeAddress32
Add to the 32-bit integer present at the target location the address of the object, expressed as a relative from the target of the relocation.
-
AddRelativeAddress64
Add to the 32-bit integer present at the target location the address of the object, expressed as a relative from the target of the relocation.
Referenced by: Relocation.Type
Register
#
Members:
-
eax_x86
-
ebx_x86
-
ecx_x86
-
edx_x86
-
esi_x86
-
edi_x86
-
ebp_x86
-
esp_x86
-
st0_x86
-
xmm0_x86
-
xmm1_x86
-
xmm2_x86
-
xmm3_x86
-
xmm4_x86
-
xmm5_x86
-
xmm6_x86
-
xmm7_x86
-
rax_x86_64
-
rbx_x86_64
-
rcx_x86_64
-
rdx_x86_64
-
rbp_x86_64
-
rsp_x86_64
-
rsi_x86_64
-
rdi_x86_64
-
r8_x86_64
-
r9_x86_64
-
r10_x86_64
-
r11_x86_64
-
r12_x86_64
-
r13_x86_64
-
r14_x86_64
-
r15_x86_64
-
xmm0_x86_64
-
xmm1_x86_64
-
xmm2_x86_64
-
xmm3_x86_64
-
xmm4_x86_64
-
xmm5_x86_64
-
xmm6_x86_64
-
xmm7_x86_64
-
fs_x86_64
-
r0_arm
-
r1_arm
-
r2_arm
-
r3_arm
-
r4_arm
-
r5_arm
-
r6_arm
-
r7_arm
-
r8_arm
-
r9_arm
-
r10_arm
-
r11_arm
-
r12_arm
-
r13_arm
-
r14_arm
-
r15_arm
-
q0_arm
-
q1_arm
-
q2_arm
-
q3_arm
-
q4_arm
-
q5_arm
-
q6_arm
-
q7_arm
-
x0_aarch64
-
x1_aarch64
-
x2_aarch64
-
x3_aarch64
-
x4_aarch64
-
x5_aarch64
-
x6_aarch64
-
x7_aarch64
-
x8_aarch64
-
x9_aarch64
-
x10_aarch64
-
x11_aarch64
-
x12_aarch64
-
x13_aarch64
-
x14_aarch64
-
x15_aarch64
-
x16_aarch64
-
x17_aarch64
-
x18_aarch64
-
x19_aarch64
-
x20_aarch64
-
x21_aarch64
-
x22_aarch64
-
x23_aarch64
-
x24_aarch64
-
x25_aarch64
-
x26_aarch64
-
x27_aarch64
-
x28_aarch64
-
x29_aarch64
-
lr_aarch64
-
sp_aarch64
-
v0_aarch64
-
v1_aarch64
-
v2_aarch64
-
v3_aarch64
-
v4_aarch64
-
v5_aarch64
-
v6_aarch64
-
v7_aarch64
-
v8_aarch64
-
v9_aarch64
-
v10_aarch64
-
v11_aarch64
-
v12_aarch64
-
v13_aarch64
-
v14_aarch64
-
v15_aarch64
-
v16_aarch64
-
v17_aarch64
-
v18_aarch64
-
v19_aarch64
-
v20_aarch64
-
v21_aarch64
-
v22_aarch64
-
v23_aarch64
-
v24_aarch64
-
v25_aarch64
-
v26_aarch64
-
v27_aarch64
-
v28_aarch64
-
v29_aarch64
-
v30_aarch64
-
v31_aarch64
-
v0_mips
-
v1_mips
-
a0_mips
-
a1_mips
-
a2_mips
-
a3_mips
-
s0_mips
-
s1_mips
-
s2_mips
-
s3_mips
-
s4_mips
-
s5_mips
-
s6_mips
-
s7_mips
-
t0_mips
-
t1_mips
-
t2_mips
-
t3_mips
-
t4_mips
-
t5_mips
-
t6_mips
-
t7_mips
-
t8_mips
-
t9_mips
-
gp_mips
-
sp_mips
-
fp_mips
-
ra_mips
-
f0_mips
-
f1_mips
-
f2_mips
-
f3_mips
-
f4_mips
-
f5_mips
-
f6_mips
-
f7_mips
-
f8_mips
-
f9_mips
-
f10_mips
-
f11_mips
-
f12_mips
-
f13_mips
-
f14_mips
-
f15_mips
-
f16_mips
-
f17_mips
-
f18_mips
-
f19_mips
-
f20_mips
-
f21_mips
-
f22_mips
-
f23_mips
-
f24_mips
-
f25_mips
-
f26_mips
-
f27_mips
-
f28_mips
-
f29_mips
-
f30_mips
-
f31_mips
-
r0_systemz
-
r1_systemz
-
r2_systemz
-
r3_systemz
-
r4_systemz
-
r5_systemz
-
r6_systemz
-
r7_systemz
-
r8_systemz
-
r9_systemz
-
r10_systemz
-
r11_systemz
-
r12_systemz
-
r13_systemz
-
r14_systemz
-
r15_systemz
-
f0_systemz
-
f1_systemz
-
f2_systemz
-
f3_systemz
-
f4_systemz
-
f5_systemz
-
f6_systemz
-
f7_systemz
-
f8_systemz
-
f9_systemz
-
f10_systemz
-
f11_systemz
-
f12_systemz
-
f13_systemz
-
f14_systemz
-
f15_systemz
Referenced by: CanonicalRegisterValue.Register
, RawFunctionDefinition.PreservedRegisters
, NamedTypedRegister.Location
TypeKind
#
Members:
-
ArrayType
-
DefinedType
-
PointerType
-
PrimitiveType
Referenced by: Type.Kind
TypeDefinitionKind
#
Members:
-
CABIFunctionDefinition
-
EnumDefinition
-
RawFunctionDefinition
-
StructDefinition
-
TypedefDefinition
-
UnionDefinition
Referenced by: TypeDefinition.Kind