Wrapper class representing virtual and physical registers. Should be passed by value.
Synopsis
Declared in <llvm/CodeGen/Register.h>
class Register;
Member Functions
Name |
Description |
|
Constructors |
Utility to check‐convert this value to a MCRegister. The caller is expected to have already validated that this Register is, indeed, physical. |
|
Return the underlying unsigned register number. |
|
Return true if the specified register number is in the physical register namespace. |
|
Return true if this is a stack slot. |
|
Return true if this is a real register (not |
|
Return true if the specified register number is in the virtual register namespace. |
|
Increment operators |
|
Advance this register number by |
|
Compute the frame index from a register value representing a stack slot. |
|
Convert a virtual register number to a 0‐based index. The first virtual register in a function will get the index 0. |
|
Convert this register to an |
|
Convert this register to its underlying unsigned register number. |
|
Equality operators |
|
Inequality operators |
Static Member Functions
Name |
Description |
Convert a frame index to a stack slot register value. |
|
Convert a 0‐based index to a virtual register number. This is the inverse operation of VirtReg2IndexFunctor below. |
|
Return true if the specified register number is in the physical register namespace. |
|
Return true if the specified register number is in the virtual register namespace. |
Static Data Members
Name |
Description |
Bit width available for encoding a frame index in a stack‐slot value. |
|
Mask for the frame‐index bits within a stack‐slot register value. |
|
Lowest unsigned value in the stack‐slot register range. |
|
High bit set on all virtual register numbers. |
Non-Member Functions
Name |
Description |
Returns true if |
|
Returns true if |
|
Check if DstReg can be replaced with SrcReg depending on the register constraints. |
|
Constrain a register operand to a given target register class. |
|
Constrain a register operand for a given instruction description. |
|
Try to constrain Reg to the specified register class. |
|
Version which handles irregular splits. |
|
Split a wide generic register into bitwise blocks of type |
|
Version which handles irregular sub‐vector splits. |
|
Compute the possible floating‐point classes that |
|
If |
|
Return the ConstantFP defining |
|
Find the def instruction for |
|
Find the def instruction for |
|
Returns a floating point scalar constant of a build vector splat if it exists. When |
|
If |
|
Return a virtual register for an incoming physical argument register. |
|
|
|
Return the scalar sign‐extended integral splat value of |
|
Return the scalar integral splat value of |
|
If |
|
If |
|
If |
|
See if Reg is defined by an single def instruction of type T Also try to do trivial folding if it's a COPY with same types. Returns null otherwise. |
|
Find the source register for |
|
Return true if the specified register is defined by G_BUILD_VECTOR or G_BUILD_VECTOR_TRUNC where all of the elements are |
|
Return true if the specified register is defined by G_BUILD_VECTOR or G_BUILD_VECTOR_TRUNC where all of the elements are |
|
Determines if |
|
Determines if |
|
Returns true if |
|
Returns true if |
|
Returns true if |
|
Test if the given value is known to have exactly one bit set. |
|
Check if physical register |
|
Prints virtual and physical registers with or without a TRI instance. |
|
Create Printable object to print register classes or register banks on a |
|
Returns a BaseIndexOffset which describes the pointer in |
|
Matches a register equal to a value bound earlier in the same expression. |
|
Binds the matched register to |
|
Matches a register only if it equals |
|
Match |
|
Match |
|
Try to match |
|
Match |
|
Try to match |
|
Match |
Created with MrDocs