orcvariable
Structures
_OrcVariable
Enumerations
OrcVarType
typedef enum {
ORC_VAR_TYPE_TEMP,
ORC_VAR_TYPE_SRC,
ORC_VAR_TYPE_DEST,
ORC_VAR_TYPE_CONST,
ORC_VAR_TYPE_PARAM,
ORC_VAR_TYPE_ACCUMULATOR
} OrcVarType;
Members
ORC_VAR_TYPE_TEMP
(0)
–
ORC_VAR_TYPE_SRC
(1)
–
ORC_VAR_TYPE_DEST
(2)
–
ORC_VAR_TYPE_CONST
(3)
–
ORC_VAR_TYPE_PARAM
(4)
–
ORC_VAR_TYPE_ACCUMULATOR
(5)
–
_OrcParamType
typedef enum _OrcParamType {
ORC_PARAM_TYPE_INT = 0,
ORC_PARAM_TYPE_FLOAT,
ORC_PARAM_TYPE_INT64,
ORC_PARAM_TYPE_DOUBLE
} OrcParamType;
Members
ORC_PARAM_TYPE_INT
(0)
–
ORC_PARAM_TYPE_FLOAT
(1)
–
ORC_PARAM_TYPE_INT64
(2)
–
ORC_PARAM_TYPE_DOUBLE
(3)
–
_OrcVariableId
typedef enum _OrcVariableId {
/* Destination variables */
ORC_VAR_D1,
ORC_VAR_D2,
ORC_VAR_D3,
ORC_VAR_D4,
/* Source variables */
ORC_VAR_S1,
ORC_VAR_S2,
ORC_VAR_S3,
ORC_VAR_S4,
ORC_VAR_S5,
ORC_VAR_S6,
ORC_VAR_S7,
ORC_VAR_S8,
/* accumulators */
// exec pointer (arrays) or m (params)
ORC_VAR_A1,
// OrcCode pointer (arrays) or m_index (params)
ORC_VAR_A2,
// elapsed time (params)
ORC_VAR_A3,
ORC_VAR_A4,
/* constant variables */
// row pointers (arrays [i+X]).
// the stride for the array above is in params[i+X]
ORC_VAR_C1,
ORC_VAR_C2,
ORC_VAR_C3,
ORC_VAR_C4,
ORC_VAR_C5,
ORC_VAR_C6,
ORC_VAR_C7,
ORC_VAR_C8,
/* parameter table index */
ORC_VAR_P1,
ORC_VAR_P2,
ORC_VAR_P3,
ORC_VAR_P4,
ORC_VAR_P5,
ORC_VAR_P6,
ORC_VAR_P7,
ORC_VAR_P8,
/* temporary variables */
// high half of params (params)
ORC_VAR_T1,
ORC_VAR_T2,
ORC_VAR_T3,
ORC_VAR_T4,
ORC_VAR_T5,
ORC_VAR_T6,
ORC_VAR_T7,
ORC_VAR_T8,
ORC_VAR_T9,
ORC_VAR_T10,
ORC_VAR_T11,
ORC_VAR_T12,
ORC_VAR_T13,
ORC_VAR_T14,
ORC_VAR_T15,
ORC_VAR_T16
} OrcVariableId;
Members
ORC_VAR_D1
(0)
–
ORC_VAR_D2
(1)
–
ORC_VAR_D3
(2)
–
ORC_VAR_D4
(3)
–
ORC_VAR_S1
(4)
–
ORC_VAR_S2
(5)
–
ORC_VAR_S3
(6)
–
ORC_VAR_S4
(7)
–
ORC_VAR_S5
(8)
–
ORC_VAR_S6
(9)
–
ORC_VAR_S7
(10)
–
ORC_VAR_S8
(11)
–
ORC_VAR_A1
(12)
–
ORC_VAR_A2
(13)
–
ORC_VAR_A3
(14)
–
ORC_VAR_A4
(15)
–
ORC_VAR_C1
(16)
–
ORC_VAR_C2
(17)
–
ORC_VAR_C3
(18)
–
ORC_VAR_C4
(19)
–
ORC_VAR_C5
(20)
–
ORC_VAR_C6
(21)
–
ORC_VAR_C7
(22)
–
ORC_VAR_C8
(23)
–
ORC_VAR_P1
(24)
–
ORC_VAR_P2
(25)
–
ORC_VAR_P3
(26)
–
ORC_VAR_P4
(27)
–
ORC_VAR_P5
(28)
–
ORC_VAR_P6
(29)
–
ORC_VAR_P7
(30)
–
ORC_VAR_P8
(31)
–
ORC_VAR_T1
(32)
–
ORC_VAR_T2
(33)
–
ORC_VAR_T3
(34)
–
ORC_VAR_T4
(35)
–
ORC_VAR_T5
(36)
–
ORC_VAR_T6
(37)
–
ORC_VAR_T7
(38)
–
ORC_VAR_T8
(39)
–
ORC_VAR_T9
(40)
–
ORC_VAR_T10
(41)
–
ORC_VAR_T11
(42)
–
ORC_VAR_T12
(43)
–
ORC_VAR_T13
(44)
–
ORC_VAR_T14
(45)
–
ORC_VAR_T15
(46)
–
ORC_VAR_T16
(47)
–
_OrcVariableUpdateType
typedef enum _OrcVariableUpdateType {
ORC_VARIABLE_UPDATE_TYPE_NONE,
ORC_VARIABLE_UPDATE_TYPE_HALF,
ORC_VARIABLE_UPDATE_TYPE_FULL,
} OrcVariableUpdateType;
Members
ORC_VARIABLE_UPDATE_TYPE_NONE
(0)
–
ORC_VARIABLE_UPDATE_TYPE_HALF
(1)
–
ORC_VARIABLE_UPDATE_TYPE_FULL
(2)
–
Aliases
OrcParamType
typedef enum _OrcParamType OrcParamType
OrcVariable
typedef struct _OrcVariable OrcVariable
The OrcVariable structure has no public members
OrcVariableId
typedef enum _OrcVariableId OrcVariableId
OrcVariableUpdateType
typedef enum _OrcVariableUpdateType OrcVariableUpdateType
ORC_VARIABLE_UPDATE_TYPE_NONE: No automatic update will be done, the rule implementation handles it ORC_VARIABLE_UPDATE_TYPE_HALF: Automatic update will be done shifting half of the current shift ORC_VARIABLE_UPDATE_TYPE_FULL: Automatic update will be done fully shifting to the current shift
This enum defines how the OrcCompiler should update an array variable after an unrolled loop iteration
The results of the search are