10.18 RTL中的变量位置调试信息
变量跟踪(Variable tracking)依靠MEM_EXPR和REG_EXPR注解来确定所引用的用户变量内存和寄存器。
赋值语句中的变量跟踪只有当它们引用了在固定点活跃的变量(例如,可寻址变量,全局非自动变量)时,才使用这些注解。对于位置有变化的变量,其依靠下列类型的注解。
(var_location:mode var exp stat)-
绑定变量
var,一个tree,到值exp,一个RTL表达式。其只出现在NOTE_INSN_VAR_LOCATION和DEBUG_INSN中,并且含义有些细微的差别。mode,如果存在,则表示exp的机器模式,这用于当其为一个无机器模式的表达式时。stat只在注解中有含义,表示变量是否已知为被初始化或者未被初始化。
(debug_expr:mode decl)-
表示绑定到
DEBUG_EXPR_DECL decl上的值。