This is an example of strengthening rtx. For example, we now have strong enough types provided by the existing scaffolding to turn "insn" and "insns" in this:
for (insn = insns; insn; insn = NEXT_INSN (insn)) from plain rtx into rtx_insn *. gcc/ * asan.c (asan_clear_shadow): Strengthen locals "insn", "insns" and "jump" from rtx to rtx_insn *. Strengthen local "top_label" from rtx to rtx_code_label *. --- gcc/asan.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/gcc/asan.c b/gcc/asan.c index 11627c7..82e601d 100644 --- a/gcc/asan.c +++ b/gcc/asan.c @@ -905,7 +905,9 @@ asan_shadow_cst (unsigned char shadow_bytes[4]) static void asan_clear_shadow (rtx shadow_mem, HOST_WIDE_INT len) { - rtx insn, insns, top_label, end, addr, tmp, jump; + rtx_insn *insn, *insns, *jump; + rtx_code_label *top_label; + rtx end, addr, tmp; start_sequence (); clear_storage (shadow_mem, GEN_INT (len), BLOCK_OP_NORMAL); -- 1.8.5.3