Next: , Previous: Assembler, Up: RTL


10.18 RTL中的变量位置调试信息

变量跟踪(Variable tracking)依靠MEM_EXPRREG_EXPR注解来确定所引用的用户变量内存和寄存器。

赋值语句中的变量跟踪只有当它们引用了在固定点活跃的变量(例如,可寻址变量,全局非自动变量)时,才使用这些注解。对于位置有变化的变量,其依靠下列类型的注解。

(var_location:mode var exp stat)
绑定变量var,一个tree,到值exp,一个RTL表达式。其只出现在NOTE_INSN_VAR_LOCATIONDEBUG_INSN中,并且含义有些细微的差别。mode,如果存在,则表示exp的机器模式,这用于当其为一个无机器模式的表达式时。stat只在注解中有含义,表示变量是否已知为被初始化或者未被初始化。


(debug_expr:mode decl)
表示绑定到DEBUG_EXPR_DECL decl上的值。