Movatterモバイル変換


[0]ホーム

URL:


Next:, Previous:, Up:RTL Representation   [Contents][Index]


13.18 Variable Location Debug Information in RTL

Variable tracking relies onMEM_EXPR andREG_EXPRannotations to determine what user variables memory and registerreferences refer to.

Variable tracking at assignments uses these notes only when they referto variables that live at fixed locations (e.g., addressablevariables, global non-automatic variables). For variables whoselocation may vary, it relies on the following types of notes.

(var_location:modevarexpstat)

Binds variablevar, a tree, to valueexp, an RTLexpression. It appears only inNOTE_INSN_VAR_LOCATION andDEBUG_INSNs, with slightly different meanings.mode, ifpresent, represents the mode ofexp, which is useful if it is amodeless expression.stat is only meaningful in notes,indicating whether the variable is known to be initialized oruninitialized.

(debug_expr:modedecl)

Stands for the value bound to theDEBUG_EXPR_DECLdecl,that points back to it, within value expressions inVAR_LOCATION nodes.

(debug_implicit_ptr:modedecl)

Stands for the location of adecl that is no longer addressable.

(entry_value:modedecl)

Stands for the value adecl had at the entry point of thecontaining function.

(debug_parameter_ref:modedecl)

Refers to a parameter that was completely optimized out.

(debug_marker:mode)

Marks a program location. WithVOIDmode, it stands for thebeginning of a statement, a recommended inspection point logically afterall prior side effects, and before any subsequent side effects. WithBLKmode, it indicates an inline entry point: the lexical blockencoded in theINSN_LOCATION is the enclosing block that enclosesthe inlined function.


Next:Insns, Previous:Assembler Instructions as Expressions, Up:RTL Representation   [Contents][Index]


[8]ページ先頭

©2009-2026 Movatter.jp