gcc-8.3/gcc/instantiate_virtual_regs()
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
*参照元 [#w197645f]
#backlinks
*説明 [#mda5557c]
-パス: [[gcc-8.3/gcc/function.c]]
-FIXME: これは何?
--説明
**引数 [#c82003f4]
-なし
**返り値 [#jba579cc]
-unsigned int
--
**参考 [#g77486f0]
*実装 [#k979218b]
/* Pass through the INSNS of function FNDECL and convert...
references to hard register references. */
static unsigned int
instantiate_virtual_regs (void)
{
rtx_insn *insn;
-
--[[gcc-8.3/gcc/rtx_insn]]
/* Compute the offsets to use for this function. */
in_arg_offset = FIRST_PARM_OFFSET (current_function_de...
var_offset = targetm.starting_frame_offset ();
dynamic_offset = STACK_DYNAMIC_OFFSET (current_functio...
out_arg_offset = STACK_POINTER_OFFSET;
#ifdef FRAME_POINTER_CFA_OFFSET
cfa_offset = FRAME_POINTER_CFA_OFFSET (current_functio...
#else
cfa_offset = ARG_POINTER_CFA_OFFSET (current_function_...
#endif
-
--[[gcc-8.3/gcc/FIRST_PARM_OFFSET()]]
--[[gcc-8.3/gcc/STACK_DYNAMIC_OFFSET()]]
--[[gcc-8.3/gcc/STACK_POINTER_OFFSET()]]
--[[gcc-8.3/gcc/FRAME_POINTER_CFA_OFFSET()]]
--[[gcc-8.3/gcc/ARG_POINTER_CFA_OFFSET()]]
--[[gcc-8.3/gcc/targetm(global)]]
--targetm は struct gcc_target 型
---[[gcc-8.3/gcc/gcc_target]]
--[[gcc-8.3/gcc/cuurent_function_decl(global)]]
--current_function_decl は struct tree 型
---[[gcc-8.3/gcc/tree]]
/* Initialize recognition, indicating that volatile is...
init_recog ();
-
--[[gcc-8.3/gcc/init_recog()]]
/* Scan through all the insns, instantiating every vir...
present. */
for (insn = get_insns (); insn; insn = NEXT_INSN (insn))
-
--[[gcc-8.3/gcc/get_insns()]]
--[[gcc-8.3/gcc/NEXT_INSN()]]
if (INSN_P (insn))
{
/* These patterns in the instruction stream can never b...
Fortunately, they shouldn't contain virtual register...
if (GET_CODE (PATTERN (insn)) == USE
|| GET_CODE (PATTERN (insn)) == CLOBBER
|| GET_CODE (PATTERN (insn)) == ASM_INPUT
|| DEBUG_MARKER_INSN_P (insn))
continue;
else if (DEBUG_BIND_INSN_P (insn))
instantiate_virtual_regs_in_rtx (INSN_VAR_LOCATION_PT...
else
instantiate_virtual_regs_in_insn (insn);
-
--[[gcc-8.3/gcc/INSN_P()]]
--[[gcc-8.3/gcc/GET_CODE()]]
--[[gcc-8.3/gcc/DEBUG_MARKER_INSN_P()]]
--[[gcc-8.3/gcc/DEBUG_BIND_INSN_P()]]
--[[gcc-8.3/gcc/instantiate_virtual_regs_in_rtx()]]
--[[gcc-8.3/gcc/INSN_VAR_LOCATION_PTR()]]
--[[gcc-8.3/gcc/instantiate_virtual_regs_in_insn()]]
if (insn->deleted ())
continue;
-
--[[gcc-8.3/gcc/rtx_insn/deleted()]]
instantiate_virtual_regs_in_rtx (®_NOTES (insn));
-
--[[gcc-8.3/gcc/REG_NOTES()]]
/* Instantiate any virtual registers in CALL_INSN_FUNCT...
if (CALL_P (insn))
instantiate_virtual_regs_in_rtx (&CALL_INSN_FUNCTION_...
}
-
--[[gcc-8.3/gcc/CALL_P()]]
--[[gcc-8.3/gcc/CALL_INSN_FUNCTION_USAGE()]]
/* Instantiate the virtual registers in the DECLs for ...
instantiate_decls (current_function_decl);
-
--[[gcc-8.3/gcc/instantiate_decls()]]
targetm.instantiate_decls ();
/* Indicate that, from now on, assign_stack_local shou...
frame_pointer_rtx. */
virtuals_instantiated = 1;
return 0;
}
*コメント [#we3be0b9]
終了行:
*参照元 [#w197645f]
#backlinks
*説明 [#mda5557c]
-パス: [[gcc-8.3/gcc/function.c]]
-FIXME: これは何?
--説明
**引数 [#c82003f4]
-なし
**返り値 [#jba579cc]
-unsigned int
--
**参考 [#g77486f0]
*実装 [#k979218b]
/* Pass through the INSNS of function FNDECL and convert...
references to hard register references. */
static unsigned int
instantiate_virtual_regs (void)
{
rtx_insn *insn;
-
--[[gcc-8.3/gcc/rtx_insn]]
/* Compute the offsets to use for this function. */
in_arg_offset = FIRST_PARM_OFFSET (current_function_de...
var_offset = targetm.starting_frame_offset ();
dynamic_offset = STACK_DYNAMIC_OFFSET (current_functio...
out_arg_offset = STACK_POINTER_OFFSET;
#ifdef FRAME_POINTER_CFA_OFFSET
cfa_offset = FRAME_POINTER_CFA_OFFSET (current_functio...
#else
cfa_offset = ARG_POINTER_CFA_OFFSET (current_function_...
#endif
-
--[[gcc-8.3/gcc/FIRST_PARM_OFFSET()]]
--[[gcc-8.3/gcc/STACK_DYNAMIC_OFFSET()]]
--[[gcc-8.3/gcc/STACK_POINTER_OFFSET()]]
--[[gcc-8.3/gcc/FRAME_POINTER_CFA_OFFSET()]]
--[[gcc-8.3/gcc/ARG_POINTER_CFA_OFFSET()]]
--[[gcc-8.3/gcc/targetm(global)]]
--targetm は struct gcc_target 型
---[[gcc-8.3/gcc/gcc_target]]
--[[gcc-8.3/gcc/cuurent_function_decl(global)]]
--current_function_decl は struct tree 型
---[[gcc-8.3/gcc/tree]]
/* Initialize recognition, indicating that volatile is...
init_recog ();
-
--[[gcc-8.3/gcc/init_recog()]]
/* Scan through all the insns, instantiating every vir...
present. */
for (insn = get_insns (); insn; insn = NEXT_INSN (insn))
-
--[[gcc-8.3/gcc/get_insns()]]
--[[gcc-8.3/gcc/NEXT_INSN()]]
if (INSN_P (insn))
{
/* These patterns in the instruction stream can never b...
Fortunately, they shouldn't contain virtual register...
if (GET_CODE (PATTERN (insn)) == USE
|| GET_CODE (PATTERN (insn)) == CLOBBER
|| GET_CODE (PATTERN (insn)) == ASM_INPUT
|| DEBUG_MARKER_INSN_P (insn))
continue;
else if (DEBUG_BIND_INSN_P (insn))
instantiate_virtual_regs_in_rtx (INSN_VAR_LOCATION_PT...
else
instantiate_virtual_regs_in_insn (insn);
-
--[[gcc-8.3/gcc/INSN_P()]]
--[[gcc-8.3/gcc/GET_CODE()]]
--[[gcc-8.3/gcc/DEBUG_MARKER_INSN_P()]]
--[[gcc-8.3/gcc/DEBUG_BIND_INSN_P()]]
--[[gcc-8.3/gcc/instantiate_virtual_regs_in_rtx()]]
--[[gcc-8.3/gcc/INSN_VAR_LOCATION_PTR()]]
--[[gcc-8.3/gcc/instantiate_virtual_regs_in_insn()]]
if (insn->deleted ())
continue;
-
--[[gcc-8.3/gcc/rtx_insn/deleted()]]
instantiate_virtual_regs_in_rtx (®_NOTES (insn));
-
--[[gcc-8.3/gcc/REG_NOTES()]]
/* Instantiate any virtual registers in CALL_INSN_FUNCT...
if (CALL_P (insn))
instantiate_virtual_regs_in_rtx (&CALL_INSN_FUNCTION_...
}
-
--[[gcc-8.3/gcc/CALL_P()]]
--[[gcc-8.3/gcc/CALL_INSN_FUNCTION_USAGE()]]
/* Instantiate the virtual registers in the DECLs for ...
instantiate_decls (current_function_decl);
-
--[[gcc-8.3/gcc/instantiate_decls()]]
targetm.instantiate_decls ();
/* Indicate that, from now on, assign_stack_local shou...
frame_pointer_rtx. */
virtuals_instantiated = 1;
return 0;
}
*コメント [#we3be0b9]
ページ名: