osprey/be/cg/op.h File Reference

#include "srcpos.h"
#include "targ_isa_operands.h"
#include "targ_isa_properties.h"
#include "targ_isa_hazards.h"
#include "targ_isa_pack.h"
#include "errors.h"
#include "register.h"
#include "mempool.h"
#include "op_targ.h"

Include dependency graph for op.h:

Go to the source code of this file.

Data Types

type  op
type  ops

Defines

#define OP_MAX_FIXED_OPNDS   ISA_OPERAND_max_operands
#define OP_MAX_FIXED_RESULTS   ISA_OPERAND_max_results
#define OP_sizeof(nresults, nopnds)   ((size_t)(offsetof(OP, res_opnd[0]) + ((nresults) + (nopnds)) * sizeof(TN *)))
#define OP_opnd_offset(o)   (0)
#define OP_result_offset(o)   OP_opnds(o)
#define OP_srcpos(o)   ((o)->srcpos)
#define OP_scycle(o)   ((o)->scycle)
#define OP_flags(o)   ((o)->flags)
#define OP_next(o)   ((o)->next+0)
#define OP_prev(o)   ((o)->prev+0)
#define OP_map_idx(o)   ((o)->map_idx+0)
#define OP_orig_idx(o)   ((o)->orig_idx+0)
#define OP_unroll_bb(o)   ((o)->unroll_bb+0)
#define OP_unrolling(o)   ((o)->unrolling+0)
#define OP_bb(o)   ((o)->bb+0)
#define OP_results(o)   ((o)->results+0)
#define OP_opnds(o)   ((o)->opnds+0)
#define OP_code(o)   ((TOP)(o)->opr)
#define OP_result(o, n)   ((struct tn *)(o)->res_opnd[(n)+OP_result_offset(o)])
#define OP_opnd(o, n)   ((struct tn *)(o)->res_opnd[(n)+OP_opnd_offset(o)])
#define Set_OP_orig_idx(op, idx)   ((op)->orig_idx = (idx))
#define Set_OP_unroll_bb(op, bb)   ((op)->unroll_bb = (bb))
#define Set_OP_unrolling(op, u)   ((op)->unrolling = (u))
#define Set_OP_result(o, result, tn)   ((o)->res_opnd[(result) + OP_result_offset(o)] = (tn))
#define Set_OP_opnd(o, opnd, tn)   ((o)->res_opnd[(opnd) + OP_opnd_offset(o)] = (tn))
#define OP_MASK_GLUE   0x00000001
#define OP_MASK_NO_ALIAS   0x00000002
#define OP_MASK_COPY   0x00000004
#define OP_MASK_FLAG1   0x00000008
#define OP_MASK_VOLATILE   0x00000010
#define OP_MASK_HOISTED   0x00000020
#define OP_MASK_END_GROUP   0x00000040
#define OP_MASK_M_UNIT   0x00000080
#define OP_MASK_TAIL_CALL   0x00000100
#define OP_MASK_BUNDLED   0x00000200
#define OP_MASK_SPECULATIVE   0x00000400
#define OP_MASK_NO_CI_ALIAS   0x00002000
#define OP_MASK_NO_MOVE_BEFORE_GRA   0x00004000
#define OP_MASK_TAG   0x00008000
#define OP_MASK_SPADJ_PLUS   0x00010000
#define OP_MASK_SPADJ_MINUS   0x00020000
#define OP_MASK_FIRST_OP_AFTER_PREAMBLE_END   0x10000000
#define OP_MASK_PREFETCH_DELETED   0x20000000
#define OP_glue(o)   (OP_flags(o) & OP_MASK_GLUE)
#define Set_OP_glue(o)   (OP_flags(o) |= OP_MASK_GLUE)
#define Reset_OP_glue(o)   (OP_flags(o) &= ~OP_MASK_GLUE)
#define OP_no_alias(o)   (OP_flags(o) & OP_MASK_NO_ALIAS)
#define Set_OP_no_alias(o)   (OP_flags(o) |= OP_MASK_NO_ALIAS)
#define Reset_OP_no_alias(o)   (OP_flags(o) &= ~OP_MASK_NO_ALIAS)
#define OP_copy(o)   (OP_flags(o) & OP_MASK_COPY)
#define Set_OP_copy(o)   (OP_flags(o) |= OP_MASK_COPY)
#define Reset_OP_copy(o)   (OP_flags(o) &= ~OP_MASK_COPY)
#define OP_flag1(o)   (OP_flags(o) & OP_MASK_FLAG1)
#define Set_OP_flag1(o)   (OP_flags(o) |= OP_MASK_FLAG1)
#define Reset_OP_flag1(o)   (OP_flags(o) &= ~OP_MASK_FLAG1)
#define OP_volatile(o)   (OP_flags(o) & OP_MASK_VOLATILE)
#define Set_OP_volatile(o)   (OP_flags(o) |= OP_MASK_VOLATILE)
#define Reset_OP_volatile(o)   (OP_flags(o) &= ~OP_MASK_VOLATILE)
#define OP_hoisted(o)   (OP_flags(o) & OP_MASK_HOISTED)
#define Set_OP_hoisted(o)   (OP_flags(o) |= OP_MASK_HOISTED)
#define Reset_OP_hoisted(o)   (OP_flags(o) &= ~OP_MASK_HOISTED)
#define OP_end_group(o)   (OP_flags(o) & OP_MASK_END_GROUP)
#define Set_OP_end_group(o)   (OP_flags(o) |= OP_MASK_END_GROUP)
#define Reset_OP_end_group(o)   (OP_flags(o) &= ~OP_MASK_END_GROUP)
#define OP_m_unit(o)   (OP_flags(o) & OP_MASK_M_UNIT)
#define Set_OP_m_unit(o)   (OP_flags(o) |= OP_MASK_M_UNIT)
#define Reset_OP_m_unit(o)   (OP_flags(o) &= ~OP_MASK_M_UNIT)
#define OP_tail_call(o)   (OP_flags(o) & OP_MASK_TAIL_CALL)
#define Set_OP_tail_call(o)   (OP_flags(o) |= OP_MASK_TAIL_CALL)
#define Reset_OP_tail_call(o)   (OP_flags(o) &= ~OP_MASK_TAIL_CALL)
#define OP_bundled(o)   (OP_flags(o) & OP_MASK_BUNDLED)
#define Set_OP_bundled(o)   (OP_flags(o) |= OP_MASK_BUNDLED)
#define Reset_OP_bundled(o)   (OP_flags(o) &= ~OP_MASK_BUNDLED)
#define OP_speculative(o)   (OP_flags(o) & OP_MASK_SPECULATIVE)
#define Set_OP_speculative(o)   (OP_flags(o) |= OP_MASK_SPECULATIVE)
#define Reset_OP_speculative(o)   (OP_flags(o) &= ~OP_MASK_SPECULATIVE)
#define OP_cond_def_kind(o)   (OP_flags(o) & OP_MASK_COND_DEF)
#define Set_OP_cond_def_kind(o, k)   (OP_flags(o) = (OP_flags(o) & ~OP_MASK_COND_DEF) | k)
#define OP_no_ci_alias(o)   (OP_flags(o) & OP_MASK_NO_CI_ALIAS)
#define Set_OP_no_ci_alias(o)   (OP_flags(o) |= OP_MASK_NO_CI_ALIAS)
#define Reset_OP_no_ci_alias(o)   (OP_flags(o) &= ~OP_MASK_NO_CI_ALIAS)
#define OP_no_move_before_gra(o)   (OP_flags(o) & OP_MASK_NO_MOVE_BEFORE_GRA)
#define Set_OP_no_move_before_gra(o)   (OP_flags(o) |= OP_MASK_NO_MOVE_BEFORE_GRA)
#define OP_has_tag(o)   (OP_flags(o) & OP_MASK_TAG)
#define Set_OP_has_tag(o)   (OP_flags(o) |= OP_MASK_TAG)
#define Reset_OP_has_tag(o)   (OP_flags(o) &= ~OP_MASK_TAG)
#define OP_spadjust_plus(o)   (OP_flags(o) & OP_MASK_SPADJ_PLUS)
#define Set_OP_spadjust_plus(o)   (OP_flags(o) |= OP_MASK_SPADJ_PLUS)
#define Reset_OP_spadjust_plus(o)   (OP_flags(o) &= ~OP_MASK_SPADJ_PLUS)
#define OP_spadjust_minus(o)   (OP_flags(o) & OP_MASK_SPADJ_MINUS)
#define Set_OP_spadjust_minus(o)   (OP_flags(o) |= OP_MASK_SPADJ_MINUS)
#define Reset_OP_spadjust_minus(o)   (OP_flags(o) &= ~OP_MASK_SPADJ_MINUS)
#define OP_first_after_preamble_end(o)   (OP_flags(o) & OP_MASK_FIRST_OP_AFTER_PREAMBLE_END)
#define Set_OP_first_after_preamble_end(o)   (OP_flags(o) |= OP_MASK_FIRST_OP_AFTER_PREAMBLE_END)
#define Reset_OP_first_after_preamble_end(o)   (OP_flags(o) &= ~OP_MASK_FIRST_OP_AFTER_PREAMBLE_END)
#define OP_prefetch_deleted(o)   (OP_flags(o) & OP_MASK_PREFETCH_DELETED)
#define Set_OP_prefetch_deleted(o)   (OP_flags(o) |= OP_MASK_PREFETCH_DELETED)
#define Reset_OP_prefetch_deleted(o)   (OP_flags(o) &= ~OP_MASK_PREFETCH_DELETED)
#define OP_noop(o)   (TOP_is_noop(OP_code(o)))
#define OP_load(o)   (TOP_is_load(OP_code(o)))
#define OP_store(o)   (TOP_is_store(OP_code(o)))
#define OP_prefetch(o)   (TOP_is_prefetch(OP_code(o)))
#define OP_memory(o)   (OP_load(o) | OP_store(o) | OP_prefetch(o))
#define OP_mem_fill_type(o)   (TOP_is_mem_fill_type(OP_code(o)))
#define OP_call(o)   (TOP_is_call(OP_code(o)))
#define OP_cond(o)   (TOP_is_cond(OP_code(o)))
#define OP_likely(o)   (TOP_is_likely(OP_code(o)))
#define OP_dummy(o)   (TOP_is_dummy(OP_code(o)))
#define OP_flop(o)   (TOP_is_flop(OP_code(o)))
#define OP_fadd(o)   (TOP_is_fadd(OP_code(o)))
#define OP_fdiv(o)   (TOP_is_fdiv(OP_code(o)))
#define OP_fmul(o)   (TOP_is_fmul(OP_code(o)))
#define OP_fmisc(o)   (TOP_is_fmisc(OP_code(o)))
#define OP_fsub(o)   (TOP_is_fsub(OP_code(o)))
#define OP_iadd(o)   (TOP_is_iadd(OP_code(o)))
#define OP_ior(o)   (TOP_is_ior(OP_code(o)))
#define OP_ixor(o)   (TOP_is_ixor(OP_code(o)))
#define OP_iand(o)   (TOP_is_iand(OP_code(o)))
#define OP_icmp(o)   (TOP_is_icmp(OP_code(o)))
#define OP_idiv(o)   (TOP_is_idiv(OP_code(o)))
#define OP_imul(o)   (TOP_is_imul(OP_code(o)))
#define OP_isub(o)   (TOP_is_isub(OP_code(o)))
#define OP_madd(o)   (TOP_is_madd(OP_code(o)))
#define OP_sqrt(o)   (TOP_is_sqrt(OP_code(o)))
#define OP_mmmul(o)   (TOP_is_mmmul(OP_code(o)))
#define OP_mmshf(o)   (TOP_is_mmshf(OP_code(o)))
#define OP_mmalu(o)   (TOP_is_mmalu(OP_code(o)))
#define OP_select(o)   (TOP_is_select(OP_code(o)))
#define OP_cond_move(o)   (TOP_is_cond_move(OP_code(o)))
#define OP_uniq_res(o)   (TOP_is_uniq_res(OP_code(o)))
#define OP_unalign_ld(o)   (TOP_is_unalign_ld(OP_code(o)))
#define OP_unalign_store(o)   (TOP_is_unalign_store(OP_code(o)))
#define OP_unalign_mem(o)   (OP_unalign_ld(o) | OP_unalign_store(o))
#define OP_defs_fcc(o)   (TOP_is_defs_fcc(OP_code(o)))
#define OP_defs_fcr(o)   (TOP_is_defs_fcr(OP_code(o)))
#define OP_defs_fpu_int(o)   (TOP_is_defs_fpu_int(OP_code(o)))
#define OP_defs_fp(o)   (TOP_is_defs_fp(OP_code(o)))
#define OP_refs_fcr(o)   (TOP_is_refs_fcr(OP_code(o)))
#define OP_unsafe(o)   (TOP_is_unsafe(OP_code(o)))
#define OP_jump(o)   (TOP_is_jump(OP_code(o)))
#define OP_ijump(o)   (TOP_is_ijump(OP_code(o)))
#define OP_f_group(o)   (TOP_is_f_group(OP_code(o)))
#define OP_l_group(o)   (TOP_is_l_group(OP_code(o)))
#define OP_privileged(o)   (TOP_is_privileged(OP_code(o)))
#define OP_simulated(o)   (TOP_is_simulated(OP_code(o)))
#define OP_has_predicate(o)   (TOP_is_predicated(OP_code(o)))
#define OP_access_reg_bank(o)   (TOP_is_access_reg_bank(OP_code(o)))
#define OP_side_effects(o)   (TOP_is_side_effects(OP_code(o)))
#define OP_branch_predict(o)   (TOP_is_branch_predict(OP_code(o)))
#define OP_var_opnds(o)   (TOP_is_var_opnds(OP_code(o)))
#define OP_uncond(o)   (OP_xfer(o) && !OP_cond(o))
#define OP_operand_info(o)   (ISA_OPERAND_Info(OP_code(o)))
#define OP_has_hazard(o)   (ISA_HAZARD_TOP_Has_Hazard(OP_code(o)))
#define OP_immediate_opnd(o)   (TOP_Immediate_Operand(OP_code(o),NULL))
#define OP_has_immediate(o)   (OP_immediate_opnd(o) >= 0)
#define OP_inst_words(o)   (ISA_PACK_Inst_Words(OP_code(o)))
#define OP_find_opnd_use(o, u)   (TOP_Find_Operand_Use(OP_code(o),(u)))
#define OP_has_result(o)   (OP_results(o) != 0)
#define OP_br(o)   (OP_xfer(o) && !OP_call(o))
#define TOP_fixed_results(o)   (ISA_OPERAND_INFO_Results(ISA_OPERAND_Info(o)))
#define TOP_fixed_opnds(o)   (ISA_OPERAND_INFO_Operands(ISA_OPERAND_Info(o)))
#define OP_fixed_results(o)   (TOP_fixed_results(OP_code(o)))
#define OP_fixed_opnds(o)   (TOP_fixed_opnds(OP_code(o)))
#define OPS_first(ops)   ((ops)->first+0)
#define OPS_last(ops)   ((ops)->last+0)
#define OPS_length(ops)   ((ops)->length+0)
#define OPS_EMPTY   { NULL, NULL, 0 }
#define FOR_ALL_BB_OPs_FWD(bb, op)   for (op = BB_first_op(bb); op != NULL; op = OP_next(op))
#define FOR_ALL_BB_OPs_REV(bb, op)   for (op = BB_last_op(bb); op != NULL; op = OP_prev(op))
#define FOR_ALL_BB_OPs   FOR_ALL_BB_OPs_FWD
#define FOR_ALL_OPS_OPs_FWD(ops, op)
#define FOR_ALL_OPS_OPs_REV(ops, op)
#define FOR_ALL_OPS_OPs   FOR_ALL_OPS_OPs_FWD

Typedefs

typedef struct op OP
typedef struct ops OPS

Enumerations

enum  OP_COND_DEF_KIND {
  OP_UNKNOWN_DEF = 0, OP_ALWAYS_UNC_DEF = 0x800, OP_ALWAYS_COND_DEF = 0x1000, OP_PREDICATED_DEF = 0x1800,
  OP_MASK_COND_DEF = 0x1800
}

Functions/Subroutines

BOOL OP_cond_def (const OP *)
BOOL OP_has_implicit_interactions (OP *)
INT OP_result_size (OP *op, INT result)
INT OP_opnd_size (OP *op, INT opnd)
BOOL OP_result_is_reg (OP *op, INT result)
BOOL OP_opnd_is_reg (OP *op, INT opnd)
BOOL OP_opnd_is_literal (OP *op, INT opnd)
BOOL OP_opnd_is_enum (OP *op, INT opnd)
BOOL OP_result_is_signed (OP *op, INT result)
BOOL OP_opnd_is_signed (OP *op, INT opnd)
BOOL OP_result_is_fpu_int (OP *op, INT result)
BOOL OP_opnd_is_fpu_int (OP *op, INT opnd)
BOOL OP_opnd_is_pcrel (OP *op, INT opnd)
ISA_LIT_CLASS OP_opnd_lit_class (OP *op, INT opnd)
ISA_REGISTER_CLASS OP_opnd_reg_class (OP *op, INT opnd)
ISA_REGISTER_CLASS OP_result_reg_class (OP *op, INT opnd)
ISA_REGISTER_SUBCLASS OP_opnd_reg_subclass (OP *op, INT opnd)
ISA_REGISTER_SUBCLASS OP_result_reg_subclass (OP *op, INT opnd)
ISA_OPERAND_USE OP_opnd_use (OP *op, INT opnd)
OPSOPS_Create (void)
void OPS_Remove_All (OPS *ops)
OPSOPS_Init (OPS *ops)
void OPS_Remove_Op (OPS *ops, OP *op)
void OPS_Remove_Ops (OPS *ops, OPS *remove_ops)
void OPS_Insert_Op_Before (OPS *ops, OP *point, OP *op)
void OPS_Insert_Op_After (OPS *ops, OP *point, OP *op)
void OPS_Append_Op (OPS *ops, OP *op)
void OPS_Prepend_Op (OPS *ops, OP *op)
void OPS_Insert_Ops_Before (OPS *ops, OP *point, OPS *insert_ops)
void OPS_Insert_Ops_After (OPS *ops, OP *point, OPS *insert_ops)
void OPS_Append_Ops (OPS *ops, OPS *insert_ops)
void OPS_Prepend_Ops (OPS *ops, OPS *insert_ops)
void OPS_Insert_Op (OPS *ops, OP *point, OP *op, BOOL before)
void OPS_Insert_Ops (OPS *ops, OP *point, OPS *insert_ops, BOOL before)
OPDup_OP (OP *op)
void Free_OP_List (OP *op)
OPMk_OP (TOP opr,...)
OPMk_VarOP (TOP opr, INT results, INT opnds, struct tn **res_tn, struct tn **opnd_tn)
void Build_OP (TOP opc, OPS *ops)
void Build_OP (TOP opc, struct tn *t1, OPS *ops)
void Build_OP (TOP opc, struct tn *t1, struct tn *t2, OPS *ops)
void Build_OP (TOP opc, struct tn *t1, struct tn *t2, struct tn *t3, OPS *ops)
void Build_OP (TOP opc, struct tn *t1, struct tn *t2, struct tn *t3, struct tn *t4, OPS *ops)
void Build_OP (TOP opc, struct tn *t1, struct tn *t2, struct tn *t3, struct tn *t4, struct tn *t5, OPS *ops)
void Build_OP (TOP opc, struct tn *t1, struct tn *t2, struct tn *t3, struct tn *t4, struct tn *t5, struct tn *t6, OPS *ops)
void Build_OP (TOP opc, struct tn *t1, struct tn *t2, struct tn *t3, struct tn *t4, struct tn *t5, struct tn *t6, struct tn *t7, OPS *ops)
void Build_OP (TOP opc, struct tn *t1, struct tn *t2, struct tn *t3, struct tn *t4, struct tn *t5, struct tn *t6, struct tn *t7, struct tn *t8, OPS *ops)
void Build_OP (TOP opc, struct tn *t1, struct tn *t2, struct tn *t3, struct tn *t4, struct tn *t5, struct tn *t6, struct tn *t7, struct tn *t8, struct tn *t9, OPS *ops)
BOOL OP_Defs_TN (const OP *op, const struct tn *res)
BOOL OP_Refs_TN (const OP *op, const struct tn *opnd)
BOOL OP_Defs_Reg (const OP *op, ISA_REGISTER_CLASS rclass, REGISTER reg)
BOOL OP_Refs_Reg (const OP *op, ISA_REGISTER_CLASS rclass, REGISTER reg)
void OP_Change_Opcode (OP *op, TOP opc)
void OP_Change_To_Noop (OP *op)
BOOL OP_Precedes (OP *op1, OP *op2)
BOOL OP_Follows (OP *op1, OP *op2)
INT64 OP_Ordering (OP *op1, OP *op2)
INT32 OP_Order (OP *op1, OP *op2)
INT16 OP_Real_Ops (const OP *op)
INT OP_Real_Inst_Words (const OP *op)
void Print_OP (const OP *op)
void Print_OPs (const OP *op)
void Print_OPS (const OPS *ops)
void Print_OP_No_SrcLine (const OP *op)
void Print_OPs_No_SrcLines (const OP *op)
void Print_OPS_No_SrcLines (const OPS *ops)
BOOL OP_Is_Float_Mem (const OP *op)
BOOL OP_Alloca_Barrier (OP *op)
BOOL Is_Delay_Slot_Op (OP *xfer_op, OP *op)
void OP_Base_Offset_TNs (OP *memop, struct tn **base_tn, struct tn **offset_tn)
BOOL TN_Pair_In_OP (OP *op, struct tn *tn_res, struct tn *tn_opnd)
INT TN_Resnum_In_OP (OP *op, struct tn *tn)
INT TN_Opernum_In_OP (OP *op, struct tn *tn)
BOOL OP_Is_Copy_To_Save_TN (const OP *)
BOOL OP_Is_Copy_From_Save_TN (const OP *)


Define Documentation

#define FOR_ALL_BB_OPs   FOR_ALL_BB_OPs_FWD

Definition at line 1301 of file op.h.

Referenced by SCHED_BB_ANNOT::_init_ops_annot(), Add_BRANCH_Arcs(), Add_Forw_REG_Arcs(), Add_MEM_Arcs(), Add_MISC_Arcs(), Add_Predicate_Valid_BB(), FAVOR_DELAY_HEUR::Adjust_Etime_For_Target_Block(), adjust_reganti_latency(), SCHEDULER::Adjust_Status_For_Resched(), AND_Predicate_To_OP(), Assign_Virtual_Registers(), BB_has_goto_bb(), BB_Has_Store(), BB_Verify_Chk_Split(), BB_Verify_Reg_Alloc(), BB_Verify_Sched(), CG_LOOP::Build_CG_LOOP_Info(), DAG_BUILDER::Build_DAG(), Cache_L2_Analysis(), Cache_Location_Analysis(), LOOP_INVAR_CODE_MOTION::Calc_Defs_Within_Loop_Body(), Calculate_BB_Cycle(), CG_DEP_Add_Same_Res_Arcs(), CG_DEP_Prune_Dependence_Arcs(), CG_DEP_Remove_Same_Res_Arcs(), CG_DEP_Trace_Graph(), CG_LOOP_Clear_SCCs(), CG_LOOP_DEF::CG_LOOP_DEF(), CG_SCHED_EST_Create(), CGSPILL_Force_Rematerialization_For_BB(), CGTARG_Add_Implict_Operands(), CGTARG_live_out_of(), Check_HB_For_PQS_Suitability(), Clone_Mappings(), LOOP_INVAR_CODE_MOTION::Collect_Ld_St_Call(), GRA_PARA_REGION::Collect_Reg_Used_And_Def_For_BBs(), LOOP_INVAR_CODE_MOTION::Collect_TN_Def_Use_Info(), Compute_BB_Graph(), FAVOR_DELAY_HEUR::Compute_FanOut_For_All_OP(), KEY_SCH::Compute_Kmin(), Compute_Region_Graph(), KEY_SCH::Construct_addr_vector(), Convert_While_Loop_to_Fully_Predicated_Form(), Create_Chance_For_MLBR(), Create_GRA_BB_Call_Spill_Block(), Create_Sched_Est(), Create_Unique_Defs_For_TNs(), Create_Vector_Load_Stores(), Critical_Path_Len(), DB_Rename_Cond_TN_OPs(), DB_Trace_BB(), Def_Before_Use(), _tagRGN_CFG_PATH_INFO::Derive_RGN_CFG_PATH_INFO_from_BB_Node(), Detect_SWP_Constraints(), CG_LOOP::Determine_SWP_Unroll_Factor(), SCHED_BB_ANNOT::Dump(), FAVOR_DELAY_HEUR::Dump_OP_Heur_Info(), KEY_SCH::Emit_Src_DDG(), EMT_Emit_PU(), Estimate_BB_Length(), Expand_Simulated_Ops(), SCHEDULER::Find_All_Candidates(), Find_BB_TNs(), Find_Global_TNs(), Fix_MM_Latency(), Fix_Recurrences_After_Unrolling(), Fix_Recurrences_Before_Unrolling(), GCM_For_Loop(), KEY_SCH::Gen_Kernel_Info(), KEY_SCH::Gen_PKE(), Generate_Entry(), dp::get_op(), GRA_LIVE_Compute_Local_Info(), Hoist_MOVL(), SCHEDULER::Identify_Actual_Argument_Defs(), SCHEDULER::Identify_Cannot_Spec_OPs(), LOOP_INVAR_CODE_MOTION::Identify_Loop_Invariants(), Induction_Variables_Removal(), KEY_SCH::Init(), BB_VIGILANT_PNT_MGR::Init(), LI_OP_INFO_MGR::Init_OP_Level(), Init_OP_no_ci_alias(), Insert_Predicates(), Interleave_Base_Update(), is_live_tn(), Is_Pointer(), KEY_SCH::KEY_SCH(), LI_OP_INFO_MGR::LI_OP_INFO_MGR(), Localize_or_Replace_Dedicated_TNs(), Look_For_16bit_Ops(), PARTITION_GRAPH::Look_For_Partition(), KEY_SCH::Loop_Peeling(), make_prefetch_arcs(), Merge_Blocks(), Modify_16bit_Ops(), Modify_24bit_Muls(), Num_defs(), OP_VECTOR::OP_VECTOR(), Optimize_Copy_Usage(), KEY_SCH::Peeling_For_Known_Trip(), KEY_SCH::Peeling_For_Unknown_Trip(), Preallocate_Single_Register_Subclasses(), Prune_Regout_Deps(), CG_LOOP::Recompute_Liveness(), RECUR_OP_DESC::RECUR_OP_DESC(), LOOP_RCE::Redundant_Copy_Elimination(), REGION_Get_TN_In_List(), REGION_Get_TN_Out_List(), KEY_SCH::register_allocation_init(), Rematerialize_GRF(), Remove_Invariant_Predicates(), KEY_SCH::rename_invariants(), KEY_SCH::Reorder_Kernel(), FAVOR_DELAY_HEUR::Reset_BB_OPs_etime(), Scan_Region_BB_For_Referenced_TNs(), KEY_SCH::Schedule_Kernel(), DAG_BUILDER::Set_TN_BB_Bitset_Table(), Shorten_Critical_Recurrence_By_Reassociation(), Sink_Return_Val_OP(), SL1_patch(), SWP_Emit(), SWP_Fixup(), SWP_Fixup_Rotating_Registers(), SWP_OP_vector::SWP_OP_vector(), FAVOR_DELAY_HEUR::tagBB_HEUR_STUFF::tagBB_HEUR_STUFF(), TN_Reaching_Value_At_Op(), KEY_SCH::tn_renaming(), Unc_Promotion(), Unpropagate_Unusable_16bit_Info(), Unroll_Dowhile_Loop(), Unroll_Make_Remainder_Loop(), unroll_multi_bb(), unroll_names_init(), unroll_remove_notations(), Unroll_Replicate_Body(), BB_REGION::Verify(), CG_LOOP::Verify(), SCHEDULER::Verify(), and Verify_PRDB().

#define FOR_ALL_BB_OPs_FWD ( bb,
op   )     for (op = BB_first_op(bb); op != NULL; op = OP_next(op))

Definition at line 1295 of file op.h.

Referenced by Adjust_LC_Entry(), Adjust_LC_Exit(), Append_Succ(), Assemble_Ops(), BB_Loop_Srcpos(), KEY_SCH::Build_OPR(), KEY_SCH::Build_Ready_Vector(), Priority_Selector::Build_Ready_Vector(), Can_Be_Tail_Call(), CGGRP_Init(), CGTARG_LOOP_Optimize(), Check_BB_For_HB_Suitability(), Check_QuadWord_Boundary_Absolute(), CG_THR::Check_THR_Profitability(), CIO_RWTRAN::CICSE_Transform(), CIO_RWTRAN::CIO_Copy_Remove(), IF_CONVERTOR::Compute_Critical_Path_Len(), Compute_DFO(), Compute_Fwd_OPSCH(), Compute_Livethrough_Set(), IF_CONVERTOR::Compute_Min_Cycle(), Consistency_Check(), Copy_BB_For_Tail_Duplication(), Defs_Can_Be_Merged(), Detect_GTNs(), Detect_Multiply_Defined_GTNs(), IF_CONVERTOR::Detect_Para_Comp(), EETARG_Fixup_Entry_Code(), Find_Def_Of_TN(), Find_Unwind_Info(), First_Inst_Of_BB(), Get_BB_When_Length(), GRA_LIVE_Detect_GTNs_In_Set(), Guarantee_Paired_instr16(), Handle_All_Hazards(), IGLS_Schedule_Region(), KEY_SCH::Init(), Init_Avail_Set(), Init_Insts_Vector(), Init_Load_Exec_Map(), Init_OPSCH_For_BB(), HB_Schedule::Init_Register_Map(), HB_Schedule::Init_RFlag_Table(), Init_Split_PU_Entry_Or_Exit_BB(), Insert_Spills_Of_Globals(), Insert_Stop_Bits(), Live_Init(), Localize_Global_Param_Reg(), Localize_Global_Return_Reg_Def(), Localize_TNs_For_BB(), Normalize_Delay_Slots(), PQSCG_init(), Print_BB_For_HB(), Print_BB_For_LRA(), Print_BB_Header(), Propagate_16bit_Info(), Rename_TNs_For_BB(), Replace_Size16_Instr(), CIO_RWTRAN::Replace_Tn(), CIO_RWTRAN::Sort_Ops(), Split_BB(), IF_CONVERTOR::Suitable_For_If_Conv(), and Update_GRA_Live_Sets().

#define FOR_ALL_BB_OPs_REV ( bb,
op   )     for (op = BB_last_op(bb); op != NULL; op = OP_prev(op))

#define FOR_ALL_OPS_OPs   FOR_ALL_OPS_OPs_FWD

#define FOR_ALL_OPS_OPs_FWD ( ops,
op   ) 

#define FOR_ALL_OPS_OPs_REV ( ops,
op   ) 

Value:

for (op = OPS_last(ops); op && op != OP_prev(OPS_first(ops)); \
   op = OP_prev(op))

Definition at line 1307 of file op.h.

Referenced by CGTARG_TN_For_Asm_Operand(), and Handle_INTRINSIC_CALL().

#define OP_access_reg_bank ( o   )     (TOP_is_access_reg_bank(OP_code(o)))

#define OP_bb ( o   )     ((o)->bb+0)

Definition at line 415 of file op.h.

Referenced by _CG_DEP_op_info(), SCHED_BB_ANNOT::_set_op_annot(), Add_MEM_Arcs(), HB_Schedule::Add_OP_To_Sched_Vector(), add_to_hash_table(), DATA_SPEC_RES_CONSTRAIT_MGR::Add_Vigilant_Point(), addr_base_offset(), FAVOR_DELAY_HEUR::Adjust_Heur_After_Cand_Sched(), FAVOR_DELAY_HEUR::Adjust_Heur_After_Sched_One_Cyc(), Adjust_Qualifying_Predicate(), Adjust_Recovery_Block(), LOOP_INVAR_CODE_MOTION::All_Reaching_Def_are_Outside_Of_Loop(), AND_Predicate_To_OP(), Append_Succ(), Assemble_Bundles(), FAVOR_DELAY_HEUR::Attach_OP_Heur_Info(), BB_Insert_Noops(), BB_Move_Op(), BB_Move_Op_After(), BB_Move_Op_Before(), SCHEDULER::BB_Move_Op_Before(), BB_Move_Op_To_End(), BB_Move_Op_To_Start(), BB_OP_MAP32_Get(), BB_OP_MAP32_Set(), BB_OP_MAP64_Get(), BB_OP_MAP64_Set(), BB_OP_MAP_Extend_Map(), BB_OP_MAP_Get(), BB_OP_MAP_Set(), BB_Sink_Op_Before(), DAG_BUILDER::Build_DAG(), Build_Incoming_Edges(), Build_Outgoing_Edges(), Cache_Has_Conflict(), Cache_L2_Analysis(), CANDIDATE::Calc_Useful_Exec_Prob(), SCHEDULER::Can_Cntl_Spec_If_Converted_Code(), CG_DEP_Add_Op_Same_Res_Arcs(), CG_DEP_Can_OP_Move_Across_Call(), CG_DEP_Mem_Ops_Alias(), CG_DEP_Remove_Op_Same_Res_Arcs(), CG_DEP_Trace_Arc(), CGPREP_Copy_TN(), CGTARG_Analyze_Branch(), CGTARG_Analyze_Compare(), CGTARG_Dependence_Required(), CGTARG_Handle_Bundle_Hazard(), CGTARG_Mem_AR_Dep(), CGTARG_Perform_THR_Code_Generation(), SCHED_SPEC_HANDSHAKE::Change_Load_Spec_Form(), Check_For_Bundle_Hazards(), Check_QuadWord_Boundary_Absolute(), DATA_SPEC_RES_CONSTRAIT_MGR::Check_Res_Constraint_Helper(), FAVOR_DELAY_HEUR::Choose_Better_Of_Tie(), LOOP_INVAR_CODE_MOTION::Code_Motion_Is_Profitable(), SCHEDULER::Collect_And_Analyse_Other_Than_Dep_Constraints(), SCHEDULER::Collect_And_Analyse_Unresolved_Dep(), PARTITION_GRAPH::Collect_Info(), combine_adjacent_loads(), Combine_L1_L2_Prefetches(), SCHEDULER::Commit_Schedule(), compare_bit(), Compose_Addr(), IF_CONVERTOR::Compute_Critical_Path_Len(), FAVOR_DELAY_HEUR::Compute_Delay(), Compute_DFO(), FAVOR_DELAY_HEUR::Compute_Heur_Data_For_Inserted_OP(), condition_optimization(), condition_redundant(), Constant_Operand0(), Constant_Operand1(), Convert_If_To_Goto(), Convert_Imm_Add(), Convert_Imm_And(), Convert_Imm_Cmp(), Convert_Imm_Mul(), Convert_Imm_Or(), Convert_Imm_Xor(), Convert_Regs(), copy_rf_sequence(), copy_simplification(), PARTITION_GRAPH::Copy_To(), Create_OP_stinfo(), LOOP_INVAR_CODE_MOTION::Def_Dominate_All_Use(), Delay_Scheduling_OP(), delete_duplicate_op(), delete_memory_op(), delete_op_info(), delete_reload_across_dependency(), delete_subset_mem_op(), Delete_Unwanted_Prefetches(), Derive_Spec_Type_If_Violate_Dep(), FAVOR_DELAY_HEUR::Detach_OP_Heur_Info(), SCHEDULER::Determine_Non_P_Ready_Bookeeping_Places(), Divide_BB(), Do_Build_Recovery_Block(), CYCLE_STATE::Do_Bundling(), SCHED_OP_ANNOT::Dump(), EBO_Can_Merge_Into_Offset(), EBO_Fix_Same_Res_Op(), EBO_Fold_Load_Duplicate(), EBO_Lea_Insertion(), EBO_Load_Execution(), EBO_Merge_Memory_Addr(), EBO_Remove_Unused_Ops(), KEY_SCH::Emit_Src_DDG(), Emit_Vector(), CAND_LIST::Erase_Cand(), FAVOR_DELAY_HEUR::Estimate_Cand_Etime(), FAVOR_DELAY_HEUR::Exclude_Unqualifed_Cand_Under_Etime_Constraint(), Exp_Simulated_Op(), Expand_Fxch(), fadd_fmult(), Fill_From_Successor(), Find_BB_TNs(), Find_Def_Of_TN(), find_duplicate_op(), Find_Execution_Path(), find_previous_constant(), Find_Reaching_Def(), Find_Reaching_Def_Use_Set(), Fix_Cache_Conflict_latency(), fneg_sequence(), Fold_Constant_Expression(), SCHEDULER::Gen_Bookeeping_OP_DAG(), LI_OP_INFO_MGR::Get(), DAG_BUILDER::Get_Def_Use_OPs(), Get_Latency_To(), get_mem_dep(), SCHED_ANNOT::Get_OP_Annot(), FAVOR_DELAY_HEUR::Get_OP_Heur_Info(), SCHEDULER::Get_OP_Prohibited_Spec_Type(), Get_OP_stinfo(), DAG_BUILDER::Get_Table_Index(), DATA_SPEC_RES_CONSTRAIT_MGR::Get_Vigilant_Point(), Handle_Chk_Split_Bunch(), hoist_predicate_of_duplicate_complement(), iadd_special_case(), LOOP_INVAR_CODE_MOTION::Illegal_Or_Nonprofitable(), SCHEDULER::Insert_Check(), Insert_CHK(), is_live_tn(), List_Based_Fwd::Is_OP_Better(), Is_OP_Cond(), IF_CONVERTOR::Is_Partial_Redundant_Def(), Is_Pointer(), is_xfer_depndnce_reqd(), Label_Offset(), Local_Insert_CHK(), PARTITION_GRAPH::Look_Partition_For_And_Type(), PARTITION_GRAPH::Look_Partition_For_Or_Type(), SCHEDULER::Maintain_Dep_Arcs_After_Renaming(), SCHEDULER::Maintain_Dep_Arcs_After_Sched(), maintain_prebr_arc(), IF_CONVERTOR::Merge_Area(), merge_memory_offsets(), move_ext_is_replaced(), PARTITION_GRAPH::Move_To(), LOOP_RCE::Move_To_Epilog(), LOOP_RCE::Move_To_Prolog(), Multi_Branch_Valid_OP(), Negate_Branch(), new_arc_with_latency(), SCHEDULER::OP_Cannot_be_Candidate_Since_Obvious_Reason(), OP_far_next(), OP_has_disjoint_predicate(), OP_has_subset_predicate(), op_is_needed_globally(), OP_opsch(), OP_refs_x87(), compare_op::operator()(), LOOP_INVAR_CODE_MOTION::Perform_Code_Motion(), Pop_Stack(), Post_Multi_Branch(), Pred_Opnd_Avail(), Process_Group_Register_Reference(), LOOP_INVAR_CODE_MOTION::Register_Para_Passing(), Rematerialize_GRF(), DATA_SPEC_RES_CONSTRAIT_MGR::Remove_Vigilant_Point(), Rename_TN_In_Range(), SCHEDULER::Renaming(), FAVOR_DELAY_HEUR::Renaming_Is_Profitable(), CYCLE_STATE::Reorder_Branch_OP(), Repl_Size16_Instr::Replace_CurOP(), report_bad_mem_dep(), Resolve_Conditional_Branch(), RGN_Divide_BB(), Safe_To_Rematerialize_Load_In_BB(), SCHED_OP_ANNOT::SCHED_OP_ANNOT(), SCHEDULER::Schedule_BB(), SCHEDULER::Schedule_Cycle(), FAVOR_DELAY_HEUR::Select_Best_Candidate(), LI_OP_INFO_MGR::Set(), DAG_BUILDER::Set_Def_Use_OPs(), Set_Latency_To(), FAVOR_DELAY_HEUR::tagBB_HEUR_STUFF::Set_OP_Heur_Info(), shl_add_sequence(), Sink_Return_Val_OP(), Special_Sequence(), Special_Store_Load_Sequence(), store_sequence(), SCHEDULER::Succ_Pred_Transposed_If_Sched(), IF_CONVERTOR::Suitable_For_If_Conv(), SWP_Append_Noop(), SWP_Pack_Into_New_Bundles(), SWP_Slot_Helper(), sxt_sequence(), test_is_replaced(), TN_Reaching_Value_At_Op(), SCHEDULER::Try_Add_OP_to_Candidate_List(), LOOP_INVAR_CODE_MOTION::Unique_Reaching_Def_Inside_Loop(), SCHEDULER::Update_Cand_Lst_After_Cycle_Advancing(), SCHEDULER::Update_Cand_Lst_During_Sched_Cyc(), Update_CFG(), DATA_SPEC_RES_CONSTRAIT_MGR::Update_Pending_Adv_Ld_Info(), DATA_SPEC_RES_CONSTRAIT_MGR::Update_Vp_For_Compensation_Code(), SCHED_DFLOW_MGR::Upward_Sched_Kill_Def_LiveOut_Of_Bookeeping_Place(), SCHED_DFLOW_MGR::Upward_Sched_Kill_Def_LiveOut_Of_Target_BB(), SCHED_DFLOW_MGR::Upward_Sched_Kill_LiveOut_Defs(), FAVOR_DELAY_HEUR::Upward_Spec_Global_Sched_Is_Profitable(), use_crosses_def(), Vector_Is_Possible(), BB_REGION::Verify(), SCHEDULER::Verify(), and Verify_Operand().

#define OP_br ( o   )     (OP_xfer(o) && !OP_call(o))

#define OP_branch_predict ( o   )     (TOP_is_branch_predict(OP_code(o)))

Definition at line 736 of file op.h.

Referenced by Fixup_Long_Branches(), List_Based_Fwd::Is_OP_Better(), and OP_Has_Restrictions().

#define OP_bundled ( o   )     (OP_flags(o) & OP_MASK_BUNDLED)

#define OP_call ( o   )     (TOP_is_call(OP_code(o)))

#define OP_code ( o   )     ((TOP)(o)->opr)

Definition at line 421 of file op.h.

Referenced by Add_Float_Stores(), Add_Forw_REG_Arcs(), Add_MEM_Arcs(), CYCLE_STATE::Add_OP(), Add_Predicate_Valid_OP(), addr_base_offset(), Adjust_Alloca_Code(), Adjust_Entry(), Adjust_Exit(), KEY_SCH::Adjust_ofst(), Adjust_Opnd_Name(), alu_op_defines_rflags_used(), Analyze_OP_For_Unwind_Info(), Analyze_Spilling_Live_Range(), Append_Op_To_BB(), Apply_Back_Sub_Invariant(), Apply_Back_Sub_Variant(), Assemble_Bundles(), Assemble_Simulated_OP(), Assign_Registers_For_OP(), BB_Check_Bundle_Integrity(), BB_has_goto_bb(), REGION_STRIDE_PREFETCH::BB_Ld_Count(), CYCLE_STATE::Best_Issue_Order(), Best_Issue_Port(), Branch_Target_Operand(), Build_Fde_For_Proc(), KEY_SCH::Build_OPR(), Bundle_Helper(), Calculate_Min_Resource_II(), Can_Mem_Op_Be_Moved(), Can_OP_Move(), EDGE_PROFILE::CG_Annotate_Node(), CG_DEP_Address_Analyze(), CG_DEP_Latency(), CG_DEP_Mem_Ops_Alias(), EDGE_PROFILE::CG_Instrument(), EDGE_PROFILE::CG_Instrument_Node(), CG_LOOP_DEF::CG_LOOP_DEF(), CG_SCHED_EST_Create(), CG_SCHED_EST_Ignore_Op(), CGEMIT_Call(), CGEMIT_Print_Inst(), CGGRP_Check_Split_BB(), CGGRP_Init(), CGGRP_Issue_OP(), CGSPILL_Append_Ops(), CGSPILL_OP_Spill_Location(), CGTARG_Add_Implict_Operands(), CGTARG_Adjust_Latency(), CGTARG_adjust_latency(), CGTARG_Analyze_Branch(), CGTARG_Analyze_Compare(), CGTARG_Bundle_Slot_Available(), CGTARG_Can_Be_Speculative(), CGTARG_Check_OP_For_HB_Suitability(), CGTARG_Copy_Operand(), CGTARG_Dependence_Required(), CGTARG_Generate_Countdown_Loop(), CGTARG_Handle_Bundle_Hazard(), CGTARG_Init_OP_cond_def_kind(), CGTARG_Invert_Branch(), CGTARG_Is_OP_Addr_Incr(), CGTARG_Is_OP_Barrier(), CGTARG_Is_OP_daddu(), CGTARG_Is_OP_Intrinsic(), CGTARG_Is_Preference_Copy(), CGTARG_Is_Right_Shift_Op(), CGTARG_Is_Thread_Local_Memory_OP(), CGTARG_Load_with_UNAT(), CGTARG_LOOP_Optimize(), CGTARG_Mem_Ref_Bytes(), CGTARG_OP_is_counted_loop(), CGTARG_Operand_Live_Range(), CGTARG_Parallel_Compare(), CGTARG_Perform_THR_Code_Generation(), CGTARG_Result_Live_Range(), CGTARG_Simulated_Top(), CGTARG_Store_With_UNAT(), CGTARG_Unconditional_Compare(), Check_Br16(), Check_For_Bundle_Hazards(), Check_For_Other_Hazards(), Check_loadbw_execute(), Check_QuadWord_Boundary_Absolute(), HB_Schedule::Check_Resource_Usage(), Check_Undefined_Results(), Choose_Vector_Opcode(), CIO_RWTRAN::CICSE_Transform(), cmovable_op(), LOOP_INVAR_CODE_MOTION::Code_Motion_Is_Profitable(), PARTITION_GRAPH::Collect_Info(), combine_adjacent_loads(), Combine_L1_L2_Prefetches(), compare_bit(), Compose_Addr(), Compose_Mem_Op(), IF_CONVERTOR::Compute_Critical_Path_Len(), FAVOR_DELAY_HEUR::Compute_Delay(), MRT::Compute_Issue_Time(), IF_CONVERTOR::Compute_Min_Cycle(), condition_optimization(), condition_redundant(), Constant_Operand0(), Constant_Operand1(), KEY_SCH::Construct_addr_vector(), Convert_Imm_Add(), Convert_OP_to_base_update_form(), Convert_Regs(), Convert_While_Loop_to_Fully_Predicated_Form(), GROUP_ASSEMBLE::ConvertSimulatedOP(), Copy_Asm_OP_Annot(), copy_rf_sequence(), copy_simplification(), PARTITION_GRAPH::Copy_To(), GBB_MGR::Create(), decode_and(), Defs_Can_Be_Merged(), Delay_Scheduling_OP(), PARTITION_GRAPH::Delete(), delete_duplicate_op(), delete_memory_op(), delete_reload_across_dependency(), delete_subset_mem_op(), Delete_Unwanted_Prefetches(), Derive_Spec_Type_If_Violate_Dep(), Detect_SWP_Constraints(), CG_LOOP::Determine_Unroll_Factor(), draw_global_cfg(), SCHED_OP_ANNOT::Dump(), Dup_OP(), Eager_Ptr_Deref_Spec(), EBO_bit_length(), EBO_Can_Eliminate_Zero_Opnd_OP(), EBO_Can_Merge_Into_Offset(), EBO_Copy_Operand(), EBO_Fold_Load_Duplicate(), EBO_hash_op(), EBO_Identify_Base_and_Offset(), EBO_Lea_Insertion(), EBO_Load_Execution(), EBO_Merge_Memory_Addr(), EBO_Remove_Unused_Ops(), EETARG_Build_Jump_Instead_Of_Call(), EETARG_Fixup_Entry_Code(), KEY_SCH::Emit_Src_DDG(), EMT_Emit_PU(), Exp_Pred_Calc(), Exp_Simulated_Op(), Exp_True_False_Preds_For_Block(), Expand_Ordered_Select_Compare(), Expand_Simulated_Ops(), fadd_fmult(), Find_BB_Predicates(), Find_BB_TNs(), Find_Candicate_OP(), find_duplicate_mem_op(), find_duplicate_op(), find_index_and_offset(), Find_Pattern_OPS(), find_previous_constant(), Find_Spill_TN(), EDGE_PROFILE::Find_TN(), EDGE_PROFILE::Find_TN_in_BB(), Fix_LRA_Blues(), Fix_Recurrences_After_Unrolling(), Fix_Recurrences_Before_Unrolling(), Fixup_Long_Branches(), fneg_sequence(), Fold_Constant_Expression(), SCHEDULER::Gen_Compensation_Code(), KEY_SCH::Gen_Kernel_Info(), Gen_SWP_Branch(), Get_Copied_Save_TN(), MRT::Get_Dispatch_Unit(), get_mem_dep(), Priority_Selector::Get_Next_Element(), SCHEDULER::Get_OP_Prohibited_Spec_Type(), IF_CONVERTOR::Get_Para_Comp_Top(), Get_Source_Of_Restore(), Guarantee_Paired_instr16(), Handle_Chk_Split_Bunch(), Handle_INTRINSIC_CALL(), KEY_SCH::Handle_Ldst_Addiu(), Handle_Post_Hazard(), IF_CONVERTOR::Has_Para_Comp_Top(), Hoist_MOVL(), hoist_predicate_of_duplicate_complement(), iadd_special_case(), Identical_Return_Blocks(), Identify_and_delete_incr(), imm_sll(), imm_sra(), imm_srl(), Imm_Value_In_Range(), index_add(), KEY_SCH::Init(), Init_Chains(), Init_OP_no_ci_alias(), Insert_Predicates(), REGION_STRIDE_PREFETCH::Insert_Prefetch_List(), Insert_Spills_Of_Globals(), Insert_Stop_Bits(), Instruction_Length(), HB_Schedule::Invoke_Pre_HBS_Phase(), Is_Control_Speculation_Gratuitous(), DAG_BUILDER::Is_Control_Speculative(), Is_Delay_Slot_Op(), PARTITION_GRAPH::Is_Disjoint(), Is_Ldst_Addiu_Pair(), Is_Marked_For_Removal(), Priority_Selector::Is_OP_Better(), Is_OP_fp_op1(), Is_OP_Spill_Load(), Is_OP_Spill_Store(), Is_Para_Comp_May_Def(), Is_There_OP_Dependence(), Is_Violate_Issue_Rule(), CYCLE_STATE::Legality_Chk(), Load_Execute_Format(), Localize_or_Replace_Dedicated_TNs(), PARTITION_GRAPH::Look_For_Partition(), Loop_Countsdown_Xformed(), LRA_Allocate_Registers(), Make_Branch_Conditional(), Mark_Use(), Mem_stride_ge_access(), Memory_OP_Base_Opndnum(), Memory_OP_Offset_Opndnum(), IF_CONVERTOR::Merge_Area(), Merge_Blocks(), merge_memory_offsets(), Mk_OP(), Modify_16bit_Ops(), Modify_24bit_Muls(), move_ext_is_replaced(), Move_Spill_Loads_Stores(), MRT::MRT(), MSCHED_Real_OP(), Multi_Branch_Valid_OP(), Negate_Branch(), Negate_Logif_BB(), Null_Ptr_Deref_Spec(), OP_Alloca_Barrier(), OP_baneful(), OP_base_opnd_num(), OP_base_res_num(), OP_base_update_kind(), OP_can_change(), OP_cannot_remove(), OP_Change_Opcode(), OP_convertible_to_base_update(), OP_def_is_16bit(), CG_THR::OP_Has_Restrictions(), OP_Has_Restrictions(), OP_imm_opnd_num(), OP_Inst_Size(), OP_is_addition(), OP_is_copy(), OP_Is_Expensive(), OP_is_lea(), OP_is_multiplication(), OP_like_store(), OP_Offset_Within_Limit(), OP_opnd_is_enum(), OP_opnd_is_fpu_int(), OP_opnd_is_literal(), OP_opnd_is_pcrel(), OP_opnd_is_reg(), OP_opnd_is_signed(), OP_opnd_lit_class(), OP_opnd_reg_class(), OP_opnd_reg_subclass(), OP_opnd_size(), OP_opnd_use(), OP_refs_x87(), OP_Replace_With_Noop(), OP_restore_predicates(), OP_result_is_fpu_int(), OP_result_is_reg(), OP_result_is_signed(), OP_result_reg_class(), OP_result_reg_subclass(), OP_result_size(), OP_same_res(), OP_save_predicates(), OP_use_is_16bit(), SLOT_ORDER_CMP::operator()(), OPs_can_be_reassociated(), Other_opnd(), Post_Multi_Branch(), PQS_classify_instruction(), Preallocate_Single_Register_Subclasses(), Predicate_Block(), SWP_OP::Print(), Print_OP_No_SrcLine(), MRT::Probe_Resources(), Process_Group_Register_Reference(), Propagate_16bit_Info(), r_apply_l_const(), r_assemble_binary(), r_assemble_list(), r_assemble_op(), CIO_RWTRAN::Read_CICSE_Candidate_Op(), Readers_Reach(), Reassociate(), Reback_Size32_Instr(), RECUR_OP_DESC::RECUR_OP_DESC(), Redundancy_Elimination(), Redundant_Logif(), REGION_Entry_PREG_Whirl(), REGION_Exit_PREG_Whirl(), REGION_Get_TN_In_List(), REGION_Get_TN_Out_List(), REGISTER_CLASS_OP_Update_Mapping(), Repl_Size16_Instr::Replace_ABS(), Repl_Size16_Instr::Replace_ADDI(), Repl_Size16_Instr::Replace_BR(), Repl_Size16_Instr::Replace_CurOP(), Repl_Size16_Instr::Replace_Direct_OP(), Repl_Size16_Instr::Replace_LdSt_OP(), Repl_Size16_Instr::Replace_LDU(), Repl_Size16_Instr::Replace_NOP(), Repl_Size16_Instr::Replace_ResEqOper_OP(), Repl_Size16_Instr::Replace_Restricted_Imm_OP(), MRT::Reserve_Op_Resources(), MRT::Reserve_Resources(), Resolve_Conditional_Branch(), Resource_Cycles_For_OP(), MRT::Resources_Available(), MRT::Resources_Equivalent(), MRT::Resources_Grainy(), MRT::Resources_Relevant(), Scan_Complement_BB_For_Referenced_TNs(), Sched_Info_Class(), CYCLE_STATE::Set_M_Unit(), CANDIDATE::Set_OP(), Set_OP_To_WN_Map(), HB_Schedule::Set_Resource_Usage(), Setup_Live_Ranges(), shl_add_sequence(), Shorten_Critical_Recurrence_By_Reassociation(), Similar_Ptr_Addrs_Match(), Similar_Ptr_Offset_ok(), Simulated_Op_Real_Inst_Words(), Simulated_Op_Real_Ops(), Sizeof_Load_Store(), Special_Sequence(), Special_Store_Load_Sequence(), Spill_Homeable_TN(), Spill_Live_Range(), store_sequence(), Store_To_Home(), IF_CONVERTOR::Suitable_For_If_Conv(), SWP_Bundle(), SWP_Bundle_First_In_Group(), SWP_Bundle_Next_Cycle(), SWP_Bundle_Next_In_Group(), SWP_Emit(), SWP_Min_Slot_Count(), SWP_Pack_A_Bundle(), SWP_Pack_Into_New_Bundles(), sxt_sequence(), FAVOR_DELAY_HEUR::tagOP_HEUR_INFO::tagOP_HEUR_INFO(), test_is_replaced(), TOP_with_Imm_Opnd(), Unc_Promotion(), Undo_SWP_Branch(), Unpropagate_Unusable_16bit_Info(), MRT::Unreserve_Op_Resources(), Unroll_Dowhile_Loop(), unroll_multi_bb(), unroll_xfer_annotations(), PARTITION_GRAPH::Update(), Update_preg_to_tn_array(), Usable_Registers(), Vector_Can_Add_Op(), Vector_Is_Possible(), and Verify_Instruction().

#define OP_cond ( o   )     (TOP_is_cond(OP_code(o)))

#define OP_cond_def_kind ( o   )     (OP_flags(o) & OP_MASK_COND_DEF)

Definition at line 588 of file op.h.

Referenced by OP_cond_def().

#define OP_cond_move ( o   )     (TOP_is_cond_move(OP_code(o)))

Definition at line 716 of file op.h.

Referenced by CGTARG_Copy_Operand(), Convert_Regs(), and Mk_OP().

#define OP_copy ( o   )     (OP_flags(o) & OP_MASK_COPY)

#define OP_defs_fcc ( o   )     (TOP_is_defs_fcc(OP_code(o)))

Definition at line 721 of file op.h.

Referenced by CG_DEP_Can_OP_Move_Across_Call().

#define OP_defs_fcr ( o   )     (TOP_is_defs_fcr(OP_code(o)))

Definition at line 722 of file op.h.

Referenced by CG_DEP_Can_OP_Move_Across_Call().

#define OP_defs_fp ( o   )     (TOP_is_defs_fp(OP_code(o)))

Definition at line 724 of file op.h.

Referenced by CGTARG_Result_Live_Range().

#define OP_defs_fpu_int ( o   )     (TOP_is_defs_fpu_int(OP_code(o)))

Definition at line 723 of file op.h.

Referenced by Exp_OP().

#define OP_dummy ( o   )     (TOP_is_dummy(OP_code(o)))

#define OP_end_group ( o   )     (OP_flags(o) & OP_MASK_END_GROUP)

#define OP_f_group ( o   )     (TOP_is_f_group(OP_code(o)))

#define OP_fadd ( o   )     (TOP_is_fadd(OP_code(o)))

#define OP_fdiv ( o   )     (TOP_is_fdiv(OP_code(o)))

#define OP_find_opnd_use ( o,
u   )     (TOP_Find_Operand_Use(OP_code(o),(u)))

#define OP_first_after_preamble_end ( o   )     (OP_flags(o) & OP_MASK_FIRST_OP_AFTER_PREAMBLE_END)

Definition at line 650 of file op.h.

Referenced by r_assemble_op().

#define OP_fixed_opnds ( o   )     (TOP_fixed_opnds(OP_code(o)))

Definition at line 1020 of file op.h.

Referenced by OP_Change_Opcode().

#define OP_fixed_results ( o   )     (TOP_fixed_results(OP_code(o)))

Definition at line 1019 of file op.h.

Referenced by OP_Change_Opcode().

#define OP_flag1 ( o   )     (OP_flags(o) & OP_MASK_FLAG1)

#define OP_flags ( o   )     ((o)->flags)

#define OP_flop ( o   )     (TOP_is_flop(OP_code(o)))

#define OP_fmisc ( o   )     (TOP_is_fmisc(OP_code(o)))

Definition at line 700 of file op.h.

#define OP_fmul ( o   )     (TOP_is_fmul(OP_code(o)))

#define OP_fsub ( o   )     (TOP_is_fsub(OP_code(o)))

#define OP_glue ( o   )     (OP_flags(o) & OP_MASK_GLUE)

#define OP_has_hazard ( o   )     (ISA_HAZARD_TOP_Has_Hazard(OP_code(o)))

#define OP_has_immediate ( o   )     (OP_immediate_opnd(o) >= 0)

Definition at line 764 of file op.h.

Referenced by Cache_Has_Conflict().

#define OP_has_predicate ( o   )     (TOP_is_predicated(OP_code(o)))

Definition at line 733 of file op.h.

Referenced by Add_Predicate_Valid_OP(), add_to_hash_table(), Adjust_Alloca_Code(), Adjust_Entry(), Adjust_Exit(), Adjust_Qualifying_Predicate(), Analyze_OP_For_Unwind_Info(), AND_Predicate_To_OP(), Build_Outgoing_Edges(), Can_Do_Safe_Predicate_Movement(), CG_DEP_Prune_Dependence_Arcs(), CGTARG_Check_OP_For_HB_Suitability(), CGTARG_Init_OP_cond_def_kind(), CGTARG_Invert_Branch(), CGTARG_Predicate_OP(), Check_BB_For_HB_Suitability(), CIO_RWTRAN::CICSE_Transform(), CIO_RWTRAN::CIO_Copy_Remove(), Constant_Operand0(), Constant_Operand1(), Convert_While_Loop_to_Fully_Predicated_Form(), copy_simplification(), PARTITION_GRAPH::Copy_To(), Create_GRA_BB_Call_Spill_Block(), delete_duplicate_op(), delete_memory_op(), delete_reload_across_dependency(), delete_subset_mem_op(), IF_CONVERTOR::Detect_Para_Comp(), Do_Build_Recovery_Block(), EBO_hash_op(), EBO_OPS_omega(), EBO_OPS_predicate(), EBO_Remove_Unused_Ops(), Exp_Simulated_Op(), Find_BB_TNs(), find_duplicate_mem_op(), find_duplicate_op(), find_previous_constant(), Fix_Recurrences_Before_Unrolling(), Fold_Constant_Expression(), IF_CONVERTOR::Gen_Para_Comp(), GRA_LIVE_Compute_Local_Info(), Hoist_MOVL(), Initialize_BB_Info(), SCHEDULER::Maintain_Dep_Arcs_After_Cntl_Spec_If_Converted_Code(), Negate_Branch(), OP_has_disjoint_predicate(), OP_has_disjoint_predicate_cyclic(), OP_Has_Restrictions(), OP_has_subset_predicate(), OP_has_subset_predicate_cyclic(), PQS_classify_instruction(), Predicate_Block(), CIO_RWTRAN::Predicate_Write(), Process_Group_Register_Reference(), r_assemble_list(), Remove_Invariant_Predicates(), Resolve_Conditional_Branch(), IF_CONVERTOR::Suitable_For_If_Conv(), SWP_OP_vector::SWP_OP_vector(), SWP_Reorder_OPs(), TN_Defined_At_Op(), TN_Reaching_Value_At_Op(), Unc_Promotion(), LOOP_INVAR_CODE_MOTION::Unique_Reaching_Def_Inside_Loop(), PARTITION_GRAPH::Update(), and SCHEDULER::Update_Cand_Lst_After_Cntl_Spec_If_Converted_Code().

#define OP_has_result ( o   )     (OP_results(o) != 0)

#define OP_has_tag ( o   )     (OP_flags(o) & OP_MASK_TAG)

#define OP_hoisted ( o   )     (OP_flags(o) & OP_MASK_HOISTED)

#define OP_iadd ( o   )     (TOP_is_iadd(OP_code(o)))

#define OP_iand ( o   )     (TOP_is_iand(OP_code(o)))

Definition at line 705 of file op.h.

Referenced by Constant_Operand0(), Constant_Operand1(), EBO_Copy_Operand(), and test_is_replaced().

#define OP_icmp ( o   )     (TOP_is_icmp(OP_code(o)))

#define OP_idiv ( o   )     (TOP_is_idiv(OP_code(o)))

#define OP_ijump ( o   )     (TOP_is_ijump(OP_code(o)))

#define OP_immediate_opnd ( o   )     (TOP_Immediate_Operand(OP_code(o),NULL))

Definition at line 763 of file op.h.

#define OP_imul ( o   )     (TOP_is_imul(OP_code(o)))

#define OP_inst_words ( o   )     (ISA_PACK_Inst_Words(OP_code(o)))

Definition at line 765 of file op.h.

Referenced by OP_Real_Inst_Words().

#define OP_ior ( o   )     (TOP_is_ior(OP_code(o)))

#define OP_isub ( o   )     (TOP_is_isub(OP_code(o)))

#define OP_ixor ( o   )     (TOP_is_ixor(OP_code(o)))

Definition at line 704 of file op.h.

Referenced by Constant_Operand1(), and EBO_Copy_Operand().

#define OP_jump ( o   )     (TOP_is_jump(OP_code(o)))

Definition at line 727 of file op.h.

Referenced by r_assemble_binary().

#define OP_l_group ( o   )     (TOP_is_l_group(OP_code(o)))

#define OP_likely ( o   )     (TOP_is_likely(OP_code(o)))

Definition at line 694 of file op.h.

Referenced by Initialize_BB_Info(), Is_OP_Cond(), and Verify_Operand().

#define OP_load ( o   )     (TOP_is_load(OP_code(o)))

Definition at line 675 of file op.h.

Referenced by Add_Float_Stores(), Add_Forw_REG_Arcs(), Analyze_OP_For_Unwind_Info(), DAG_BUILDER::Build_DAG(), Build_Fde_For_Proc(), Build_Outgoing_Edges(), Cache_Adjust_Latency(), Cache_Has_Conflict(), Cache_L1_Analysis(), Cache_L2_Analysis(), Cache_Location_Analysis(), Can_Mem_Op_Be_Moved(), Can_OP_Move(), VIGILANT_PNT::Candidate(), CG_DEP_Latency(), CGSPILL_OP_Spill_Location(), CGTARG_Adjust_Latency(), CGTARG_adjust_latency(), CGTARG_Can_Be_Speculative(), CGTARG_Check_OP_For_HB_Suitability(), CGTARG_Is_OP_Advanced_Load(), CGTARG_Is_OP_Check_Load(), CGTARG_Is_OP_Speculative(), CGTARG_Is_OP_Speculative_Load(), CGTARG_LOOP_Optimize(), CGTARG_Mem_Ref_Bytes(), CGTARG_Perform_THR_Code_Generation(), CGTARG_Process_Asm_m_constraint(), CGTARG_Result_Live_Range(), CGTARG_Use_Load_Latency(), Change_ld_Form(), SCHED_SPEC_HANDSHAKE::Change_Load_Spec_Form(), Check_loadbw_execute(), DATA_SPEC_RES_CONSTRAIT_MGR::Check_Res_Constraint_Helper(), CG_THR::Check_THR_Profitability(), CIO_RWTRAN::CICSE_Transform(), LOOP_INVAR_CODE_MOTION::Code_Motion_Is_Profitable(), LOOP_INVAR_CODE_MOTION::Collect_Ld_St_Call(), combine_adjacent_loads(), SCHEDULER::Commit_Schedule(), FAVOR_DELAY_HEUR::Compute_Delay(), Connect_Clones_with_CHK(), Constant_Operand0(), Constant_Operand1(), Convert_OP_to_base_update_form(), Convert_Regs(), delete_memory_op(), delete_reload_across_dependency(), delete_subset_mem_op(), _tagRGN_CFG_PATH_INFO::Derive_RGN_CFG_PATH_INFO_from_BB_Node(), Do_Build_Recovery_Block(), Dup_OP(), Eager_Ptr_Deref_Spec(), EBO_hash_op(), EBO_Load_Execution(), EBO_Merge_Memory_Addr(), Exp_Ldst(), Find_BB_TNs(), Find_Call_Addr_Load(), find_duplicate_mem_op(), Fix_Cache_Conflict_latency(), GCM_For_Loop(), get_mem_dep(), SCHEDULER::Get_OP_Prohibited_Spec_Type(), Get_Source_Of_Restore(), KEY_SCH::Handle_Ldst_Addiu(), Has_Matching_Load_In_BB(), Identify_and_delete_incr(), Init_Load_Exec_Map(), Init_OP_no_ci_alias(), SCHEDULER::Insert_Check(), Is_Aliased_With_Home(), Is_Control_Speculation_Gratuitous(), CANDIDATE::Is_Load(), List_Based_Fwd::Is_OP_Better(), Priority_Selector::Is_OP_Better(), Is_OP_Spill_Load(), Is_Pointer(), Is_Potential_Load_Or_Store(), LOOP_INVAR_CODE_MOTION::It_is_Fake_Loop_Invar(), Load_From_Home(), Load_Has_Valid_Vaddr(), Look_For_16bit_Ops(), make_prefetch_arcs(), Mark_Reloadable_Live_Ranges(), Memory_OP_Base_Opndnum(), Memory_OP_Offset_Opndnum(), Memory_OP_References_Stack(), new_arc_with_latency(), Null_Ptr_Deref_Spec(), OP_Base_Offset_TNs(), OP_base_opnd_num(), OP_base_res_num(), OP_base_update_kind(), SCHED_SPEC_HANDSHAKE::OP_Can_not_be_Candidate(), OP_convertible_to_base_update(), CG_THR::OP_Has_Restrictions(), OP_imm_opnd_num(), OP_Is_Float_Mem(), OP_is_shared_memory(), OP_Not_Suitable(), Predicate_Block(), Rematerialize_GRF(), Remove_Unnecessary_Check_Instrs(), FAVOR_DELAY_HEUR::Renaming_Is_Profitable(), CANDIDATE::Set_OP(), SL1_patch(), Special_Store_Load_Sequence(), Spill_Homeable_TN(), SWP_Slot_Helper(), sxt_sequence(), test_is_replaced(), under_same_cond_tn(), unroll_names_init(), Update_op_must_not_be_moved(), SCHED_DFLOW_MGR::Upward_Sched_Interfere_Nested_Rgns_LiveRanges(), FAVOR_DELAY_HEUR::Upward_Spec_Global_Sched_Is_Profitable(), Vector_Can_Add_Op(), Vector_Is_Load(), and verify_mem().

#define OP_m_unit ( o   )     (OP_flags(o) & OP_MASK_M_UNIT)

#define OP_madd ( o   )     (TOP_is_madd(OP_code(o)))

Definition at line 710 of file op.h.

Referenced by CGTARG_Compute_PRC_INFO().

#define OP_map_idx ( o   )     ((o)->map_idx+0)

Definition at line 408 of file op.h.

Referenced by SCHED_BB_ANNOT::_init_ops_annot(), SCHED_BB_ANNOT::_set_op_annot(), CAND_LIST::Add_Candidate(), FAVOR_DELAY_HEUR::Adjust_Heur_After_Cand_Sched(), FAVOR_DELAY_HEUR::Adjust_Heur_After_Sched_One_Cyc(), LOOP_INVAR_CODE_MOTION::All_Reaching_Def_are_Outside_Of_Loop(), FAVOR_DELAY_HEUR::Attach_OP_Heur_Info(), BB_OP_MAP32_Get(), BB_OP_MAP32_Set(), BB_OP_MAP64_Get(), BB_OP_MAP64_Set(), BB_OP_MAP_Extend_Map(), BB_OP_MAP_Get(), BB_OP_MAP_Set(), Calculate_BB_Cycle(), CG_DEP_Add_Op_Same_Res_Arcs(), CG_DEP_Trace_Op_Arcs(), CG_DEP_Trace_Op_SCC_Arcs(), SCHED_SPEC_HANDSHAKE::Change_Load_Spec_Form(), FAVOR_DELAY_HEUR::Choose_Better_Of_Tie(), Compose_Mem_Op_And_Copy_Info(), create_idx_ops(), LOOP_INVAR_CODE_MOTION::Def_Dominate_All_Use(), delete_gtn_use_arc(), SCHED_BB_ANNOT::Detach_OP_Annot(), draw_bb_dependence_graph(), draw_regional_dependence_graph(), SCHED_OP_ANNOT::Dump(), SCHED_BB_ANNOT::Dump(), dp::dump_op(), EBO_Load_Execution(), CAND_LIST::Erase_Cand(), FAVOR_DELAY_HEUR::Exclude_Unqualifed_Cand_Under_Etime_Constraint(), SCHEDULER::Gen_Compensation_Code(), Gen_Implicit_Prefetches(), KEY_SCH::Gen_PKE(), dp::get_op(), SCHED_BB_ANNOT::Get_OP_Annot(), SCHEDULER::Get_OP_Prohibited_Spec_Type(), KEY_SCH::Init(), SCHED_BB_ANNOT::Init_New_OP_Annot(), Init_OP_no_ci_alias(), GROUP_ASSEMBLE::InsertAfter(), SCHEDULER::Maintain_Dep_Arcs_After_Sched(), move_ext_is_replaced(), OP_info_move(), CAND_LIST::OP_Is_In_Cand_List(), OP_MAP_Idx_Op(), compare_op::operator()(), KEY_SCH::Peeling_For_Known_Trip(), Print_OP(), Print_OP_No_SrcLine(), Print_OP_Vec(), SCHEDULER::Renaming(), CYCLE_STATE::Reorder_Branch_OP(), KEY_SCH::Reorder_Kernel(), report_bad_mem_dep(), SCHEDULER::Schedule_BB(), SCHEDULER::Schedule_Cycle(), KEY_SCH::Schedule_Kernel(), FAVOR_DELAY_HEUR::Select_Best_Candidate(), sPrint_OP(), SWP_index(), SWP_OP_vector::SWP_OP_vector(), test_is_replaced(), Unroll_Dowhile_Loop(), Unroll_Make_Remainder_Loop(), unroll_multi_bb(), Unroll_Replicate_Body(), SCHEDULER::Update_Cand_Lst_After_Cycle_Advancing(), SCHEDULER::Update_Cand_Lst_During_Sched_Cyc(), SCHEDULER::Verify(), and KEY_SCH::Winner().

#define OP_MASK_BUNDLED   0x00000200

Definition at line 490 of file op.h.

#define OP_MASK_COPY   0x00000004

Definition at line 483 of file op.h.

#define OP_MASK_END_GROUP   0x00000040

Definition at line 487 of file op.h.

#define OP_MASK_FIRST_OP_AFTER_PREAMBLE_END   0x10000000

Definition at line 511 of file op.h.

#define OP_MASK_FLAG1   0x00000008

Definition at line 484 of file op.h.

#define OP_MASK_GLUE   0x00000001

Definition at line 481 of file op.h.

#define OP_MASK_HOISTED   0x00000020

Definition at line 486 of file op.h.

#define OP_MASK_M_UNIT   0x00000080

Definition at line 488 of file op.h.

#define OP_MASK_NO_ALIAS   0x00000002

Definition at line 482 of file op.h.

#define OP_MASK_NO_CI_ALIAS   0x00002000

Definition at line 493 of file op.h.

#define OP_MASK_NO_MOVE_BEFORE_GRA   0x00004000

Definition at line 494 of file op.h.

#define OP_MASK_PREFETCH_DELETED   0x20000000

Definition at line 513 of file op.h.

#define OP_MASK_SPADJ_MINUS   0x00020000

Definition at line 498 of file op.h.

#define OP_MASK_SPADJ_PLUS   0x00010000

Definition at line 497 of file op.h.

#define OP_MASK_SPECULATIVE   0x00000400

Definition at line 491 of file op.h.

#define OP_MASK_TAG   0x00008000

Definition at line 496 of file op.h.

#define OP_MASK_TAIL_CALL   0x00000100

Definition at line 489 of file op.h.

#define OP_MASK_VOLATILE   0x00000010

Definition at line 485 of file op.h.

#define OP_MAX_FIXED_OPNDS   ISA_OPERAND_max_operands

#define OP_MAX_FIXED_RESULTS   ISA_OPERAND_max_results

Definition at line 321 of file op.h.

Referenced by EBO_OP_INFO_sizeof().

#define OP_mem_fill_type ( o   )     (TOP_is_mem_fill_type(OP_code(o)))

Definition at line 688 of file op.h.

Referenced by CG_THR::Check_THR_Profitability().

#define OP_memory ( o   )     (OP_load(o) | OP_store(o) | OP_prefetch(o))

#define OP_mmalu ( o   )     (TOP_is_mmalu(OP_code(o)))

Definition at line 714 of file op.h.

#define OP_mmmul ( o   )     (TOP_is_mmmul(OP_code(o)))

Definition at line 712 of file op.h.

#define OP_mmshf ( o   )     (TOP_is_mmshf(OP_code(o)))

Definition at line 713 of file op.h.

#define OP_next ( o   )     ((o)->next+0)

Definition at line 406 of file op.h.

Referenced by Add_Float_Stores(), Add_MEM_Arcs(), Add_MISC_Arcs(), Adjust_Alloca_Code(), Adjust_Recovery_Block(), alu_op_defines_rflags_used(), CIO_RWTRAN::Append_TN_Copy(), Assemble_Bundles(), Assign_Prolog_Temps(), BB_Check_Bundle_Integrity(), REGION_STRIDE_PREFETCH::BB_Ld_Count(), BB_Mov_Ops(), BB_Sink_Op_Before(), BB_Split_Entry_Glue(), BB_Update_OP_Order(), BB_Verify_OP_Order(), Build_Fde_For_Proc(), Build_Outgoing_Edges(), Calculate_BB_Cycle(), Calculate_Min_Resource_II(), Calculate_Path_Data(), SCHEDULER::Can_Cntl_Spec_If_Converted_Code(), Can_Mem_Op_Be_Moved(), Can_OP_Move(), CG_DEP_Prune_Dependence_Arcs(), CG_Gcov_Generation(), CG_LOOP_Init_OPS(), CG_LOOP_Make_Strongly_Connected_Components(), CGGRP_Bundle_BB(), CGGRP_Bundle_OPS(), CGGRP_Check_Split_BB(), CGSPILL_Insert_Ops_Before_First_Use(), CGSPILL_Prepend_Ops(), CGTARG_Compute_PRC_INFO(), CGTARG_Dependence_Required(), Check_For_Bundle_Hazards(), Check_loadbw_execute(), Check_Undefined_Results(), CIO_RWTRAN::CICSE_Transform(), CIO_RWTRAN::CIO_Copy_Remove(), Clean_Up(), SCHEDULER::Clean_Up(), cmovable_op(), KEY_SCH::Collect_Sched_Info(), REPLACE_TN_LIST::commit(), SCHEDULER::Commit_Schedule(), Compute_Reg_State(), condition_redundant(), Convert_Goto_To_Return(), Convert_If_To_Goto(), Convert_Imm_Add(), Convert_Regs(), Count_Copies_Needed(), GBB_MGR::Create(), create_idx_ops(), delete_duplicate_op(), Delete_Recovery_Info_For_BB(), delete_subset_mem_op(), Delete_Unwanted_Prefetches(), CG_LOOP::Determine_Unroll_Factor(), Divide_BB(), Eager_Ptr_Deref_Spec(), EBO_Lea_Insertion(), EBO_OPS_omega(), EBO_OPS_predicate(), EBO_Remove_Unused_Ops(), Exp_OP(), Find_BB_TNs(), find_duplicate_op(), Find_Execution_Path(), Find_Last_Copy(), EDGE_PROFILE::Find_TN(), EDGE_PROFILE::Find_TN_in_BB(), Fix_MM_Latency(), Fixup_Long_Branches(), Fold_Constant_Expression(), Force_Chk_Fail(), GCM_Schedule_Region(), Gen_Implicit_Prefetches(), KEY_SCH::Gen_Kernel_Info(), Gen_Post_Incr_Memop(), Generate_Hot_Cold_Jump(), Get_Float_Return_Reg_Sum(), Get_Return_Reg_Sum(), Global_Preferenced_Regs(), GRA_Remove_Predicates_Save_Restore(), Handle_Additive_Hazards(), Handle_Chk_Split_Bunch(), Handle_Post_Hazard(), Has_Matching_Load_In_BB(), Has_Matching_Store_In_BB(), Identical_Return_Blocks(), Identify_and_delete_incr(), Induction_Variables_Removal(), Init_Split_PU_Entry_Or_Exit_BB(), SCHEDULER::Insert_Check(), insert_ops_after(), REGION_STRIDE_PREFETCH::Insert_Prefetch_List(), Insert_Stop_Bits(), GROUP_ASSEMBLE::InsertAfter(), Interleave_Base_Update(), HB_Schedule::Invoke_Pre_HBB_Phase(), HB_Schedule::Invoke_Pre_HBS_Phase(), Is_BB_Empty(), Is_LR_Reloadable(), Is_TN_Last_Use(), LRA_Allocate_Registers(), SCHEDULER::Maintain_Dep_Arcs_After_Cntl_Spec_If_Converted_Code(), Merge_Blocks(), IF_CONVERTOR::Merge_Blocks(), Move_Spill_Loads_Stores(), Normalize_Branch_Target(), Normalize_Delay_Slots(), Num_of_OPs_in_First_Group(), OP_Can_Sink_Before(), OP_far_next(), OP_To_Move(), Opnd_Tn_In_BB(), OPS_Remove_Op(), OPS_Remove_Ops(), Pad_Cycles_Into(), Perform_Post_GCM_Steps(), Post_Multi_Branch(), Preallocate_Single_Register_Subclasses(), Predicate_Block(), Print_OPs(), Print_OPs_No_SrcLines(), Process_New_OPs(), PU_has_x87_op(), r_assemble_op(), R_Resolve_Branches(), Reassociate(), Recompute_Label_Offset(), Redundancy_Elimination(), REGION_Entry_PREG_Whirl(), REGION_Exit_PREG_Whirl(), Remove_Non_Definite_Dependence(), Remove_Notations_With_Copies(), Remove_Redundant_Code(), Rename_TN_In_Range(), SCHEDULER::Renaming(), Result_Tn_In_BB(), RGN_Divide_BB(), Safe_To_Rematerialize_Load(), Safe_To_Rematerialize_Load_In_BB(), Set_OP_To_WN_Map(), setup_ops(), Special_Sequence(), Spill_Prolog_Epilog_Save_LUNIT(), Split_Exit(), Split_PU_Entry_BB(), Split_PU_Exit_BB(), GRA_BB_OP_FORWARD_ITER::Step(), SWP_Slot_Helper(), Target_Unique_Exit(), test_is_replaced(), TN_In_BB(), TN_Reaching_Value_At_Op(), Update_preg_to_tn_array(), and Vector_Can_Add_Op().

#define OP_no_alias ( o   )     (OP_flags(o) & OP_MASK_NO_ALIAS)

#define OP_no_ci_alias ( o   )     (OP_flags(o) & OP_MASK_NO_CI_ALIAS)

Definition at line 590 of file op.h.

Referenced by get_mem_dep().

#define OP_no_move_before_gra ( o   )     (OP_flags(o) & OP_MASK_NO_MOVE_BEFORE_GRA)

#define OP_noop ( o   )     (TOP_is_noop(OP_code(o)))

#define OP_operand_info ( o   )     (ISA_OPERAND_Info(OP_code(o)))

Definition at line 761 of file op.h.

#define OP_opnd ( o,
n   )     ((struct tn *)(o)->res_opnd[(n)+OP_opnd_offset(o)])

Definition at line 423 of file op.h.

Referenced by Add_Bkwd_REG_Arcs(), Add_Fail_TNs(), Add_Forw_REG_Arcs(), add_gtn_use_arc(), Add_Predicate_Valid_BB(), Add_Predicate_Valid_OP(), add_to_hash_table(), addr_base_offset(), Adjust_Alloca_Code(), adjust_arc_for_rw_elim(), Adjust_BBSCH(), Adjust_Entry(), Adjust_Exit(), KEY_SCH::Adjust_incr(), Adjust_LC_Entry(), HB_Schedule::Adjust_Ldst_Offsets(), KEY_SCH::Adjust_ofst(), Adjust_Opnd_Name(), Adjust_Qualifying_Predicate(), adjust_reganti_latency(), LOOP_INVAR_CODE_MOTION::All_Reaching_Def_are_Outside_Of_Loop(), Alloc_Stack_Reg(), LRANGE::Allowed_Registers(), Analyze_OP_For_Unwind_Info(), Analyze_Spilling_Live_Range(), AND_Predicate_To_OP(), Apply_Back_Sub_Invariant(), Apply_Back_Sub_Variant(), Assign_Prolog_Temps(), Assign_Registers(), Assign_Registers_For_OP(), Assign_Virtual_Registers(), At_Unallocated_Op_Definition(), Avoid_RA_In_Call_Argument(), BB_Can_Retarget_Branch(), BB_has_goto_bb(), BB_has_target_bb(), BB_Mov_Ops(), BB_Move_Delay_Slot_Op(), BB_Retarget_Branch(), BB_Split_Entry_Glue(), BB_Verify_Reg_Alloc(), BBlist_Fall_Thru_Pred(), BBlist_Fall_Thru_Succ(), Branch_Skips_First_Op(), Build_CFG(), CG_LOOP::Build_CG_LOOP_Info(), Build_Cyclic_Arcs(), Build_Fde_For_Proc(), KEY_SCH::Build_OPR(), Build_Outgoing_Edges(), Can_Be_Tail_Call(), SCHEDULER::Can_Cntl_Spec_If_Converted_Code(), Can_Def_Be_Moved(), Can_Do_Safe_Predicate_Movement(), Can_Mem_Op_Be_Moved(), Can_OP_Move(), Can_Use_Be_Moved(), CG_DEP_Add_Op_Same_Res_Arcs(), CG_DEP_Address_Analyze(), CG_DEP_Call_Aliases(), CG_DEP_Can_OP_Move_Across_Call(), CG_DEP_Latency(), CG_DEP_Mem_Ops_Alias(), CG_DEP_Prune_Dependence_Arcs(), CG_Instrument_Arcs(), CG_LOOP_Append_BB_To_Prolog(), CGEMIT_Call(), CGPREP_Copy_TN(), CGPREP_Copy_TN_Into_BB(), CGPREP_Same_Res_Opnd(), CGSPILL_Force_Rematerialization_For_BB(), CGSPILL_Insert_Ops_Before_First_Use(), CGSPILL_OP_Spill_Location(), CGTARG_Adjust_Latency(), CGTARG_Analyze_Branch(), CGTARG_Analyze_Compare(), CGTARG_Branch_Info(), CGTARG_Branches_On_True(), CGTARG_Bundle_Slot_Available(), CGTARG_Can_Be_Speculative(), CGTARG_Compute_PRC_INFO(), CGTARG_Copy_Operand(), CGTARG_Copy_Operand_TN(), CGTARG_Dependence_Required(), CGTARG_Gen_Dedicated_Subclass_TN(), CGTARG_Generate_Countdown_Loop(), CGTARG_Invert_Branch(), CGTARG_Is_OP_Addr_Incr(), CGTARG_Is_OP_Advanced_Load(), CGTARG_Is_OP_Check_Load(), CGTARG_Is_OP_Speculative_Load(), CGTARG_Is_Thread_Local_Memory_OP(), CGTARG_live_out_of(), CGTARG_LOOP_Optimize(), CGTARG_Parallel_Compare(), CGTARG_Perform_THR_Code_Generation(), CGTARG_Process_Asm_m_constraint(), CGTARG_Return_Enum_TN(), CGTARG_TN_For_Asm_Operand(), Change_ld_Form(), EDGE_PROFILE::Change_Tgt_Label(), Check_BB_For_HB_Suitability(), Check_Br16(), Check_HB_For_PQS_Suitability(), Check_loadbw_execute(), Check_No_Use_Between(), Check_QuadWord_Boundary_Absolute(), CIO_RWTRAN::CICSE_Transform(), CIO_RWTRAN::CIO_Copy_Remove(), cmovable_op(), CNTL_DEP::CNTL_DEP(), PARTITION_GRAPH::Collect_Info(), GRA_PARA_REGION::Collect_Reg_Used_And_Def_For_BBs(), KEY_SCH::Collect_Sched_Info(), LOOP_INVAR_CODE_MOTION::Collect_TN_Def_Use_Info(), combine_adjacent_loads(), Combine_L1_L2_Prefetches(), REPLACE_TN_LIST::commit(), SCHEDULER::Commit_Schedule(), compare_bit(), Compose_Addr(), Compose_Mem_Op(), Compute_Livethrough_Set(), Compute_Reg_State(), condition_optimization(), condition_redundant(), Consistency_Check(), Constant_Operand0(), Constant_Operand1(), KEY_SCH::Construct_addr_vector(), Convert_Goto_To_If(), Convert_If_To_Goto(), Convert_OP_to_base_update_form(), Convert_Regs(), Convert_While_Loop_to_Fully_Predicated_Form(), copy_rf_sequence(), copy_simplification(), PARTITION_GRAPH::Copy_To(), Count_Copies_Needed(), Create_Chance_For_MLBR(), Create_GRA_BB_Call_Spill_Block(), Create_Sched_Est(), Create_Unique_Defs_For_TNs(), LOOP_DCE::Dead_Code_Elimination(), decode_and(), defop_for_op(), Defs_Can_Be_Merged(), PARTITION_GRAPH::Delete(), delete_duplicate_op(), delete_gtn_use_arc(), delete_memory_op(), delete_reload_across_dependency(), delete_subset_mem_op(), Delete_Unwanted_Prefetches(), Dependent_Between_OPs(), _tagRGN_CFG_PATH_INFO::Derive_RGN_CFG_PATH_INFO_from_BB_Node(), detach_gtn_use_arc(), Detect_GTNs(), IF_CONVERTOR::Detect_Para_Comp(), Detect_Post_Hazard(), Detect_Pre_Hazard(), Detect_SWP_Constraints(), CG_LOOP::Determine_SWP_Unroll_Factor(), CG_LOOP::Determine_Unroll_Factor(), Do_Build_Recovery_Block(), Do_Non_Copy(), Eager_Ptr_Deref_Spec(), EBO_Adjust_Pred_Branch_Target(), EBO_bit_length(), EBO_Can_Merge_Into_Offset(), EBO_Copy_Operand(), EBO_Fix_Same_Res_Op(), EBO_Fold_Load_Duplicate(), EBO_hash_op(), EBO_Identify_Base_and_Offset(), EBO_Lea_Insertion(), EBO_Load_Execution(), EBO_Remove_Unused_Ops(), REGION::Edge_Splitting(), EETARG_Build_Jump_Instead_Of_Call(), KEY_SCH::Emit_Src_DDG(), Estimate_BB_Length(), HB_Schedule::Estimate_Reg_Cost_For_OP(), Exchange_Opnd(), Exp_Pred_Calc(), Exp_Simulated_Op(), Exp_True_False_Preds_For_Block(), Expand_Fxch(), Expand_Ordered_Select_Compare(), fadd_fmult(), Fill_From_Successor(), Find_BB_Predicates(), Find_BB_TNs(), Find_Call_Addr_Load(), LOOP_RCE::Find_Chain(), find_duplicate_mem_op(), find_duplicate_op(), Find_First_Copy(), Find_Global_TNs(), find_index_and_offset(), PARTITION_GRAPH::Find_Node_In_OP(), find_previous_constant(), Find_Reaching_Def(), Find_Reaching_Def_Use_Set(), Find_Spill_TN(), Find_Stub_BB(), EDGE_PROFILE::Find_TN(), EDGE_PROFILE::Find_TN_in_BB(), Fix_MM_Latency(), Fix_Recurrences_Before_Unrolling(), Fixup_Ldst_Offset(), Fixup_Long_Branches(), fneg_sequence(), Fold_Constant_Expression(), Force_Chk_Fail(), GCM_For_Loop(), Gcov_BB_Prepend_Ops(), Gen_Counted_Loop_Branch(), Gen_Implicit_Prefetches(), SCHEDULER::Gen_Inverted_Arc(), KEY_SCH::Gen_Kernel_Info(), IF_CONVERTOR::Gen_Para_Comp(), KEY_SCH::Gen_PKE(), Gen_Post_Incr_Memop(), IF_CONVERTOR::Gen_Predicate_Assign(), Gen_SWP_Branch(), Gen_SWP_Branch_Predict(), Generate_Asm_String(), Generate_Entry(), Get_Br_Op_Tgt_Label(), Get_chk_reg(), Get_chk_tgt(), Get_Copied_Save_TN(), DAG_BUILDER::Get_Def_Use_OPs(), DAG_BUILDER::Get_Define_OPs(), Get_Float_Return_Reg_Sum(), get_mem_dep(), Get_Op_Label(), SCHEDULER::Get_OP_Prohibited_Spec_Type(), get_opnd_idx(), Get_Return_Reg_Sum(), Get_Source_Of_Restore(), Global_Preferenced_Regs(), GRA_LIVE_Compute_Local_Info(), GRA_LIVE_Detect_GTNs_In_Set(), Handle_Asm(), Handle_ASM(), Handle_INTRINSIC_CALL(), KEY_SCH::Handle_Ldst_Addiu(), Has_Matching_Load_In_BB(), Has_Matching_Store_In_BB(), IF_CONVERTOR::Has_Para_Comp_Top(), Hoist_MOVL(), hoist_predicate_of_duplicate_complement(), iadd_special_case(), Identical_Return_Blocks(), Identify_and_delete_incr(), LOOP_INVAR_CODE_MOTION::Identify_Loop_Invariants(), imm_sll(), imm_sra(), imm_srl(), index_add(), Induction_Variables_Removal(), OP_info::Init(), Init_Load_Exec_Map(), Init_OP_no_ci_alias(), Init_OPSCH_For_BB(), HB_Schedule::Init_Register_Map(), LT_Heuristics::Init_SWP_OP_state(), Initialize_BB_Info(), SCHEDULER::Insert_Check(), Insert_Spills_Of_Globals(), Interleave_Base_Update(), Is_Control_Speculation_Gratuitous(), PARTITION_GRAPH::Is_Disjoint(), Is_Ldst_Addiu_Pair(), is_live_tn(), Is_LR_Reloadable(), Is_Non_Allocatable_Reg_Available(), List_Based_Fwd::Is_OP_Better(), Is_OP_Spill_Load(), Is_OP_Spill_Store(), Is_Pointer(), Is_Violate_Issue_Rule(), KEY_SCH::KEY_SCH(), Load_Execute_Format(), Local_Rename(), Localize_Global_Param_Reg(), Localize_Global_Return_Reg(), Localize_Global_Return_Reg_Def(), Localize_or_Replace_Dedicated_TNs(), Localize_TNs_For_BB(), Look_For_16bit_Ops(), PARTITION_GRAPH::Look_For_Partition(), PARTITION_GRAPH::Look_Partition_For_And_Type(), PARTITION_GRAPH::Look_Partition_For_Or_Type(), LRA_Estimate_Fat_Points(), LRA_examine_last_op_needs(), SCHEDULER::Maintain_Dep_Arcs_After_Cntl_Spec_If_Converted_Code(), Make_Branch_Conditional(), Make_Fine_Grained_Interferences(), Make_Target_Dependent_Region_Interferences(), Map_Operands(), CIO_RWTRAN::Mark_Op_For_Epilog(), CIO_RWTRAN::Mark_Op_For_Prolog(), Mark_Reloadable_Live_Ranges(), IF_CONVERTOR::Merge_Area(), Merge_Blocks(), IF_CONVERTOR::Merge_Blocks(), merge_memory_offsets(), MinLT::MinLT(), Mk_OP(), Modify_16bit_Ops(), Modify_24bit_Muls(), move_ext_is_replaced(), Move_Spill_Loads_Stores(), MSCHED_Real_OP(), Multi_Branch_Valid_OP(), Negate_Branch(), Null_Ptr_Deref_Spec(), OP1_Defs_Are_Used_By_OP2(), OP_Base_Offset_TNs(), OP_Base_TN(), OP_cond_def(), OP_def_is_16bit(), OP_def_use_stack_regs(), OP_has_disjoint_predicate(), OP_has_disjoint_predicate_cyclic(), OP_has_implicit_interactions(), CG_THR::OP_Has_Restrictions(), OP_Has_Restrictions(), OP_has_subset_predicate(), OP_has_subset_predicate_cyclic(), OP_Interferes_With_Vector(), OP_is_copy(), OP_Is_Copy_From_Save_TN(), OP_Is_Float_Mem(), op_is_needed_globally(), OP_is_shared_memory(), OP_lookup_opnd(), OP_Offset_TN(), OP_Offset_Within_Limit(), OP_opnd_use(), OP_Qualifier_TN(), OP_Refs_Reg(), OP_Refs_TN(), OP_Refs_TN_Reg(), OP_refs_x87(), OP_Space_TN(), OP_Storeval_TN(), OP_To_Move(), OP_use_sp(), Opnd_Tn_In_BB(), OPs_Are_Dependent(), OPs_can_be_reassociated(), Optimize_Copy_Usage(), Perform_Post_GCM_Steps(), REGION_STRIDE_PREFETCH::Phased_Multi_Stride_Ins(), PQS_classify_instruction(), Preallocate_Single_Register_Subclasses(), Predicate_Block(), Predicate_Of_Succ(), CIO_RWTRAN::Predicate_Write(), Print_OP(), Print_OP_No_SrcLine(), Process_Group_Register_Reference(), Process_New_OPs(), Propagate_16bit_Info(), r_apply_l_const(), r_assemble_binary(), r_assemble_list(), r_assemble_op(), Readers_Reach(), Reback_Size32_Instr(), CG_LOOP::Recompute_Liveness(), RECUR_OP_DESC::RECUR_OP_DESC(), Redundancy_Elimination(), REGION_Entry_PREG_Whirl(), REGION_Exit_PREG_Whirl(), REGION_Exit_Whirl_Labels(), REGION_Get_TN_In_List(), REGION_Get_TN_Out_List(), Region_LRANGEs_Referenced(), KEY_SCH::register_allocation_init(), REGISTER_CLASS_OP_Update_Mapping(), Rematerialize_GRF(), Remove_Explicit_Branch(), Remove_Invariant_Predicates(), Remove_LRs_For_OP(), Remove_Non_Definite_Dependence(), Remove_Notations_With_Copies(), Remove_Redundant_Code(), remove_unnecessary_anti_or_output_arcs(), KEY_SCH::rename_invariants(), Rename_Locals(), Rename_Opnds(), Rename_TN_In_Range(), GRA_BB::Rename_TN_References(), SCHEDULER::Renaming(), Repl_Size16_Instr::Replace_ABS(), Repl_Size16_Instr::Replace_ADDI(), Repl_Size16_Instr::Replace_BR(), Repl_Size16_Instr::Replace_LdSt_OP(), Repl_Size16_Instr::Replace_LDU(), Repl_Size16_Instr::Replace_ResEqOper_OP(), Repl_Size16_Instr::Replace_Restricted_Imm_OP(), CIO_RWTRAN::Replace_Tn(), Replace_TN_References(), Resolve_Conditional_Branch(), Scan_Complement_BB_For_Referenced_TNs(), Scan_Region_BB_For_Referenced_TNs(), DAG_BUILDER::Set_Def_Use_OPs(), IF_CONVERTOR::Set_Fall_Thru(), Set_OP_omega(), DAG_BUILDER::Set_TN_BB_Bitset_Table(), Setup_Live_Ranges(), shl_add_sequence(), Shorten_Critical_Recurrence_By_Reassociation(), Similar_Ptr_Addrs_Match(), Similar_Ptr_Offset_ok(), Simulated_Op_Real_Inst_Words(), Special_Sequence(), Special_Store_Load_Sequence(), Spill_Homeable_TN(), Spill_Live_Range(), Split_BB(), sPrint_OP(), store_sequence(), Store_To_Home(), REGION_STRIDE_PREFETCH::Strong_Single_Stride_Ins(), IF_CONVERTOR::Suitable_For_If_Conv(), SWP_Emit(), SWP_Fixup_Rotating_Registers(), SWP_Gather_Lifetime_Extents(), SWP_OP_vector::SWP_OP_vector(), SWP_Rename_TNs(), SWP_Reorder_OPs(), sxt_sequence(), Target_Unique_Exit(), test_is_replaced(), Test_PRDB(), TN_DU::TN_can_use_non_rotating_reg(), TN_Defined_At_Op(), TN_DU_MAP::TN_DU_MAP(), TN_In_BB(), TN_Opernum_In_OP(), TN_Pair_In_OP(), TN_Reaching_Value_At_Op(), TN_Value_At_Op(), Undo_SWP_Branch(), LOOP_INVAR_CODE_MOTION::Unique_Reaching_Def_Inside_Loop(), Unpropagate_Unusable_16bit_Info(), Unroll_Do_Loop(), Unroll_Dowhile_Loop(), Unroll_Make_Remainder_Loop(), unroll_multi_bb(), unroll_names_init(), unroll_remove_notations(), Unroll_Replicate_Body(), SCHEDULER::Update_Cand_Lst_After_Cntl_Spec_If_Converted_Code(), Update_GRA_Live_Sets(), Update_Live_LRs_Vector(), Update_Live_Use_Counts(), Update_Liveness(), DAG_BUILDER::Update_Max_TN_number(), Update_preg_to_tn_array(), HB_Schedule::Update_Regs_For_OP(), FAVOR_DELAY_HEUR::Upward_Code_Motion_Inc_Live_Range_Greatly(), SCHED_DFLOW_MGR::Upward_Sched_Interfere_Nested_Rgns_LiveRanges(), Usable_Registers(), Uses_Region_TN(), BB_REGION::Verify(), CG_LOOP::Verify(), Verify_Instruction(), and Verify_Operand().

#define OP_opnd_offset ( o   )     (0)

Definition at line 388 of file op.h.

#define OP_opnds ( o   )     ((o)->opnds+0)

Definition at line 417 of file op.h.

Referenced by _CG_LOOP_info_sizeof(), Add_Bkwd_REG_Arcs(), Add_Fail_TNs(), Add_Forw_REG_Arcs(), Add_Predicate_Valid_OP(), add_to_hash_table(), Adjust_BBSCH(), Adjust_LC_Entry(), Analyze_Spilling_Live_Range(), AND_Predicate_To_OP(), Assign_Prolog_Temps(), Assign_Registers(), Assign_Registers_For_OP(), Assign_Virtual_Registers(), At_Unallocated_Op_Definition(), Avoid_RA_In_Call_Argument(), BB_Mov_Ops(), BB_Move_Delay_Slot_Op(), BB_Split_Entry_Glue(), BB_Verify_Reg_Alloc(), Branch_Skips_First_Op(), CG_LOOP::Build_CG_LOOP_Info(), Build_Cyclic_Arcs(), Build_Fde_For_Proc(), Build_Outgoing_Edges(), Calc_Latency_To(), Can_Def_Be_Moved(), Can_OP_Move(), Can_Use_Be_Moved(), CG_DEP_Call_Aliases(), CG_DEP_Can_OP_Move_Across_Call(), CG_DEP_Prune_Dependence_Arcs(), CG_Instrument_Arcs(), CG_LOOP_Init_Op(), CGPREP_Copy_TN(), CGPREP_Copy_TN_Into_BB(), CGPREP_Same_Res_Opnd(), CGSPILL_Force_Rematerialization_For_BB(), CGSPILL_Insert_Ops_Before_First_Use(), CGTARG_Adjust_Latency(), CGTARG_Branch_Info(), CGTARG_Compute_PRC_INFO(), CGTARG_Dependence_Required(), CGTARG_Generate_Countdown_Loop(), CGTARG_Is_OP_Advanced_Load(), CGTARG_Is_OP_Check_Load(), CGTARG_Is_OP_Speculative_Load(), CGTARG_live_out_of(), CGTARG_Process_Asm_m_constraint(), CGTARG_Return_Enum_TN(), EDGE_PROFILE::Change_Tgt_Label(), Check_HB_For_PQS_Suitability(), Check_loadbw_execute(), Check_No_Use_Between(), CIO_RWTRAN::CICSE_Transform(), CIO_RWTRAN::CIO_Copy_Remove(), cmovable_op(), PARTITION_GRAPH::Collect_Info(), GRA_PARA_REGION::Collect_Reg_Used_And_Def_For_BBs(), KEY_SCH::Collect_Sched_Info(), LOOP_INVAR_CODE_MOTION::Collect_TN_Def_Use_Info(), Combine_L1_L2_Prefetches(), REPLACE_TN_LIST::commit(), Compose_Addr(), Compute_Livethrough_Set(), condition_optimization(), Consistency_Check(), Constant_Operand0(), Constant_Operand1(), Convert_Goto_To_If(), Convert_OP_to_base_update_form(), Convert_Regs(), copy_rf_sequence(), Count_Copies_Needed(), Create_GRA_BB_Call_Spill_Block(), Create_Unique_Defs_For_TNs(), LOOP_DCE::Dead_Code_Elimination(), Defs_Can_Be_Merged(), delete_subset_mem_op(), Dependent_Between_OPs(), _tagRGN_CFG_PATH_INFO::Derive_RGN_CFG_PATH_INFO_from_BB_Node(), Detect_GTNs(), Detect_SWP_Constraints(), Do_Build_Recovery_Block(), Do_Non_Copy(), Dup_OP(), EBO_Adjust_Pred_Branch_Target(), EBO_Copy_OP_omega(), EBO_Fix_Same_Res_Op(), EBO_hash_op(), EBO_Load_Execution(), EBO_OP_INFO_sizeof(), EBO_OPS_omega(), EBO_Remove_Unused_Ops(), EBO_Set_OP_omega(), EETARG_Build_Jump_Instead_Of_Call(), KEY_SCH::Emit_Src_DDG(), HB_Schedule::Estimate_Reg_Cost_For_OP(), Fill_From_Successor(), Find_BB_TNs(), Find_Call_Addr_Load(), find_duplicate_mem_op(), find_duplicate_op(), Find_Global_TNs(), PARTITION_GRAPH::Find_Node_In_OP(), Fix_MM_Latency(), Fixup_Long_Branches(), Fold_Constant_Expression(), Gcov_BB_Prepend_Ops(), SCHEDULER::Gen_Inverted_Arc(), KEY_SCH::Gen_Kernel_Info(), KEY_SCH::Gen_PKE(), Generate_Asm_String(), Generate_Entry(), Get_Br_Op_Tgt_Label(), Get_Float_Return_Reg_Sum(), get_new_opinfo(), Get_Op_Label(), SCHEDULER::Get_OP_Prohibited_Spec_Type(), get_opnd_idx(), Get_Return_Reg_Sum(), Global_Preferenced_Regs(), GRA_LIVE_Compute_Local_Info(), GRA_LIVE_Detect_GTNs_In_Set(), Handle_Asm(), Handle_ASM(), Handle_INTRINSIC_CALL(), hoist_predicate_of_duplicate_complement(), Identical_Return_Blocks(), LOOP_INVAR_CODE_MOTION::Identify_Loop_Invariants(), Induction_Variables_Removal(), OP_info::Init(), Init_Load_Exec_Map(), HB_Schedule::Init_Register_Map(), LT_Heuristics::Init_SWP_OP_state(), Insert_Spills_Of_Globals(), Interleave_Base_Update(), is_live_tn(), Is_LR_Reloadable(), List_Based_Fwd::Is_OP_Better(), KEY_SCH::KEY_SCH(), Local_Rename(), Localize_Global_Param_Reg(), Localize_Global_Return_Reg(), Localize_Global_Return_Reg_Def(), Localize_or_Replace_Dedicated_TNs(), Localize_TNs_For_BB(), Look_For_16bit_Ops(), PARTITION_GRAPH::Look_Partition_For_And_Type(), PARTITION_GRAPH::Look_Partition_For_Or_Type(), LRA_Estimate_Fat_Points(), LRA_examine_last_op_needs(), Make_Fine_Grained_Interferences(), Make_Target_Dependent_Region_Interferences(), Map_Operands(), CIO_RWTRAN::Mark_Op_For_Epilog(), Mark_Reloadable_Live_Ranges(), Mk_OP(), Modify_16bit_Ops(), Move_Spill_Loads_Stores(), OP1_Defs_Are_Used_By_OP2(), OP_def_use_stack_regs(), OP_has_implicit_interactions(), OP_Has_Restrictions(), OP_incr_opnd_num(), OP_Interferes_With_Vector(), OP_is_copy(), OP_Is_Copy_From_Save_TN(), OP_lookup_opnd(), OP_Reads_Dedicated_TN(), OP_Refs_Reg(), OP_Refs_TN(), OP_Refs_TN_Reg(), OP_refs_x87(), OP_To_Move(), OP_use_sp(), Opnd_Tn_In_BB(), OPs_Are_Dependent(), Optimize_Copy_Usage(), Preallocate_Single_Register_Subclasses(), Predicate_Block(), Print_OP(), Print_OP_No_SrcLine(), Process_New_OPs(), Propagate_16bit_Info(), r_assemble_binary(), r_assemble_list(), CIO_RWTRAN::Read_CICSE_Candidate_Op(), CG_LOOP::Recompute_Liveness(), RECUR_OP_DESC::RECUR_OP_DESC(), Redundancy_Elimination(), REGION_Exit_Whirl_Labels(), Region_LRANGEs_Referenced(), KEY_SCH::register_allocation_init(), REGISTER_CLASS_OP_Update_Mapping(), Rematerialize_GRF(), Remove_LRs_For_OP(), Remove_Non_Definite_Dependence(), Remove_Notations_With_Copies(), remove_op(), KEY_SCH::rename_invariants(), Rename_Locals(), Rename_Opnds(), Rename_TN_In_Range(), GRA_BB::Rename_TN_References(), SCHEDULER::Renaming(), Repl_Size16_Instr::Replace_ADDI(), Repl_Size16_Instr::Replace_ResEqOper_OP(), Repl_Size16_Instr::Replace_Restricted_Imm_OP(), CIO_RWTRAN::Replace_Tn(), Replace_TN_References(), Resolve_Conditional_Branch(), Scan_Complement_BB_For_Referenced_TNs(), Scan_Region_BB_For_Referenced_TNs(), DAG_BUILDER::Set_Def_Use_OPs(), DAG_BUILDER::Set_TN_BB_Bitset_Table(), Setup_Live_Ranges(), Special_Sequence(), Spill_Homeable_TN(), Spill_Live_Range(), Split_BB(), sPrint_OP(), SWP_Emit(), SWP_Fixup_Rotating_Registers(), SWP_Gather_Lifetime_Extents(), SWP_OP_vector::SWP_OP_vector(), SWP_Rename_TNs(), sxt_sequence(), Target_Unique_Exit(), test_is_replaced(), TN_DU::TN_can_use_non_rotating_reg(), TN_DU_MAP::TN_DU_MAP(), TN_In_BB(), TN_Opernum_In_OP(), TN_Pair_In_OP(), CIO_RWTRAN::Trace_CICSE_Entries(), Unpropagate_Unusable_16bit_Info(), Unroll_Dowhile_Loop(), Unroll_Make_Remainder_Loop(), unroll_multi_bb(), unroll_names_init(), unroll_remove_notations(), Unroll_Replicate_Body(), Update_GRA_Live_Sets(), Update_Live_LRs_Vector(), Update_Live_Use_Counts(), Update_Liveness(), DAG_BUILDER::Update_Max_TN_number(), HB_Schedule::Update_Regs_For_OP(), FAVOR_DELAY_HEUR::Upward_Code_Motion_Inc_Live_Range_Greatly(), SCHED_DFLOW_MGR::Upward_Sched_Interfere_Nested_Rgns_LiveRanges(), Usable_Registers(), Uses_Region_TN(), BB_REGION::Verify(), CG_LOOP::Verify(), and Verify_Instruction().

#define OP_orig_idx ( o   )     ((o)->orig_idx+0)

Definition at line 409 of file op.h.

Referenced by CG_DEP_Mem_Ops_Alias(), Convert_OP_to_base_update_form(), and get_mem_dep().

#define OP_prefetch ( o   )     (TOP_is_prefetch(OP_code(o)))

#define OP_prefetch_deleted ( o   )     (OP_flags(o) & OP_MASK_PREFETCH_DELETED)

Definition at line 654 of file op.h.

#define OP_prev ( o   )     ((o)->prev+0)

Definition at line 407 of file op.h.

Referenced by Add_MEM_Arcs(), Add_MISC_Arcs(), Add_Predicate_Valid_BB(), Add_Predicate_Valid_OP(), Adjust_Entry(), Append_Succ(), Apply_Back_Sub_Variant(), BB_branch_op(), BB_call_op(), BB_copy_xfer_op(), BB_has_barrier(), BB_last_real_op(), BB_Move_Delay_Slot_Op(), BB_Sink_Op_Before(), BB_Split_Exit_Glue(), BB_Verify_Recovery(), BB_xfer_op(), DAG_BUILDER::Build_DAG(), Build_Incoming_Edges(), Can_Mem_Op_Be_Moved(), Can_OP_Move(), CGSPILL_Append_Ops(), CGSPILL_Insert_Ops_After(), CGSPILL_Insert_Ops_After_Last_Def(), CGSPILL_Insert_Ops_Before(), CGTARG_Analyze_Branch(), CGTARG_Analyze_Compare(), CGTARG_Process_Asm_m_constraint(), SCHED_SPEC_HANDSHAKE::Change_Load_Spec_Form(), Check_For_Bundle_Hazards(), Check_For_Delay_Slot_Hazards(), DATA_SPEC_RES_CONSTRAIT_MGR::Check_Res_Constraint(), SCHEDULER::Collect_And_Analyse_Unresolved_Dep(), SCHEDULER::Commit_Schedule(), Constant_Operand0(), Copy_BB_For_Tail_Duplication(), delete_memory_op(), CYCLE_STATE::Do_Bundling(), Eager_Ptr_Deref_Spec(), EBO_Adjust_Pred_Branch_Target(), EBO_Remove_Unused_Ops(), EMT_Assemble_BB(), Exp_Ldst(), Expand_Copy(), Expand_Fxch(), Find_BB_Predicates(), Find_Call_Addr_Load(), Find_First_Copy(), Find_Limit_OP(), Find_Reaching_Def_Use_Set(), Fix_Cache_Conflict_latency(), Fix_MM_Latency(), GCM_Fill_Branch_Delay_Slots(), GCM_For_Loop(), GRA_LIVE_Compute_Local_Info(), GRA_Remove_Predicates_Save_Restore(), Handle_Chk_Split_Bunch(), Handle_Pre_Hazard(), Init_Split_PU_Entry_Or_Exit_BB(), insert_ops_before(), HB_Schedule::Invoke_Pre_HBB_Phase(), HB_Schedule::Invoke_Pre_HBS_Phase(), Is_Barriered(), Is_Control_Speculation_Gratuitous(), Is_Delay_Slot_Op(), Last_Real_OP(), LRA_examine_last_op_needs(), Move_Spill_Loads_Stores(), Multi_Branch_Valid_OP(), OP_Before_OP(), OP_prev_real_op(), OP_To_Move(), OPS_Remove_Op(), OPS_Remove_Ops(), Pad_Cycles_Before(), Pad_Cycles_Into(), Post_Multi_Branch(), Preallocate_Single_Register_Subclasses(), Redundancy_Elimination(), Remove_Unnecessary_Check_Instrs(), setup_ops(), Sink_Return_Val_OP(), Split_Entry(), Split_PU_Entry_BB(), Split_PU_Exit_BB(), GRA_BB_OP_BACKWARD_ITER::Step(), SWP_Slot_Helper(), Test_PRDB(), TN_Defined_At_Op(), TN_Reaching_Value_At_Op(), DATA_SPEC_RES_CONSTRAIT_MGR::Update_Pending_Adv_Ld_Info(), and Verify_Instruction().

#define OP_privileged ( o   )     (TOP_is_privileged(OP_code(o)))

Definition at line 731 of file op.h.

#define OP_refs_fcr ( o   )     (TOP_is_refs_fcr(OP_code(o)))

Definition at line 725 of file op.h.

Referenced by CG_DEP_Can_OP_Move_Across_Call().

#define OP_result ( o,
n   )     ((struct tn *)(o)->res_opnd[(n)+OP_result_offset(o)])

Definition at line 422 of file op.h.

Referenced by SLOT_ORDER_CMP::_loop_variant_lhs(), SCHED_DFLOW_MGR::Add_Defs_Live_In(), SCHED_DFLOW_MGR::Add_Defs_Live_Out(), Add_Fail_TNs(), Add_Float_Stores(), Add_Forw_REG_Arcs(), HB_Schedule::Add_OP_To_Sched_Vector(), Add_Predicate_Valid_OP(), add_to_hash_table(), Adjust_Alloca_Code(), adjust_arc_for_rw_elim(), Adjust_BBSCH(), Adjust_Entry(), Adjust_Exit(), Adjust_LC_Exit(), Adjust_Qualifying_Predicate(), Alloc_Stack_Reg(), Analyze_OP_For_Unwind_Info(), Analyze_Spilling_Live_Range(), AND_Predicate_To_OP(), Append_Succ(), Apply_Back_Sub_Invariant(), Apply_Back_Sub_Variant(), Apply_Interleave(), SCHED_DFLOW_MGR::Are_Defs_Live_In(), SCHED_DFLOW_MGR::Are_Defs_Live_Out(), Assign_Prolog_Temps(), Assign_Registers(), Assign_Registers_For_OP(), Assign_Temp_Regs(), Assign_Virtual_Registers(), CIO_RWTRAN::Backpatch_Op_In_Prolog(), BB_Move_Delay_Slot_Op(), BB_Split_Entry_Glue(), BB_Split_Exit_Glue(), BB_Verify_Reg_Alloc(), CG_LOOP::Build_CG_LOOP_Info(), Build_Fde_For_Proc(), KEY_SCH::Build_OPR(), Build_Outgoing_Edges(), LOOP_INVAR_CODE_MOTION::Calc_Defs_Within_Loop_Body(), Can_Be_Tail_Call(), SCHEDULER::Can_Cntl_Spec_If_Converted_Code(), Can_Def_Be_Moved(), Can_Do_Safe_Predicate_Movement(), Can_Inst_Be_Moved(), Can_OP_Move(), Can_Use_Be_Moved(), CG_DEP_Add_Def(), CG_DEP_Call_Aliases(), CG_DEP_Can_OP_Move_Across_Call(), CG_DEP_Prune_Dependence_Arcs(), CG_LOOP_DEF::CG_LOOP_DEF(), CG_LOOP_OP_is_live(), CGPREP_Same_Res_Opnd(), CGSPILL_Insert_Ops_After_Last_Def(), CGSPILL_Insert_Ops_Before_First_Use(), CGSPILL_OP_Spill_Location(), CGTARG_Add_Implict_Operands(), CGTARG_Adjust_Latency(), CGTARG_Analyze_Branch(), CGTARG_Analyze_Compare(), CGTARG_Branches_On_True(), CGTARG_Bundle_Slot_Available(), CGTARG_Compute_PRC_INFO(), CGTARG_Copy_Operand(), CGTARG_Dependence_Required(), CGTARG_Gen_Dedicated_Subclass_TN(), CGTARG_Generate_Countdown_Loop(), CGTARG_Invert_Branch(), CGTARG_Is_OP_Addr_Incr(), CGTARG_live_out_of(), CGTARG_Perform_THR_Code_Generation(), CGTARG_Process_Asm_m_constraint(), CGTARG_Use_Load_Latency(), Check_HB_For_PQS_Suitability(), Check_loadbw_execute(), Check_QuadWord_Boundary_Absolute(), Check_Undefined_Results(), CIO_RWTRAN::CICSE_Transform(), CIO_RWTRAN::CIO_Copy_Remove(), Classes_Match(), cmovable_op(), Collapse_Same_Logif(), SCHEDULER::Collect_And_Analyse_Other_Than_Dep_Constraints(), PARTITION_GRAPH::Collect_Info(), GRA_PARA_REGION::Collect_Reg_Used_And_Def_For_BBs(), Collect_Results(), LOOP_INVAR_CODE_MOTION::Collect_TN_Def_Use_Info(), combine_adjacent_loads(), REPLACE_TN_LIST::commit(), compare_bit(), Complement_Copy(), Compose_Mem_Op(), Compute_Livethrough_Set(), condition_optimization(), condition_redundant(), Consistency_Check(), Constant_Operand0(), Constant_Operand1(), Convert_Imm_Mul(), Convert_OP_to_base_update_form(), Convert_Regs(), Convert_While_Loop_to_Fully_Predicated_Form(), copy_rf_sequence(), copy_simplification(), PARTITION_GRAPH::Copy_To(), Count_Copies_Needed(), Create_Chance_For_MLBR(), Create_GRA_BB_Call_Spill_Block(), Create_Sched_Est(), Create_Unique_Defs_For_TNs(), LOOP_DCE::Dead_Code_Elimination(), LOOP_INVAR_CODE_MOTION::Def_Dominate_All_Use(), Defines_Mapped_TN(), defop_for_op(), defop_set(), PARTITION_GRAPH::Delete(), delete_duplicate_op(), delete_memory_op(), delete_reload_across_dependency(), delete_subset_mem_op(), Delete_Unwanted_Prefetches(), Dependent_Between_OPs(), _tagRGN_CFG_PATH_INFO::Derive_RGN_CFG_PATH_INFO_from_BB_Node(), Detect_GTNs(), Detect_Multiply_Defined_GTNs(), Detect_Post_Hazard(), Detect_SWP_Constraints(), Do_Build_Recovery_Block(), Do_Non_Copy(), Eager_Ptr_Deref_Spec(), EBO_Fix_Same_Res_Op(), EBO_Fold_Load_Duplicate(), EBO_hash_op(), EBO_Lea_Insertion(), EBO_Load_Execution(), EBO_Remove_Unused_Ops(), KEY_SCH::Emit_Src_DDG(), Emit_Vector(), Estimate_BB_Length(), HB_Schedule::Estimate_Reg_Cost_For_OP(), Exp_Pred_Calc(), Exp_Simulated_Op(), Exp_True_False_Preds_For_Block(), Expand_Fxch(), Expand_Ordered_Select_Compare(), Expand_Select(), fadd_fmult(), Find_BB_Predicates(), Find_BB_TNs(), Find_Call_Addr_Load(), LOOP_RCE::Find_Chain(), Find_Def_Of_TN(), find_duplicate_mem_op(), find_duplicate_op(), Find_Global_TNs(), Find_Last_Copy(), PARTITION_GRAPH::Find_Node_In_OP(), find_previous_constant(), Find_Unwind_Info(), Fix_MM_Latency(), Fix_Recurrences_After_Unrolling(), Fix_Recurrences_Before_Unrolling(), Fix_Xfer_Dependences(), fneg_sequence(), Fold_Constant_Expression(), SCHEDULER::Gen_Inverted_Arc(), KEY_SCH::Gen_Kernel_Info(), KEY_SCH::Gen_PKE(), Generate_Asm_String(), Get_Copied_Save_TN(), Get_Cycle_Of_Defining_SWP_Op(), DAG_BUILDER::Get_Def_Use_OPs(), DAG_BUILDER::Get_Define_OPs(), Get_Float_Return_Reg_Sum(), get_mem_dep(), SCHEDULER::Get_OP_Prohibited_Spec_Type(), Get_Return_Reg_Sum(), Global_Preferenced_Regs(), GRA_LIVE_Compute_Local_Info(), GRA_LIVE_Detect_GTNs_In_Set(), GRA_Remove_Predicates_Save_Restore(), Handle_Asm(), Handle_ASM(), KEY_SCH::Handle_Ldst_Addiu(), Has_Matching_Load_In_BB(), Hoist_MOVL(), hoist_predicate_of_duplicate_complement(), iadd_special_case(), Identical_Return_Blocks(), SCHEDULER::Identify_Actual_Argument_Defs(), Identify_and_delete_incr(), LOOP_INVAR_CODE_MOTION::Identify_Loop_Invariants(), Induction_Variables_Removal(), Init_Avail_Set(), Init_Live_LRs_Vector(), Init_Load_Exec_Map(), Init_OPSCH_For_BB(), HB_Schedule::Init_Register_Map(), Insert_CHK(), Insert_Spills_Of_Globals(), Interleave_Base_Update(), Is_Ldst_Addiu_Pair(), is_live_tn(), Priority_Selector::Is_OP_Better(), Is_OP_Spill_Load(), Is_There_OP_Dependence(), is_xfer_depndnce_reqd(), Live_Init(), LOOP_INVAR_CODE_MOTION::Live_Out_Of_Loop(), Load_From_Home(), Load_Has_Valid_Vaddr(), Local_Insert_CHK(), Local_Rename(), Localize_Global_Param_Reg(), Localize_Global_Return_Reg(), Localize_Global_Return_Reg_Def(), Localize_or_Replace_Dedicated_TNs(), Localize_TNs_For_BB(), Look_For_16bit_Ops(), PARTITION_GRAPH::Look_For_Partition(), LRA_Allocate_Registers(), LRA_Estimate_Fat_Points(), Make_Fine_Grained_Interferences(), Make_Target_Dependent_Region_Interferences(), LOOP_INVAR_CODE_MOTION::Mark_Dep_OPs_As_Non_Loop_Invar(), CIO_RWTRAN::Mark_Op_For_Prolog(), Mark_Reloadable_Live_Ranges(), Match_Chk_Ld(), Memory_OP_References_Stack(), MinLT::MinLT(), Mk_OP(), Modify_16bit_Ops(), move_ext_is_replaced(), Move_Spill_Loads_Stores(), MSCHED_Real_OP(), Negate_Branch(), Num_defs(), OP1_Defs_Are_Killed_By_OP2(), OP1_Defs_Are_Used_By_OP2(), OP_baneful(), SCHEDULER::OP_def_GP(), OP_def_use_stack_regs(), op_defines_sp(), OP_Defs_Reg(), OP_Defs_TN(), CG_THR::OP_Has_Restrictions(), OP_Has_Restrictions(), OP_Interferes_With_Vector(), OP_Is_Copy_From_Save_TN(), OP_Is_Copy_To_Save_TN(), OP_Is_Float_Mem(), op_is_needed_globally(), OP_lookup_result(), OP_Refs_Reg(), OP_Refs_TN(), OP_refs_x87(), OP_To_Move(), OPs_Are_Dependent(), Optimize_Copy_Usage(), Perform_Post_GCM_Steps(), PQS_classify_instruction(), Preallocate_Single_Register_Subclasses(), Predicate_Block(), EDGE_PROFILE::Prepare_Instrument(), Print_OP(), Print_OP_No_SrcLine(), Propagate_16bit_Info(), Prune_Regout_Deps(), r_assemble_list(), r_assemble_op(), CIO_RWTRAN::Read_CICSE_Candidate_Op(), Readers_Reach(), RECUR_OP_DESC::RECUR_OP_DESC(), Redundancy_Elimination(), Redundant_Logif(), Region_LRANGEs_Referenced(), KEY_SCH::register_allocation_init(), REGISTER_CLASS_OP_Update_Mapping(), LOOP_INVAR_CODE_MOTION::Register_Para_Passing(), Remove_Current_LR(), Remove_Invariant_Predicates(), Remove_LRs_For_OP(), Remove_Redundant_Code(), remove_unnecessary_anti_or_output_arcs(), KEY_SCH::rename_invariants(), Rename_Locals(), Rename_TN_In_Range(), GRA_BB::Rename_TN_References(), Rename_TNs_For_BB(), SCHEDULER::Renaming(), FAVOR_DELAY_HEUR::Renaming_Is_Profitable(), Repl_Size16_Instr::Replace_ABS(), Repl_Size16_Instr::Replace_ADDI(), Repl_Size16_Instr::Replace_LdSt_OP(), Repl_Size16_Instr::Replace_LDU(), Repl_Size16_Instr::Replace_ResEqOper_OP(), Repl_Size16_Instr::Replace_Restricted_Imm_OP(), Replace_TN_References(), Result_Tn_In_BB(), Scan_Complement_BB_For_Referenced_TNs(), Scan_Region_BB_For_Referenced_TNs(), DAG_BUILDER::Set_Def_Use_OPs(), DAG_BUILDER::Set_TN_BB_Bitset_Table(), Setup_Live_Ranges(), shl_add_sequence(), Shorten_Critical_Recurrence_By_Reassociation(), Special_Sequence(), Special_Store_Load_Sequence(), Spill_Homeable_TN(), Spill_Live_Range(), Spill_Prolog_Epilog_Save_LUNIT(), Split_BB(), sPrint_OP(), store_sequence(), IF_CONVERTOR::Suitable_For_If_Conv(), SWP_Emit(), SWP_Fixup(), SWP_Fixup_Rotating_Registers(), SWP_Gather_Lifetime_Extents(), SWP_OP_vector::SWP_OP_vector(), SWP_Rename_TNs(), sxt_sequence(), Target_Unique_Exit(), test_is_replaced(), Test_PRDB(), TN_2_DEFS_VECTOR_MAP::TN_2_DEFS_VECTOR_MAP(), TN_DU_MAP::TN_DU_MAP(), TN_In_BB(), TN_Pair_In_OP(), KEY_SCH::tn_renaming(), TN_Resnum_In_OP(), Unpropagate_Unusable_16bit_Info(), Unroll_Dowhile_Loop(), Unroll_Make_Remainder_Loop(), unroll_multi_bb(), unroll_names_init(), Unroll_Replicate_Body(), Update_GRA_Live_Sets(), Update_Live_LRs_Vector(), Update_Liveness(), DAG_BUILDER::Update_Max_TN_number(), HB_Schedule::Update_Regs_For_OP(), FAVOR_DELAY_HEUR::Upward_Code_Motion_Inc_Live_Range_Greatly(), SCHED_DFLOW_MGR::Upward_Sched_Interfere_Nested_Rgns_LiveRanges(), Usable_Registers(), Vector_Can_Add_Op(), Vector_Is_Possible(), Verify_Instruction(), and Verify_Operand().

#define OP_result_offset ( o   )     OP_opnds(o)

Definition at line 389 of file op.h.

#define OP_results ( o   )     ((o)->results+0)

Definition at line 416 of file op.h.

Referenced by SLOT_ORDER_CMP::_loop_variant_lhs(), SCHED_DFLOW_MGR::Add_Defs_Live_In(), SCHED_DFLOW_MGR::Add_Defs_Live_Out(), Add_Fail_TNs(), Add_Float_Stores(), Add_Forw_REG_Arcs(), HB_Schedule::Add_OP_To_Sched_Vector(), Add_Predicate_Valid_OP(), add_to_hash_table(), adjust_arc_for_rw_elim(), Adjust_Entry(), Adjust_Exit(), Adjust_LC_Exit(), Adjust_Qualifying_Predicate(), Analyze_Spilling_Live_Range(), Append_Succ(), SCHED_DFLOW_MGR::Are_Defs_Live_In(), SCHED_DFLOW_MGR::Are_Defs_Live_Out(), Assign_Prolog_Temps(), Assign_Registers_For_OP(), Assign_Temp_Regs(), Assign_Virtual_Registers(), CIO_RWTRAN::Backpatch_Op_In_Prolog(), BB_Move_Delay_Slot_Op(), BB_Split_Entry_Glue(), BB_Split_Exit_Glue(), BB_Verify_Reg_Alloc(), CG_LOOP::Build_CG_LOOP_Info(), Build_Fde_For_Proc(), KEY_SCH::Build_OPR(), Build_Outgoing_Edges(), LOOP_INVAR_CODE_MOTION::Calc_Defs_Within_Loop_Body(), SCHEDULER::Can_Cntl_Spec_If_Converted_Code(), Can_Def_Be_Moved(), Can_Do_Safe_Predicate_Movement(), Can_Inst_Be_Moved(), Can_OP_Move(), Can_Use_Be_Moved(), CG_DEP_Call_Aliases(), CG_DEP_Can_OP_Move_Across_Call(), CG_DEP_Prune_Dependence_Arcs(), CG_LOOP_DEF::CG_LOOP_DEF(), CG_LOOP_OP_is_live(), CGPREP_Same_Res_Opnd(), CGSPILL_Insert_Ops_After_Last_Def(), CGSPILL_Insert_Ops_Before_First_Use(), CGSPILL_OP_Spill_Location(), CGTARG_Add_Implict_Operands(), CGTARG_Adjust_Latency(), CGTARG_Dependence_Required(), CGTARG_Generate_Countdown_Loop(), CGTARG_live_out_of(), Check_HB_For_PQS_Suitability(), Check_Undefined_Results(), CIO_RWTRAN::CICSE_Transform(), CIO_RWTRAN::CIO_Copy_Remove(), Classes_Match(), cmovable_op(), SCHEDULER::Collect_And_Analyse_Other_Than_Dep_Constraints(), PARTITION_GRAPH::Collect_Info(), GRA_PARA_REGION::Collect_Reg_Used_And_Def_For_BBs(), Collect_Results(), LOOP_INVAR_CODE_MOTION::Collect_TN_Def_Use_Info(), combine_adjacent_loads(), REPLACE_TN_LIST::commit(), Compute_Livethrough_Set(), condition_redundant(), Consistency_Check(), Constant_Operand0(), Constant_Operand1(), Convert_Imm_Mul(), Convert_While_Loop_to_Fully_Predicated_Form(), copy_simplification(), PARTITION_GRAPH::Copy_To(), Count_Copies_Needed(), Create_GRA_BB_Call_Spill_Block(), Create_Unique_Defs_For_TNs(), LOOP_DCE::Dead_Code_Elimination(), LOOP_INVAR_CODE_MOTION::Def_Dominate_All_Use(), Defines_Mapped_TN(), defop_set(), PARTITION_GRAPH::Delete(), delete_duplicate_op(), delete_memory_op(), delete_reload_across_dependency(), delete_subset_mem_op(), Delete_Unwanted_Prefetches(), Dependent_Between_OPs(), _tagRGN_CFG_PATH_INFO::Derive_RGN_CFG_PATH_INFO_from_BB_Node(), Detect_GTNs(), Detect_Multiply_Defined_GTNs(), Detect_SWP_Constraints(), Do_Build_Recovery_Block(), Do_Non_Copy(), Dup_OP(), Eager_Ptr_Deref_Spec(), EBO_hash_op(), EBO_OP_INFO_sizeof(), EBO_Remove_Unused_Ops(), KEY_SCH::Emit_Src_DDG(), HB_Schedule::Estimate_Reg_Cost_For_OP(), Exp_True_False_Preds_For_Block(), Find_BB_Predicates(), Find_BB_TNs(), Find_Call_Addr_Load(), find_duplicate_op(), Find_Global_TNs(), PARTITION_GRAPH::Find_Node_In_OP(), Fix_LRA_Blues(), Fix_MM_Latency(), Fix_Recurrences_After_Unrolling(), Fix_Recurrences_Before_Unrolling(), Fix_Xfer_Dependences(), SCHEDULER::Gen_Inverted_Arc(), KEY_SCH::Gen_Kernel_Info(), KEY_SCH::Gen_PKE(), Generate_Asm_String(), Get_Cycle_Of_Defining_SWP_Op(), Get_Float_Return_Reg_Sum(), get_mem_dep(), SCHEDULER::Get_OP_Prohibited_Spec_Type(), Get_Return_Reg_Sum(), Global_Preferenced_Regs(), GRA_LIVE_Compute_Local_Info(), GRA_LIVE_Detect_GTNs_In_Set(), Handle_Asm(), Handle_ASM(), hoist_predicate_of_duplicate_complement(), Identical_Return_Blocks(), SCHEDULER::Identify_Actual_Argument_Defs(), LOOP_INVAR_CODE_MOTION::Identify_Loop_Invariants(), Induction_Variables_Removal(), Init_Avail_Set(), Init_Live_LRs_Vector(), Init_Load_Exec_Map(), HB_Schedule::Init_Register_Map(), Insert_Spills_Of_Globals(), is_live_tn(), Priority_Selector::Is_OP_Better(), Is_There_OP_Dependence(), is_xfer_depndnce_reqd(), KEY_SCH::KEY_SCH(), Live_Init(), LOOP_INVAR_CODE_MOTION::Live_Out_Of_Loop(), Load_Has_Valid_Vaddr(), Local_Rename(), Localize_Global_Param_Reg(), Localize_Global_Return_Reg(), Localize_Global_Return_Reg_Def(), Localize_or_Replace_Dedicated_TNs(), Localize_TNs_For_BB(), Look_For_16bit_Ops(), PARTITION_GRAPH::Look_For_Partition(), PARTITION_GRAPH::Look_Partition_For_And_Type(), PARTITION_GRAPH::Look_Partition_For_Or_Type(), LRA_Allocate_Registers(), LRA_Estimate_Fat_Points(), Make_Fine_Grained_Interferences(), Make_Target_Dependent_Region_Interferences(), LOOP_INVAR_CODE_MOTION::Mark_Dep_OPs_As_Non_Loop_Invar(), CIO_RWTRAN::Mark_Op_For_Epilog(), CIO_RWTRAN::Mark_Op_For_Prolog(), Mark_Reloadable_Live_Ranges(), Memory_OP_References_Stack(), Mk_OP(), Modify_16bit_Ops(), Move_Spill_Loads_Stores(), Negate_Branch(), Num_defs(), OP1_Defs_Are_Killed_By_OP2(), OP1_Defs_Are_Used_By_OP2(), OP_baneful(), SCHEDULER::OP_def_GP(), OP_def_use_stack_regs(), op_defines_sp(), OP_Defs_Reg(), OP_Defs_TN(), OP_Has_Restrictions(), OP_Interferes_With_Vector(), OP_Is_Copy_From_Save_TN(), OP_Is_Copy_To_Save_TN(), OP_lookup_result(), OP_Refs_Reg(), OP_Refs_TN(), OP_refs_x87(), OP_To_Move(), OP_Writes_Dedicated_TN(), OPs_Are_Dependent(), Perform_Post_GCM_Steps(), Preallocate_Single_Register_Subclasses(), Predicate_Block(), Print_OP(), Print_OP_No_SrcLine(), Propagate_16bit_Info(), Prune_Regout_Deps(), r_assemble_list(), CIO_RWTRAN::Read_CICSE_Candidate_Op(), RECUR_OP_DESC::RECUR_OP_DESC(), Redundancy_Elimination(), Redundant_Logif(), Region_LRANGEs_Referenced(), KEY_SCH::register_allocation_init(), REGISTER_CLASS_OP_Update_Mapping(), LOOP_INVAR_CODE_MOTION::Register_Para_Passing(), Remove_Current_LR(), Remove_Invariant_Predicates(), Remove_LRs_For_OP(), KEY_SCH::rename_invariants(), Rename_Locals(), Rename_TN_In_Range(), GRA_BB::Rename_TN_References(), Rename_TNs_For_BB(), SCHEDULER::Renaming(), FAVOR_DELAY_HEUR::Renaming_Is_Profitable(), Repl_Size16_Instr::Replace_ADDI(), Repl_Size16_Instr::Replace_ResEqOper_OP(), Repl_Size16_Instr::Replace_Restricted_Imm_OP(), Replace_TN_References(), Result_Tn_In_BB(), Scan_Complement_BB_For_Referenced_TNs(), Scan_Region_BB_For_Referenced_TNs(), DAG_BUILDER::Set_Def_Use_OPs(), DAG_BUILDER::Set_TN_BB_Bitset_Table(), Setup_Live_Ranges(), Shorten_Critical_Recurrence_By_Reassociation(), Spill_Homeable_TN(), Spill_Live_Range(), Split_BB(), sPrint_OP(), IF_CONVERTOR::Suitable_For_If_Conv(), SWP_Emit(), SWP_Fixup(), SWP_Fixup_Rotating_Registers(), SWP_Gather_Lifetime_Extents(), SWP_OP_vector::SWP_OP_vector(), SWP_Rename_TNs(), Target_Unique_Exit(), Test_PRDB(), TN_2_DEFS_VECTOR_MAP::TN_2_DEFS_VECTOR_MAP(), TN_DU_MAP::TN_DU_MAP(), TN_In_BB(), TN_Pair_In_OP(), KEY_SCH::tn_renaming(), TN_Resnum_In_OP(), CIO_RWTRAN::Trace_CICSE_Changes(), CIO_RWTRAN::Trace_CICSE_Entries(), Unpropagate_Unusable_16bit_Info(), Unroll_Dowhile_Loop(), Unroll_Make_Remainder_Loop(), unroll_multi_bb(), unroll_names_init(), Unroll_Replicate_Body(), Update_GRA_Live_Sets(), Update_Live_LRs_Vector(), Update_Liveness(), SCHED_DFLOW_MGR::Update_Liveness_After_Upward_Sched(), DAG_BUILDER::Update_Max_TN_number(), HB_Schedule::Update_Regs_For_OP(), FAVOR_DELAY_HEUR::Upward_Code_Motion_Inc_Live_Range_Greatly(), SCHED_DFLOW_MGR::Upward_Sched_Interfere_Nested_Rgns_LiveRanges(), Usable_Registers(), Vector_Can_Add_Op(), and Verify_Instruction().

#define OP_scycle ( o   )     ((o)->scycle)

#define OP_select ( o   )     (TOP_is_select(OP_code(o)))

Definition at line 715 of file op.h.

Referenced by CGPREP_Same_Res_Opnd(), EBO_Fix_Same_Res_Op(), and Fold_Constant_Expression().

#define OP_side_effects ( o   )     (TOP_is_side_effects(OP_code(o)))

#define OP_simulated ( o   )     (TOP_is_simulated(OP_code(o)))

#define OP_sizeof ( nresults,
nopnds   )     ((size_t)(offsetof(OP, res_opnd[0]) + ((nresults) + (nopnds)) * sizeof(TN *)))

Definition at line 375 of file op.h.

Referenced by Dup_OP(), and New_OP().

#define OP_spadjust_minus ( o   )     (OP_flags(o) & OP_MASK_SPADJ_MINUS)

Definition at line 601 of file op.h.

Referenced by Adjust_Alloca_Code(), KEY_SCH::Emit_Src_DDG(), and Print_OP_No_SrcLine().

#define OP_spadjust_plus ( o   )     (OP_flags(o) & OP_MASK_SPADJ_PLUS)

#define OP_speculative ( o   )     (OP_flags(o) & OP_MASK_SPECULATIVE)

Definition at line 585 of file op.h.

Referenced by Constant_Operand0(), and FAVOR_DELAY_HEUR::Renaming_Is_Profitable().

#define OP_sqrt ( o   )     (TOP_is_sqrt(OP_code(o)))

Definition at line 711 of file op.h.

Referenced by SCHEDULER::Get_OP_Prohibited_Spec_Type(), and KEY_SCH::KEY_SCH().

#define OP_srcpos ( o   )     ((o)->srcpos)

Definition at line 392 of file op.h.

Referenced by Add_Float_Stores(), Add_Goto_Op(), Adjust_Alloca_Code(), Adjust_Entry(), Adjust_Exit(), CIO_RWTRAN::Append_TN_Copy(), BB_Loop_Srcpos(), CG_DEP_Trace_Graph(), CG_Gcov_Generation(), CGGRP_Bundle_BB(), CGSPILL_Insert_Ops_After(), CGSPILL_Insert_Ops_After_Last_Def(), CGSPILL_Insert_Ops_Before(), CGSPILL_Prepend_Ops(), combine_adjacent_loads(), Combine_L1_L2_Prefetches(), compare_bit(), Compose_Mem_Op_And_Copy_Info(), condition_optimization(), condition_redundant(), Constant_Operand0(), Constant_Operand1(), Convert_Imm_Add(), copy_rf_sequence(), copy_simplification(), delete_duplicate_op(), delete_memory_op(), delete_reload_across_dependency(), delete_subset_mem_op(), EBO_Fold_Load_Duplicate(), EBO_Lea_Insertion(), EBO_Load_Execution(), EETARG_Build_Jump_Instead_Of_Call(), fadd_fmult(), Find_BB_Predicates(), find_previous_constant(), fneg_sequence(), Fold_Constant_Expression(), EDGE_PROFILE::Gen_Call_BB(), SCHEDULER::Gen_Compensation_Code(), Generate_Asm_String(), Generate_Entry(), Generate_Exit(), hoist_predicate_of_duplicate_complement(), iadd_special_case(), Insert_CHK(), Insert_Goto_BB(), Localize_or_Replace_Dedicated_TNs(), Make_Branch_Conditional(), IF_CONVERTOR::Merge_Area(), Modify_16bit_Ops(), move_ext_is_replaced(), REGION_STRIDE_PREFETCH::Phased_Multi_Stride_Ins(), Preallocate_Single_Register_Subclasses(), Print_OP(), Print_OP_No_SrcLine(), Process_New_OPs(), r_assemble_list(), r_assemble_op(), Repl_Size16_Instr::Replace_CurOP(), Resolve_Conditional_Branch(), shl_add_sequence(), Special_Sequence(), Spill_Live_Range(), store_sequence(), REGION_STRIDE_PREFETCH::Strong_Single_Stride_Ins(), sxt_sequence(), Target_Unique_Exit(), and test_is_replaced().

#define OP_store ( o   )     (TOP_is_store(OP_code(o)))

Definition at line 676 of file op.h.

Referenced by Add_Float_Stores(), Add_Forw_REG_Arcs(), addr_base_offset(), addr_omega(), Analyze_OP_For_Unwind_Info(), ARC_is_data_spec(), Assign_Registers(), Assign_Registers_For_OP(), backup_opinfo_list(), BB_Has_Store(), Build_Fde_For_Proc(), Build_Incoming_Edges(), Cache_Adjust_Latency(), Cache_Has_Conflict(), Cache_L1_Analysis(), Cache_L2_Analysis(), Cache_Location_Analysis(), Calculate_Path_Data(), Can_Mem_Op_Be_Moved(), CG_LOOP_OP_is_live(), CGSPILL_OP_Spill_Location(), CGTARG_Adjust_Latency(), CGTARG_adjust_latency(), CGTARG_Check_OP_For_HB_Suitability(), CGTARG_Dependence_Required(), CGTARG_LOOP_Optimize(), CGTARG_Mem_AR_Dep(), CGTARG_Mem_Ref_Bytes(), CGTARG_Process_Asm_m_constraint(), CGTARG_TN_For_Asm_Operand(), CG_THR::Check_THR_Profitability(), CIO_RWTRAN::CICSE_Transform(), Compute_Reg_State(), Constant_Operand0(), Convert_Regs(), delete_duplicate_op(), delete_memory_op(), delete_reload_across_dependency(), delete_subset_mem_op(), CG_LOOP::Determine_Unroll_Factor(), Eager_Ptr_Deref_Spec(), EBO_hash_op(), EBO_Load_Execution(), EBO_Remove_Unused_Ops(), Find_BB_TNs(), find_duplicate_mem_op(), Fix_Cache_Conflict_latency(), get_mem_dep(), Has_Matching_Store_In_BB(), hoist_predicate_of_duplicate_complement(), Identify_and_delete_incr(), Init_OP_no_ci_alias(), Is_Aliased_With_Home(), Is_Control_Speculation_Gratuitous(), Is_Ldst_Addiu_Pair(), List_Based_Fwd::Is_OP_Better(), Priority_Selector::Is_OP_Better(), Is_OP_Spill_Store(), Is_Pointer(), Is_Potential_Load_Or_Store(), LOOP_INVAR_CODE_MOTION::It_is_Fake_Loop_Invar(), Look_For_16bit_Ops(), make_prefetch_arcs(), CIO_RWTRAN::Mark_Op_For_Epilog(), Memory_OP_Base_Opndnum(), Memory_OP_Offset_Opndnum(), Move_Spill_Loads_Stores(), new_arc_with_latency(), OP_Base_Offset_TNs(), OP_base_opnd_num(), OP_base_res_num(), OP_base_update_kind(), OP_cannot_remove(), OP_convertible_to_base_update(), OP_imm_opnd_num(), OP_Interferes_With_Vector(), OP_Is_Float_Mem(), OP_is_shared_memory(), OP_like_store(), OP_Not_Suitable(), OP_owns_the_base_TN(), Predicate_Block(), CIO_RWTRAN::Predicate_Write(), CIO_RWTRAN::Read_CICSE_Candidate_Op(), Readers_Reach(), Remove_Unnecessary_Check_Instrs(), Safe_To_Rematerialize_Load_In_BB(), SL1_patch(), Special_Sequence(), Special_Store_Load_Sequence(), Spill_Homeable_TN(), store_sequence(), Store_To_Home(), sxt_sequence(), under_same_cond_tn(), Update_op_must_not_be_moved(), Vector_Can_Add_Op(), Vector_Is_Store(), KEY_SCH::Winner(), and CIO_RWTRAN::Write_Candidate_Op().

#define OP_tail_call ( o   )     (OP_flags(o) & OP_MASK_TAIL_CALL)

Definition at line 579 of file op.h.

Referenced by KEY_SCH::Emit_Src_DDG(), Print_OP(), Print_OP_No_SrcLine(), r_assemble_op(), and sPrint_OP().

#define OP_unalign_ld ( o   )     (TOP_is_unalign_ld(OP_code(o)))

#define OP_unalign_mem ( o   )     (OP_unalign_ld(o) | OP_unalign_store(o))

#define OP_unalign_store ( o   )     (TOP_is_unalign_store(OP_code(o)))

Definition at line 719 of file op.h.

Referenced by CIO_RWTRAN::Read_CICSE_Candidate_Op(), and CIO_RWTRAN::Write_Candidate_Op().

#define OP_uncond ( o   )     (OP_xfer(o) && !OP_cond(o))

#define OP_uniq_res ( o   )     (TOP_is_uniq_res(OP_code(o)))

#define OP_unroll_bb ( o   )     ((o)->unroll_bb+0)

#define OP_unrolling ( o   )     ((o)->unrolling+0)

#define OP_unsafe ( o   )     (TOP_is_unsafe(OP_code(o)))

Definition at line 726 of file op.h.

Referenced by OP_To_Move().

#define OP_var_opnds ( o   )     (TOP_is_var_opnds(OP_code(o)))

Definition at line 737 of file op.h.

Referenced by OP_Change_Opcode().

#define OP_volatile ( o   )     (OP_flags(o) & OP_MASK_VOLATILE)

#define OPS_EMPTY   { NULL, NULL, 0 }

Definition at line 1036 of file op.h.

Referenced by Add_Float_Stores(), KEY_SCH::Add_Glue(), Add_Goto_Op(), Add_Spill_Load_Before_Use(), Add_Spill_Store_After_Def(), Adjust_Entry(), Adjust_Exit(), Adjust_GP_Entry(), Adjust_GP_Exit(), Apply_Back_Sub_Invariant(), Apply_Back_Sub_Variant(), Apply_Interleave(), Assemble_Simulated_OP(), EXIT_TARGET_INFO::Assign_Aux_Predicates(), BB_Insert_Noops(), BB_Move_Delay_Slot_Op(), BB_Split_Entry_Glue(), BB_Split_Exit_Glue(), CGPREP_Copy_TN(), CGPREP_Copy_TN_Into_BB(), CGSPILL_Cost_Estimate(), CGSPILL_Force_Rematerialization_For_BB(), combine_adjacent_loads(), compare_bit(), condition_optimization(), condition_redundant(), Constant_Operand0(), Constant_Operand1(), Convert_Goto_To_Return(), Convert_Imm_And(), Convert_Imm_Cmp(), Convert_Imm_Mul(), Convert_Imm_Or(), Convert_Imm_Xor(), CIO_RWTRAN::Copy_Ops_To_Epilog(), copy_rf_sequence(), copy_simplification(), Create_Stub_BB(), delete_duplicate_op(), delete_memory_op(), delete_reload_across_dependency(), delete_subset_mem_op(), EBO_Fix_Same_Res_Op(), Epilog_restore_code(), Exp_COPY(), Exp_Ldst(), Exp_Select_And_Condition(), Exp_Select_And_VLdid(), Exp_Stid_And_VComp(), Exp_True_False_Preds_For_Block(), Finalize_BB(), find_previous_constant(), Fix_MM_Latency(), Fix_Xfer_Dependences(), fneg_sequence(), Fold_Constant_Expression(), Gen_Counted_Loop_Branch(), Gen_Implicit_Prefetches(), IF_CONVERTOR::Gen_Para_Comp(), Gen_Spill_Restore(), Gen_SWP_Branch(), Gen_SWP_Branch_Predict(), Generate_Entry(), Generate_Exit(), Generate_Hot_Cold_Jump(), Hoist_MOVL(), hoist_predicate_of_duplicate_complement(), iadd_special_case(), Insert_Goto_BB(), Insert_ORs_For_BB(), Insert_Predicates(), Interleave_Base_Update(), Localize_Global_Param_Reg(), Localize_Global_Return_Reg(), Localize_Global_Return_Reg_Def(), KEY_SCH::Loop_Peeling(), Modify_16bit_Ops(), Move_Def(), move_ext_is_replaced(), Move_Spill_Loads_Stores(), Pad_BB_With_Noops(), Pad_Cycles_Before(), Pad_Cycles_Into(), KEY_SCH::Peeling_For_Unknown_Trip(), Preallocate_Single_Register_Subclasses(), CIO_RWTRAN::Predicate_Write(), Prolog_save_code(), IF_CONVERTOR::Record_Para_Comp_Info(), Remove_Invariant_Predicates(), Remove_Non_Definite_Dependence(), Resolve_Conditional_Branch(), Special_Sequence(), Spill_Live_Range(), SWP_Add_Glue(), SWP_Emit(), SWP_Slot_Helper(), sxt_sequence(), Target_Unique_Exit(), Undo_SWP_Branch(), Unroll_Do_Loop(), Unroll_Do_Loop_guard(), unroll_guard_unrolled_body(), Unroll_Make_Remainder_Loop(), and unroll_multi_make_remainder_loop().

#define OPS_first ( ops   )     ((ops)->first+0)

#define OPS_last ( ops   )     ((ops)->last+0)

Definition at line 1034 of file op.h.

Referenced by Add_PregTNs_To_BB(), Adjust_Alloca_Code(), Adjust_Entry(), Adjust_Exit(), append_ops(), BB_Append_Ops(), BB_Insert_Ops(), BB_Insert_Ops_After(), BB_Insert_Ops_Before(), BB_Prepend_Ops(), CGSPILL_Store_To_Memory(), CGTARG_Generate_Countdown_Loop(), CGTARG_Process_Asm_m_constraint(), condition_optimization(), Constant_Operand0(), copy_simplification(), Create_Stub_BB(), delete_duplicate_op(), delete_reload_across_dependency(), EETARG_Generate_PIC_Entry_Code(), EETARG_Generate_PIC_Exit_Code(), EETARG_Restore_Extra_Callee_Tns(), EETARG_Save_Extra_Callee_Tns(), Exp_Compare_and_Swap(), Exp_COPY(), Exp_Ldst(), Exp_OP(), Exp_Select_And_Condition(), Exp_Spadjust(), Expand_Abs(), Expand_Cmov(), Expand_Complex_Divide(), Expand_Composed_Load(), Expand_Copy(), Expand_Copy_Extension(), Expand_Expr(), Expand_Float_Compares(), Expand_Integer_Divide_By_Constant(), Expand_Logical_Not(), Expand_Long_Double_To_Int(), Expand_Max(), Expand_Min(), Expand_MinMax(), Expand_Misaligned_Load(), Expand_Misaligned_Store(), Expand_Mod(), Expand_Neg(), Expand_New_Call_To_OPs(), Expand_non_SSE2_Float_Floor(), Expand_Ordered_Select_Compare(), Expand_Power_Of_2_Divide(), Expand_Power_Of_2_Rem(), Expand_Select(), Expand_Set_CircBuf(), Expand_Shuffle(), Expand_Split_Load(), Expand_Split_Store(), Expand_Split_UOP(), Fixup_Long_Branches(), fneg_sequence(), Fold_Constant_Expression(), Gen_SWP_Branch(), Generate_Entry(), Generate_Exit(), GROUP_ASSEMBLE::Group_End(), Handle_Call_Site(), Handle_DEALLOCA(), Handle_ILDBITS(), Handle_ILOAD(), Handle_INTRINSIC_CALL(), Handle_ISTBITS(), Handle_ISTORE(), Handle_LDA(), Handle_LDBITS(), Handle_LDID(), Handle_STBITS(), Handle_STID(), hoist_predicate_of_duplicate_complement(), Insert_Goto_BB(), GROUP_ASSEMBLE::InsertAfter(), Modify_16bit_Ops(), OPS_Append_Ops(), OPS_Insert_Ops(), OPS_Insert_Ops_After(), OPS_Insert_Ops_Before(), OPS_Prepend_Ops(), OPS_Remove_Ops(), Pad_BB_With_Noops(), Preallocate_Single_Register_Subclasses(), Predicate_Block(), CIO_RWTRAN::Predicate_Write(), Process_New_OPs(), Set_OP_To_WN_Map(), Special_Sequence(), Spill_Live_Range(), SWP_Update_OP_slot(), and Target_Unique_Exit().

#define OPS_length ( ops   )     ((ops)->length+0)

#define Reset_OP_bundled ( o   )     (OP_flags(o) &= ~OP_MASK_BUNDLED)

Definition at line 584 of file op.h.

Referenced by Clean_Up(), SCHEDULER::Clean_Up(), GROUP_ASSEMBLE::ResetBundled(), and SWP_Undo_Bundle().

#define Reset_OP_copy ( o   )     (OP_flags(o) &= ~OP_MASK_COPY)

Definition at line 563 of file op.h.

#define Reset_OP_end_group ( o   )     (OP_flags(o) &= ~OP_MASK_END_GROUP)

#define Reset_OP_first_after_preamble_end ( o   )     (OP_flags(o) &= ~OP_MASK_FIRST_OP_AFTER_PREAMBLE_END)

Definition at line 652 of file op.h.

#define Reset_OP_flag1 ( o   )     (OP_flags(o) &= ~OP_MASK_FLAG1)

#define Reset_OP_glue ( o   )     (OP_flags(o) &= ~OP_MASK_GLUE)

Definition at line 557 of file op.h.

#define Reset_OP_has_tag ( o   )     (OP_flags(o) &= ~OP_MASK_TAG)

Definition at line 597 of file op.h.

Referenced by Append_Op_To_BB(), GCM_For_Loop(), and Perform_Post_GCM_Steps().

#define Reset_OP_hoisted ( o   )     (OP_flags(o) &= ~OP_MASK_HOISTED)

Definition at line 572 of file op.h.

#define Reset_OP_m_unit ( o   )     (OP_flags(o) &= ~OP_MASK_M_UNIT)

#define Reset_OP_no_alias ( o   )     (OP_flags(o) &= ~OP_MASK_NO_ALIAS)

Definition at line 560 of file op.h.

#define Reset_OP_no_ci_alias ( o   )     (OP_flags(o) &= ~OP_MASK_NO_CI_ALIAS)

Definition at line 592 of file op.h.

#define Reset_OP_prefetch_deleted ( o   )     (OP_flags(o) &= ~OP_MASK_PREFETCH_DELETED)

Definition at line 656 of file op.h.

Referenced by HB_Schedule::Put_Sched_Vector_Into_BB().

#define Reset_OP_spadjust_minus ( o   )     (OP_flags(o) &= ~OP_MASK_SPADJ_MINUS)

Definition at line 603 of file op.h.

#define Reset_OP_spadjust_plus ( o   )     (OP_flags(o) &= ~OP_MASK_SPADJ_PLUS)

Definition at line 600 of file op.h.

#define Reset_OP_speculative ( o   )     (OP_flags(o) &= ~OP_MASK_SPECULATIVE)

Definition at line 587 of file op.h.

Referenced by Do_Build_Recovery_Block().

#define Reset_OP_tail_call ( o   )     (OP_flags(o) &= ~OP_MASK_TAIL_CALL)

Definition at line 581 of file op.h.

#define Reset_OP_volatile ( o   )     (OP_flags(o) &= ~OP_MASK_VOLATILE)

Definition at line 569 of file op.h.

Referenced by EBO_Load_Execution().

#define Set_OP_bundled ( o   )     (OP_flags(o) |= OP_MASK_BUNDLED)

#define Set_OP_cond_def_kind ( o,
 )     (OP_flags(o) = (OP_flags(o) & ~OP_MASK_COND_DEF) | k)

#define Set_OP_copy ( o   )     (OP_flags(o) |= OP_MASK_COPY)

#define Set_OP_end_group ( o   )     (OP_flags(o) |= OP_MASK_END_GROUP)

#define Set_OP_first_after_preamble_end ( o   )     (OP_flags(o) |= OP_MASK_FIRST_OP_AFTER_PREAMBLE_END)

Definition at line 651 of file op.h.

Referenced by Adjust_Exit(), and Process_New_OPs().

#define Set_OP_flag1 ( o   )     (OP_flags(o) |= OP_MASK_FLAG1)

#define Set_OP_glue ( o   )     (OP_flags(o) |= OP_MASK_GLUE)

#define Set_OP_has_tag ( o   )     (OP_flags(o) |= OP_MASK_TAG)

Definition at line 596 of file op.h.

Referenced by Set_OP_Tag().

#define Set_OP_hoisted ( o   )     (OP_flags(o) |= OP_MASK_HOISTED)

Definition at line 571 of file op.h.

#define Set_OP_m_unit ( o   )     (OP_flags(o) |= OP_MASK_M_UNIT)

#define Set_OP_no_alias ( o   )     (OP_flags(o) |= OP_MASK_NO_ALIAS)

Definition at line 559 of file op.h.

Referenced by Exp_Ldst(), Expand_Abs(), and Expand_Neg().

#define Set_OP_no_ci_alias ( o   )     (OP_flags(o) |= OP_MASK_NO_CI_ALIAS)

Definition at line 591 of file op.h.

Referenced by Init_OP_no_ci_alias().

#define Set_OP_no_move_before_gra ( o   )     (OP_flags(o) |= OP_MASK_NO_MOVE_BEFORE_GRA)

#define Set_OP_opnd ( o,
opnd,
tn   )     ((o)->res_opnd[(opnd) + OP_opnd_offset(o)] = (tn))

Definition at line 439 of file op.h.

Referenced by Adjust_Alloca_Code(), KEY_SCH::Adjust_incr(), KEY_SCH::Adjust_ofst(), Adjust_Qualifying_Predicate(), AND_Predicate_To_OP(), Apply_Back_Sub_Invariant(), Apply_Back_Sub_Variant(), BB_Move_Delay_Slot_Op(), BB_Retarget_Branch(), BB_Split_Entry_Glue(), Can_Be_Tail_Call(), CG_DEP_Prune_Dependence_Arcs(), CGSPILL_Force_Rematerialization_For_BB(), CGTARG_Invert_Branch(), CGTARG_LOOP_Optimize(), CGTARG_Perform_THR_Code_Generation(), CGTARG_Predicate_OP(), Change_ld_Form(), CIO_RWTRAN::CICSE_Transform(), CIO_RWTRAN::CIO_Copy_Remove(), Combine_L1_L2_Prefetches(), REPLACE_TN_LIST::commit(), SCHEDULER::Commit_Schedule(), Connect_Clones_with_CHK(), Constant_Operand0(), Constant_Operand1(), Convert_While_Loop_to_Fully_Predicated_Form(), Create_Chance_For_MLBR(), Create_Unique_Defs_For_TNs(), Do_Build_Recovery_Block(), EBO_Adjust_Pred_Branch_Target(), EBO_Fix_Same_Res_Op(), EBO_Fold_Load_Duplicate(), EBO_OPS_predicate(), REGION::Edge_Splitting(), EETARG_Fixup_Entry_Code(), Exchange_Opnd(), Exp_Simulated_Op(), Fill_From_Successor(), Finalize_BB(), Find_BB_TNs(), Fixup_Ldst_Offset(), Fixup_Long_Branches(), Force_Chk_Fail(), GCM_For_Loop(), Gen_Implicit_Prefetches(), KEY_SCH::Gen_PKE(), Handle_INTRINSIC_CALL(), KEY_SCH::Handle_Ldst_Addiu(), Hoist_MOVL(), hoist_predicate_of_duplicate_complement(), Initialize_BB_Info(), Insert_Spills_Of_Globals(), Interleave_Base_Update(), Local_Rename(), Localize_Global_Param_Reg(), Localize_Global_Return_Reg(), Localize_Global_Return_Reg_Def(), Localize_or_Replace_Dedicated_TNs(), CIO_RWTRAN::Mark_Op_For_Epilog(), CIO_RWTRAN::Mark_Op_For_Prolog(), IF_CONVERTOR::Merge_Area(), merge_memory_offsets(), Mk_OP(), Mk_VarOP(), Modify_16bit_Ops(), Negate_Branch(), Optimize_Copy_Usage(), KEY_SCH::Peeling_For_Unknown_Trip(), Perform_Post_GCM_Steps(), Preallocate_Single_Register_Subclasses(), Predicate_Block(), CIO_RWTRAN::Predicate_Write(), r_assemble_op(), Reback_Size32_Instr(), Redundancy_Elimination(), REGION_Exit_Whirl_Labels(), Remove_Invariant_Predicates(), Remove_Notations_With_Copies(), KEY_SCH::rename_invariants(), Rename_Locals(), Rename_Opnds(), Rename_TN_In_Range(), GRA_BB::Rename_TN_References(), SCHEDULER::Renaming(), CIO_RWTRAN::Replace_Tn(), Replace_TN_References(), Set_chk_reg(), Set_chk_tgt(), Special_Sequence(), Spill_Homeable_TN(), Spill_Live_Range(), SWP_Fixup_Rotating_Registers(), SWP_Rename_TNs(), SWP_Reorder_OPs(), sxt_sequence(), Target_Cond_Branch(), Target_Logif_BB(), Target_Unique_Exit(), Unroll_Dowhile_Loop(), unroll_multi_bb(), unroll_remove_notations(), Unroll_Replicate_Body(), and Vector_Is_Possible().

#define Set_OP_orig_idx ( op,
idx   )     ((op)->orig_idx = (idx))

#define Set_OP_prefetch_deleted ( o   )     (OP_flags(o) |= OP_MASK_PREFETCH_DELETED)

Definition at line 655 of file op.h.

Referenced by HB_Schedule::Put_Sched_Vector_Into_BB().

#define Set_OP_result ( o,
result,
tn   )     ((o)->res_opnd[(result) + OP_result_offset(o)] = (tn))

#define Set_OP_spadjust_minus ( o   )     (OP_flags(o) |= OP_MASK_SPADJ_MINUS)

Definition at line 602 of file op.h.

Referenced by Exp_Spadjust().

#define Set_OP_spadjust_plus ( o   )     (OP_flags(o) |= OP_MASK_SPADJ_PLUS)

Definition at line 599 of file op.h.

Referenced by Exp_Spadjust().

#define Set_OP_speculative ( o   )     (OP_flags(o) |= OP_MASK_SPECULATIVE)

Definition at line 586 of file op.h.

Referenced by CGTARG_Perform_THR_Code_Generation(), and Change_ld_Form().

#define Set_OP_tail_call ( o   )     (OP_flags(o) |= OP_MASK_TAIL_CALL)

Definition at line 580 of file op.h.

Referenced by Optimize_Tail_Calls().

#define Set_OP_unroll_bb ( op,
bb   )     ((op)->unroll_bb = (bb))

#define Set_OP_unrolling ( op,
u   )     ((op)->unrolling = (u))

#define Set_OP_volatile ( o   )     (OP_flags(o) |= OP_MASK_VOLATILE)

#define TOP_fixed_opnds ( o   )     (ISA_OPERAND_INFO_Operands(ISA_OPERAND_Info(o)))

Definition at line 1018 of file op.h.

Referenced by Mk_OP(), Mk_VarOP(), OP_Change_Opcode(), OP_incr_opnd_num(), and Verify_Instruction().

#define TOP_fixed_results ( o   )     (ISA_OPERAND_INFO_Results(ISA_OPERAND_Info(o)))

Definition at line 1017 of file op.h.

Referenced by Mk_OP(), Mk_VarOP(), OP_Change_Opcode(), and Verify_Instruction().


Typedef Documentation

typedef struct op OP

Definition at line 327 of file op.h.

typedef struct ops OPS


Enumeration Type Documentation

Enumerator:
OP_UNKNOWN_DEF 
OP_ALWAYS_UNC_DEF 
OP_ALWAYS_COND_DEF 
OP_PREDICATED_DEF 
OP_MASK_COND_DEF 

Definition at line 471 of file op.h.


Function Documentation

void Build_OP ( TOP  opc,
struct tn t1,
struct tn t2,
struct tn t3,
struct tn t4,
struct tn t5,
struct tn t6,
struct tn t7,
struct tn t8,
struct tn t9,
OPS ops 
) [inline]

Definition at line 1189 of file op.h.

References Mk_OP(), and OPS_Append_Op().

void Build_OP ( TOP  opc,
struct tn t1,
struct tn t2,
struct tn t3,
struct tn t4,
struct tn t5,
struct tn t6,
struct tn t7,
struct tn t8,
OPS ops 
) [inline]

Definition at line 1183 of file op.h.

References Mk_OP(), and OPS_Append_Op().

void Build_OP ( TOP  opc,
struct tn t1,
struct tn t2,
struct tn t3,
struct tn t4,
struct tn t5,
struct tn t6,
struct tn t7,
OPS ops 
) [inline]

Definition at line 1176 of file op.h.

References Mk_OP(), and OPS_Append_Op().

void Build_OP ( TOP  opc,
struct tn t1,
struct tn t2,
struct tn t3,
struct tn t4,
struct tn t5,
struct tn t6,
OPS ops 
) [inline]

Definition at line 1169 of file op.h.

References Mk_OP(), and OPS_Append_Op().

void Build_OP ( TOP  opc,
struct tn t1,
struct tn t2,
struct tn t3,
struct tn t4,
struct tn t5,
OPS ops 
) [inline]

Definition at line 1163 of file op.h.

References Mk_OP(), and OPS_Append_Op().

void Build_OP ( TOP  opc,
struct tn t1,
struct tn t2,
struct tn t3,
struct tn t4,
OPS ops 
) [inline]

Definition at line 1157 of file op.h.

References Mk_OP(), and OPS_Append_Op().

void Build_OP ( TOP  opc,
struct tn t1,
struct tn t2,
struct tn t3,
OPS ops 
) [inline]

Definition at line 1151 of file op.h.

References Mk_OP(), and OPS_Append_Op().

void Build_OP ( TOP  opc,
struct tn t1,
struct tn t2,
OPS ops 
) [inline]

Definition at line 1146 of file op.h.

References Mk_OP(), and OPS_Append_Op().

void Build_OP ( TOP  opc,
struct tn t1,
OPS ops 
) [inline]

Definition at line 1141 of file op.h.

References Mk_OP(), and OPS_Append_Op().

void Build_OP ( TOP  opc,
OPS ops 
) [inline]

Definition at line 1136 of file op.h.

References Mk_OP(), and OPS_Append_Op().

Referenced by Add_PregTNs_To_BB(), Adjust_Entry(), Adjust_Exit(), EXIT_TARGET_INFO::Assign_Aux_Predicates(), Build_C3_FFT(), Build_C3_TRBACK(), Build_C3_VITERBI(), CG_Instrument_Arcs(), CGTARG_Generate_Branch_Cloop(), CGTARG_Generate_Countdown_Loop(), CGTARG_Generate_Remainder_Branch(), CGTARG_Load_From_Memory(), CGTARG_Store_To_Memory(), Check_Divide(), combine_adjacent_loads(), compare_bit(), condition_optimization(), Constant_Operand0(), Constant_Operand1(), Convert_Imm_And(), Convert_Imm_Cmp(), Convert_Imm_Mul(), Convert_Imm_Or(), Convert_Imm_Xor(), delete_duplicate_op(), delete_reload_across_dependency(), delete_subset_mem_op(), EBO_Complement_Predicate(), EBO_Copy_Predicate(), EETARG_Generate_PIC_Entry_Code(), EETARG_Restore_Extra_Callee_Tns(), EETARG_Restore_Pfs(), EETARG_Save_Extra_Callee_Tns(), EETARG_Save_Pfs(), Exp_Call(), Exp_Compare_and_Swap(), Exp_COPY(), Exp_COPY_Ext(), Exp_Deposit_Bits(), Exp_Extract_Bits(), Exp_Fetch_and_And(), Exp_Fetch_and_Or(), Exp_Fetch_and_Sub(), Exp_Fetch_and_Xor(), Exp_Generic_Pred_Calc(), Exp_Immediate(), Exp_Immediate_Int(), Exp_Indirect_Branch(), Exp_Intrinsic_Call(), Exp_Intrinsic_Op(), Exp_Ldst(), Exp_Load(), Exp_Noop(), Exp_Pred_Calc(), Exp_Pred_Compare(), Exp_Pred_Complement(), Exp_Pred_Copy(), Exp_Pred_Set(), Exp_Prefetch(), Exp_Return(), Exp_Savexmms_Intrinsic(), Exp_Select_And_Condition(), Exp_Select_And_VLdid(), Exp_Simulated_Op(), Exp_Spadjust(), Exp_Stid_And_VComp(), Exp_Store(), Exp_True_False_Preds_For_Block(), Expand_32Bit_Int_Equal(), Expand_32Bit_Int_Greater(), Expand_32Bit_Int_Greater_Equal(), Expand_32Bit_Int_Less(), Expand_32Bit_Int_Less_Equal(), Expand_32Bit_Int_Not_Equal(), Expand_64Bit_Abs(), Expand_64Bit_ALU_OP(), Expand_64Bit_Compare(), Expand_64Bit_Cvtl(), Expand_64Bit_Load(), Expand_64Bit_Shift(), Expand_64Bit_Store(), Expand_64Bit_Unary_OP(), Expand_Abs(), Expand_Add(), Expand_Binary_And(), Expand_Binary_And_Or(), Expand_Binary_Complement(), Expand_Binary_Nor(), Expand_Binary_Or(), Expand_Binary_Xor(), Expand_Bool_Comparison(), Expand_Bool_To_Int(), Expand_Branch(), Expand_C3_aadda(), Expand_C3_BITR(), Expand_C3_bitr(), Expand_C3_cs(), Expand_C3_DADD(), Expand_C3_DMAC(), Expand_C3_DMAC_A(), Expand_C3_DMULA(), Expand_C3_DMULT_A(), Expand_C3_DSHIFT_I(), Expand_C3_FFE(), Expand_C3_FFTLD(), Expand_C3_FFTST(), Expand_C3_INIT_ACC(), Expand_C3_INIT_DACC(), Expand_C3_LD(), Expand_C3_LEAD(), Expand_C3_lead(), Expand_C3_MAC(), Expand_C3_MAC_A(), Expand_C3_MAC_AR(), Expand_C3_MAC_I(), Expand_C3_MACD(), Expand_C3_Mode0(), Expand_C3_Mode1(), Expand_C3_Mode10(), Expand_C3_Mode11(), Expand_C3_Mode2(), Expand_C3_Mode3(), Expand_C3_Mode4(), Expand_C3_Mode5(), Expand_C3_Mode6(), Expand_C3_Mode7(), Expand_C3_Mode8(), Expand_C3_Mode9(), Expand_C3_mul(), Expand_C3_MULA(), Expand_C3_MULA_A(), Expand_C3_MULA_AR(), Expand_C3_MULA_I(), Expand_C3_MVFS(), Expand_C3_nega(), Expand_C3_revb(), Expand_C3_REVB(), Expand_C3_ROUND(), Expand_C3_SAADD_A(), Expand_C3_saadda_a(), Expand_C3_SAADDH_A(), Expand_C3_SAADDS(), Expand_C3_SAADDSH(), Expand_C3_SADDHA(), Expand_C3_SADDHA_A(), Expand_C3_SAMULH_A(), Expand_C3_SAMULSH(), Expand_C3_SAVE_ACC(), Expand_C3_SAVE_DACC(), Expand_C3_shlafa_i(), Expand_C3_ST(), Expand_C3_subc(), Expand_Ceil(), Expand_Cmov(), Expand_Compare_And_Select(), Expand_Complex_Divide(), Expand_Complex_Multiply(), Expand_Composed_Load(), Expand_Composed_Store(), Expand_Const(), Expand_Constant_Multiply(), Expand_Conv_From_Vector(), Expand_Conv_To_Vector(), Expand_Convert_Length(), Expand_Copy(), Expand_COPY_ADDR(), Expand_Copy_Extension(), Expand_Copy_HI(), Expand_Count_Leading_Zeros(), Expand_Count_Trailing_Zeros(), Expand_Deposit(), Expand_Divide(), Expand_DivRem(), Expand_Equal(), Expand_Expr(), Expand_Extract(), Expand_Extract_Bits(), Expand_F10_Div_By_Const(), Expand_F10_Recip(), Expand_F4_Div_By_Const(), Expand_F4_Recip(), Expand_F8_Div_By_Const(), Expand_F8_Recip(), Expand_F_To_G(), Expand_Fast_Power_Of_2_Rem(), Expand_Fast_Sqrt(), Expand_Float32_Const(), Expand_Float64_Const(), Expand_Float_Compares(), Expand_Float_Div_By_Pow2(), Expand_Float_To_Float(), Expand_Float_To_Float_Floor(), Expand_Float_To_Float_Floorf(), Expand_Float_To_Int(), Expand_Float_To_Int_Ceil(), Expand_Float_To_Int_Floor(), Expand_Float_To_Int_Tas(), Expand_Float_To_Int_Trunc(), Expand_Floor(), Expand_Flop(), Expand_G_To_F(), Expand_Greater(), Expand_Greater_Equal(), Expand_High_Multiply(), Expand_I4_I4_Divide(), Expand_INIT_ADDR(), Expand_Init_HI(), Expand_Int_Cmp(), Expand_Int_Cmp_With_Branch(), Expand_Int_Compare(), Expand_Int_Comparison(), Expand_Int_Equal(), Expand_Int_Greater(), Expand_Int_Greater_Equal(), Expand_Int_Less(), Expand_Int_Less_Equal(), Expand_Int_Not_Equal(), Expand_Int_To_Float(), Expand_Int_To_Float_Tas(), Expand_Int_To_Int(), Expand_Int_To_Long_Double(), Expand_Integer_Divide_By_Constant(), Expand_Intel_F10_Sqrt(), Expand_Intel_Max_Thr_F10_Divide(), Expand_Intel_Max_Thr_F4_Divide(), Expand_Intel_Max_Thr_F4_Sqrt(), Expand_Intel_Max_Thr_F8_Divide(), Expand_Intel_Max_Thr_F8_Sqrt(), Expand_Intel_Min_Lat_F10_Divide(), Expand_Intel_Min_Lat_F4_Divide(), Expand_Intel_Min_Lat_F4_Sqrt(), Expand_Intel_Min_Lat_F8_Divide(), Expand_Intel_Min_Lat_F8_Sqrt(), Expand_INTRN_ANINT(), Expand_Lda(), Expand_Lda_Label(), Expand_Left_Rotate(), Expand_Less(), Expand_Less_Equal(), Expand_Load(), Expand_Logical_And(), Expand_Logical_And_Or(), Expand_Logical_Not(), Expand_Logical_Or(), Expand_Long_Double_To_Int(), Expand_LONGLONG_Const(), Expand_Madd(), Expand_Max(), Expand_Min(), Expand_MinMax(), Expand_Misaligned_Load(), Expand_Misaligned_Store(), Expand_Mod(), Expand_MPY_32(), Expand_MPY_32_16(), Expand_Mtype_Immediate(), Expand_Multiply(), Expand_Neg(), Expand_non_SSE2_Float_Floor(), Expand_Normalize_Logical(), Expand_Not_Equal(), Expand_Ordered_Branch(), Expand_Ordered_Select_Compare(), Expand_Power_Of_2_Divide(), Expand_Power_Of_2_Rem(), Expand_Recip(), Expand_Recip_Sqrt(), Expand_Reduce_Add(), Expand_Reduce_Max(), Expand_Reduce_Min(), Expand_Reduce_Mpy(), Expand_Rem(), Expand_Replicate(), Expand_Round(), Expand_Rrotate(), Expand_SAVE_ADDR(), Expand_Select(), Expand_SET_ADDRSIZE(), Expand_Set_CircBuf(), Expand_SGI_F10_Divide(), Expand_SGI_F4_Divide(), Expand_SGI_F8_Divide(), Expand_SGI_Sqrt(), Expand_Shift(), Expand_Shuffle(), Expand_Special_And_Immed(), Expand_Split_BOP(), Expand_Split_Branch(), Expand_Split_Cvtl(), Expand_Split_Int_Cmp(), Expand_Split_Leading_Zeros(), Expand_Split_Load(), Expand_Split_Multiply(), Expand_Split_Select(), Expand_Split_Shift(), Expand_Split_Store(), Expand_Split_UOP(), Expand_Sqrt(), Expand_SSE3_Long_Double_To_Int(), Expand_Store(), Expand_Sub(), Expand_Trunc(), Expand_Unsigned_Extract(), Expand_Unsigned_Float_To_Int_m32(), Expand_Unsigned_Int_To_Float_m32(), Expand_Unsigned_Long_To_Float(), Expand_Vote(), Extend_Dividend(), Fold_Constant_Expression(), Gen_Implicit_Prefetches(), IF_CONVERTOR::Gen_Predicate_Assign(), Gen_Second_Immd_Op(), Gen_SWP_Branch(), Gen_SWP_Branch_Predict(), Generate_Entry(), Generate_Exit(), Get_64Bit_High_TN(), Handle_INTRINSIC_CALL(), Handle_SELECT(), Interleave_Base_Update(), Load_82bit_Constant(), Merge_Blocks(), Modify_16bit_Ops(), Optimize_Select(), Predicate_Block(), CIO_RWTRAN::Predicate_Write(), Remove_Invariant_Predicates(), Resolve_Conditional_Branch(), shl(), shladd(), SWP_Exp_COPY(), SWP_Loop_Init_Fini(), and Undo_SWP_Branch().

OP* Dup_OP ( OP op  ) 

void Free_OP_List ( OP op  ) 

BOOL Is_Delay_Slot_Op ( OP xfer_op,
OP op 
)

OP* Mk_OP ( TOP  opr,
  ... 
)

Definition at line 857 of file oputil.cxx.

References CGTARG_Init_OP_cond_def_kind(), CGTARG_Max_Number_of_Hidden_Opnd(), FALSE, FmtAssert, i, INT, Is_Target_32bit, New_OP(), NULL, OP_ALWAYS_COND_DEF, OP_code, OP_cond_move, OP_dummy, OP_find_opnd_use, OP_opnd, OP_opnd_size(), OP_opnds, OP_result, OP_result_size(), OP_results, OP_simulated, opnd, result, Set_OP_code, Set_OP_cond_def_kind, Set_OP_opnd, Set_OP_result, Set_TN_is_fpu_int, TN_register_class, TOP_fixed_opnds, TOP_fixed_results, va_arg, va_end, and va_start.

Referenced by BB_Remove_Op(), Build_OP(), CGTARG_Handle_Bundle_Hazard(), Check_Br16(), Check_QuadWord_Boundary_Absolute(), Compose_Mem_Op(), Constant_Operand0(), Constant_Operand1(), Convert_Imm_Add(), Convert_OP_to_base_update_form(), Convert_Regs(), copy_rf_sequence(), copy_simplification(), Do_Build_Recovery_Block(), EBO_Fold_Load_Duplicate(), EBO_Lea_Insertion(), EBO_Load_Execution(), EETARG_Build_Jump_Instead_Of_Call(), EETARG_High_Level_Procedure_Exit(), Emit_Vector(), Exp_OP(), Expand_Fxch(), fadd_fmult(), Find_BB_Predicates(), fneg_sequence(), Force_Chk_Fail(), EDGE_PROFILE::Gen_Call_BB(), Generate_Extract(), Guarantee_Paired_instr16(), Insert_CHK(), Insert_Stop_Bits(), Load_Execute_Format(), Local_Insert_CHK(), Make_Branch_Conditional(), GROUP_ASSEMBLE::MakeNop2Slot(), IF_CONVERTOR::Merge_Area(), REGION_STRIDE_PREFETCH::Mk_Add_OP(), REGION_STRIDE_PREFETCH::Mk_Prefetch_OP(), move_ext_is_replaced(), OP_Replace_With_Noop(), Pad_Cycles_Before(), REGION_STRIDE_PREFETCH::Phased_Multi_Stride_Ins(), Pop_Stack(), Pop_Stack_Reg(), CIO_RWTRAN::Predicate_Write(), EDGE_PROFILE::Prepare_Call_Init_Return_BB(), EDGE_PROFILE::Prepare_Instrument(), SCHEDULER::Renaming(), Repair_Call_BB(), Repair_Entry_BB(), Repl_Size16_Instr::Replace_ADDI(), Repl_Size16_Instr::Replace_ResEqOper_OP(), Repl_Size16_Instr::Replace_Restricted_Imm_OP(), shl_add_sequence(), SL1_patch(), Special_Sequence(), store_sequence(), REGION_STRIDE_PREFETCH::Strong_Single_Stride_Ins(), Swap(), SWP_Append_Noop(), and test_is_replaced().

OP* Mk_VarOP ( TOP  opr,
INT  results,
INT  opnds,
struct tn **  res_tn,
struct tn **  opnd_tn 
)

BOOL OP_Alloca_Barrier ( OP op  ) 

Definition at line 1305 of file oputil.cxx.

References Get_WN_From_Memory_OP(), and OP_code.

Referenced by get_mem_dep(), and OP_like_barrier().

void OP_Base_Offset_TNs ( OP memop,
struct tn **  base_tn,
struct tn **  offset_tn 
)

void OP_Change_Opcode ( OP op,
TOP  opc 
) [inline]

void OP_Change_To_Noop ( OP op  )  [inline]

BOOL OP_cond_def ( const OP  ) 

BOOL OP_Defs_Reg ( const OP op,
ISA_REGISTER_CLASS  rclass,
REGISTER  reg 
)

BOOL OP_Defs_TN ( const OP op,
const struct tn res 
)

BOOL OP_Follows ( OP op1,
OP op2 
) [inline]

BOOL OP_has_implicit_interactions ( OP  ) 

BOOL OP_Is_Copy_From_Save_TN ( const OP  )  [inline]

BOOL OP_Is_Copy_To_Save_TN ( const OP  )  [inline]

Definition at line 86 of file gra_cflow.cxx.

References FALSE, i, INT, OP_result, OP_results, TN_is_save_reg, and TRUE.

Referenced by Init_Split_PU_Entry_Or_Exit_BB(), and Split_Entry().

BOOL OP_Is_Float_Mem ( const OP op  ) 

BOOL OP_opnd_is_enum ( OP op,
INT  opnd 
) [inline]

Definition at line 925 of file op.h.

References OP_code.

BOOL OP_opnd_is_fpu_int ( OP op,
INT  opnd 
) [inline]

Definition at line 953 of file op.h.

References OP_code.

BOOL OP_opnd_is_literal ( OP op,
INT  opnd 
) [inline]

Definition at line 918 of file op.h.

References OP_code.

BOOL OP_opnd_is_pcrel ( OP op,
INT  opnd 
) [inline]

Definition at line 960 of file op.h.

References OP_code.

Referenced by Fixup_Long_Branches(), and r_assemble_binary().

BOOL OP_opnd_is_reg ( OP op,
INT  opnd 
) [inline]

Definition at line 911 of file op.h.

References OP_code.

BOOL OP_opnd_is_signed ( OP op,
INT  opnd 
) [inline]

Definition at line 939 of file op.h.

References OP_code.

Referenced by Modify_16bit_Ops(), and Propagate_16bit_Info().

ISA_LIT_CLASS OP_opnd_lit_class ( OP op,
INT  opnd 
) [inline]

Definition at line 967 of file op.h.

References OP_code.

Referenced by Fixup_Long_Branches(), and r_assemble_binary().

ISA_REGISTER_CLASS OP_opnd_reg_class ( OP op,
INT  opnd 
) [inline]

Definition at line 974 of file op.h.

References OP_code.

Referenced by Usable_Registers().

ISA_REGISTER_SUBCLASS OP_opnd_reg_subclass ( OP op,
INT  opnd 
) [inline]

INT OP_opnd_size ( OP op,
INT  opnd 
) [inline]

Definition at line 897 of file op.h.

References OP_code.

Referenced by CGTARG_Mem_Ref_Bytes(), Find_BB_TNs(), Load_Execute_Format(), Mark_Use(), and Mk_OP().

ISA_OPERAND_USE OP_opnd_use ( OP op,
INT  opnd 
) [inline]

Definition at line 1002 of file op.h.

References OP_code.

Referenced by Compose_Addr(), Modify_16bit_Ops(), Op_In_Working_Set(), and Unpropagate_Unusable_16bit_Info().

INT32 OP_Order ( OP op1,
OP op2 
) [inline]

Definition at line 1277 of file op.h.

References op::order.

INT64 OP_Ordering ( OP op1,
OP op2 
) [inline]

Definition at line 1272 of file op.h.

References INT64, and op::order.

Referenced by is_closer_loop_pred(), and is_closer_loop_succ().

BOOL OP_Precedes ( OP op1,
OP op2 
) [inline]

INT OP_Real_Inst_Words ( const OP op  ) 

INT16 OP_Real_Ops ( const OP op  ) 

BOOL OP_Refs_Reg ( const OP op,
ISA_REGISTER_CLASS  rclass,
REGISTER  reg 
)

BOOL OP_Refs_TN ( const OP op,
const struct tn opnd 
)

BOOL OP_result_is_fpu_int ( OP op,
INT  result 
) [inline]

Definition at line 946 of file op.h.

References OP_code.

BOOL OP_result_is_reg ( OP op,
INT  result 
) [inline]

Definition at line 904 of file op.h.

References OP_code.

BOOL OP_result_is_signed ( OP op,
INT  result 
) [inline]

Definition at line 932 of file op.h.

References OP_code.

Referenced by Fold_Constant_Expression().

ISA_REGISTER_CLASS OP_result_reg_class ( OP op,
INT  opnd 
) [inline]

Definition at line 981 of file op.h.

References OP_code.

Referenced by Usable_Registers().

ISA_REGISTER_SUBCLASS OP_result_reg_subclass ( OP op,
INT  opnd 
) [inline]

INT OP_result_size ( OP op,
INT  result 
) [inline]

void OPS_Append_Op ( OPS ops,
OP op 
)

void OPS_Append_Ops ( OPS ops,
OPS insert_ops 
)

OPS* OPS_Create ( void   )  [inline]

Definition at line 1038 of file op.h.

References ops::first, ops::last, ops::length, MEM_pu_pool, NULL, result, and TYPE_MEM_POOL_ALLOC.

Referenced by EDGE_PROFILE::Gen_Call_BB().

OPS* OPS_Init ( OPS ops  )  [inline]

void OPS_Insert_Op ( OPS ops,
OP point,
OP op,
BOOL  before 
)

Definition at line 516 of file oputil.cxx.

References insert_ops(), and ops::length.

Referenced by EDGE_PROFILE::Gen_Call_BB(), and sxt_sequence().

void OPS_Insert_Op_After ( OPS ops,
OP point,
OP op 
)

Definition at line 530 of file oputil.cxx.

References insert_ops_after(), and ops::length.

Referenced by CGGRP_Bundle_OPS().

void OPS_Insert_Op_Before ( OPS ops,
OP point,
OP op 
)

Definition at line 523 of file oputil.cxx.

References insert_ops_before(), and ops::length.

Referenced by CIO_RWTRAN::Predicate_Write(), and SL1_patch().

void OPS_Insert_Ops ( OPS ops,
OP point,
OPS insert_ops,
BOOL  before 
)

Definition at line 551 of file oputil.cxx.

References insert_ops(), ops::length, NULL, OPS_first, OPS_last, and OPS_length.

void OPS_Insert_Ops_After ( OPS ops,
OP point,
OPS insert_ops 
)

Definition at line 567 of file oputil.cxx.

References insert_ops_after(), ops::length, NULL, OPS_first, OPS_last, and OPS_length.

void OPS_Insert_Ops_Before ( OPS ops,
OP point,
OPS insert_ops 
)

Definition at line 559 of file oputil.cxx.

References insert_ops_before(), ops::length, NULL, OPS_first, OPS_last, and OPS_length.

Referenced by CIO_RWTRAN::Predicate_Write().

void OPS_Prepend_Op ( OPS ops,
OP op 
)

Definition at line 544 of file oputil.cxx.

References ops::length, and prepend_ops().

Referenced by BB_Split_Exit_Glue(), CGGRP_Bundle_OPS(), and Post_Multi_Branch().

void OPS_Prepend_Ops ( OPS ops,
OPS insert_ops 
)

Definition at line 583 of file oputil.cxx.

References ops::length, NULL, OPS_first, OPS_last, OPS_length, and prepend_ops().

void OPS_Remove_All ( OPS ops  )  [inline]

void OPS_Remove_Op ( OPS ops,
OP op 
) [inline]

void OPS_Remove_Ops ( OPS ops,
OPS remove_ops 
) [inline]

Definition at line 1076 of file op.h.

References first, ops::first, FmtAssert, ops::last, last, ops::length, op::next, NULL, OP_next, OP_prev, OPS_first, OPS_last, OPS_length, and op::prev.

Referenced by BB_Remove_Ops().

void Print_OP ( const OP op  ) 

void Print_OP_No_SrcLine ( const OP op  ) 

Definition at line 978 of file oputil.cxx.

Referenced by HB_Schedule::Add_OP_To_Sched_Vector(), add_to_hash_table(), Adjust_Entry(), Adjust_Exit(), KEY_SCH::Adjust_ofst(), AND_Predicate_To_OP(), Assemble_Bundles(), Assign_Registers(), Assign_Registers_For_OP(), CIO_RWTRAN::Backpatch_Op_In_Epilog(), CIO_RWTRAN::Backpatch_Op_In_Prolog(), Build_Cyclic_Arcs(), KEY_SCH::Build_OPR(), Cache_Has_Conflict(), CG_DEP_Prune_Dependence_Arcs(), CG_DEP_Trace_Arc(), CG_DEP_Trace_Op_Arcs(), CG_DEP_Trace_Op_SCC_Arcs(), CG_SCHED_EST_Ignore_Op(), CIO_RWTRAN::CICSE_Transform(), CIO_RWTRAN::CIO_Copy_Remove(), PARTITION_GRAPH::Collect_Info(), combine_adjacent_loads(), Combine_L1_L2_Prefetches(), Convert_OP_to_base_update_form(), Convert_Regs(), CIO_RWTRAN::Copy_Ops_To_Epilog(), CIO_RWTRAN::Copy_Ops_To_Prolog(), Create_Chance_For_MLBR(), Create_Vector_Load_Stores(), DB_Trace_BB(), LOOP_DCE::Dead_Code_Elimination(), delete_duplicate_op(), delete_reload_across_dependency(), delete_subset_mem_op(), dp::dump_op(), dump_op(), SCHEDULER::Dump_OP_Verbose_Info(), EBO_Fold_Load_Duplicate(), EBO_Identify_Base_and_Offset(), EBO_Lea_Insertion(), EBO_Load_Execution(), EBO_Merge_Memory_Addr(), EBO_Remove_Unused_Ops(), Fill_From_Successor(), Find_BB_TNs(), LOOP_RCE::Find_Chain(), find_duplicate_mem_op(), find_duplicate_op(), Fix_Cache_Conflict_latency(), Fix_LRA_Blues(), Fix_Recurrences_After_Unrolling(), Fixup_Ldst_Offset(), GCM_For_Loop(), GRA_Trace_Home_Removal(), hoist_predicate_of_duplicate_complement(), Induction_Variables_Removal(), CIO_RWTRAN::Mark_Op_For_Epilog(), CIO_RWTRAN::Mark_Op_For_Prolog(), merge_memory_offsets(), Modify_16bit_Ops(), Modify_24bit_Muls(), move_ext_is_replaced(), Move_Spill_Loads_Stores(), LOOP_RCE::Move_To_Epilog(), LOOP_RCE::Move_To_Prolog(), OP_Interferes_With_Vector(), OP_To_Move(), LOOP_INVAR_CODE_MOTION::Perform_Code_Motion(), Predicate_Block(), Print_BB_For_LRA(), Print_BB_Header(), Print_BB_Info(), Print_OP(), Print_OP_Vec(), CIO_RWTRAN::Print_Ops(), Print_OPs_No_SrcLines(), Print_OPS_No_SrcLines(), Print_OPSCH(), Print_Trace_File(), Print_Vector(), Redundancy_Elimination(), report_bad_mem_dep(), KEY_SCH::Schedule_BB(), KEY_SCH::Select_Variable(), Setup_Live_Ranges(), Shorten_Critical_Recurrence_By_Reassociation(), Special_Sequence(), Spill_Live_Range(), SWP_Bundle_Next_Cycle(), SWP_Gather_Lifetime_Extents(), test_is_replaced(), tn_info_entry_dump(), CIO_RWTRAN::Trace_CICSE_Changes(), CIO_RWTRAN::Trace_CICSE_Entries(), CIO_RWTRAN::Transform_Arcs(), Unpropagate_Unusable_16bit_Info(), Vector_Can_Add_Op(), and Verify_Operand().

void Print_OPS ( const OPS ops  ) 

void Print_OPs ( const OP op  ) 

Definition at line 1085 of file oputil.cxx.

References OP_next, and Print_OP().

Referenced by Print_BB(), and Trace_BB().

void Print_OPS_No_SrcLines ( const OPS ops  ) 

Definition at line 1104 of file oputil.cxx.

References FOR_ALL_OPS_OPs_FWD, and Print_OP_No_SrcLine().

Referenced by KEY_SCH::Add_Glue(), KEY_SCH::Gen_PKE(), and Special_Sequence().

void Print_OPs_No_SrcLines ( const OP op  ) 

Definition at line 1098 of file oputil.cxx.

References OP_next, and Print_OP_No_SrcLine().

Referenced by CG_DEP_Trace_Graph(), and Print_BB_No_Srclines().

INT TN_Opernum_In_OP ( OP op,
struct tn tn 
) [inline]

Definition at line 1397 of file op.h.

References FALSE, FmtAssert, i, INT, OP_opnd, and OP_opnds.

Referenced by addr_subtract(), and sxt_sequence().

BOOL TN_Pair_In_OP ( OP op,
struct tn tn_res,
struct tn tn_opnd 
) [inline]

Definition at line 1343 of file op.h.

References FALSE, i, INT, OP_opnd, OP_opnds, OP_result, OP_results, and TRUE.

Referenced by Build_Outgoing_Edges(), and Spill_Live_Range().

INT TN_Resnum_In_OP ( OP op,
struct tn tn 
) [inline]

Definition at line 1375 of file op.h.

References FALSE, FmtAssert, i, INT, OP_result, and OP_results.

Referenced by Spill_Live_Range().


Generated on Wed Apr 8 14:28:21 2009 for Open64 by  doxygen 1.5.6