Index: ChangeLog =================================================================== --- ChangeLog (revision 214159) +++ ChangeLog (revision 214160) @@ -1,3 +1,7 @@ +2014-08-19 David Malcolm + + * rtx-classes-status.txt (TODO): Add DF_REF_INSN. + 2014-08-19 Joost VandeVondele * MAINTAINERS (Write After Approval): Add myself. Index: rtx-classes-status.txt =================================================================== --- rtx-classes-status.txt (revision 214159) +++ rtx-classes-status.txt (revision 214160) @@ -14,5 +14,6 @@ TODO: "Scaffolding" to be removed ================================= +* DF_REF_INSN * SET_BB_HEAD, SET_BB_END, SET_BB_HEADER, SET_BB_FOOTER * SET_NEXT_INSN, SET_PREV_INSN Index: gcc/ChangeLog =================================================================== --- gcc/ChangeLog (revision 214159) +++ gcc/ChangeLog (revision 214160) @@ -1,3 +1,9 @@ +2014-08-19 David Malcolm + + * df-core.c (DF_REF_INSN): New, using a checked cast for now. + * df.h (DF_REF_INSN): Convert from a macro to a function, so + that we can return an rtx_insn *. + 2014-08-19 Yaakov Selkowitz * config/i386/cygwin.h (LINK_SPEC): Pass --tsaware flag only Index: gcc/df-core.c =================================================================== --- gcc/df-core.c (revision 214159) +++ gcc/df-core.c (revision 214160) @@ -2502,3 +2502,9 @@ df_chain_dump (link, stderr); fputc ('\n', stderr); } + +rtx_insn *DF_REF_INSN (df_ref ref) +{ + rtx insn = ref->base.insn_info->insn; + return safe_as_a (insn); +} Index: gcc/df.h =================================================================== --- gcc/df.h (revision 214159) +++ gcc/df.h (revision 214160) @@ -649,7 +649,7 @@ : BLOCK_FOR_INSN (DF_REF_INSN (REF))) #define DF_REF_BBNO(REF) (DF_REF_BB (REF)->index) #define DF_REF_INSN_INFO(REF) ((REF)->base.insn_info) -#define DF_REF_INSN(REF) ((REF)->base.insn_info->insn) +extern rtx_insn *DF_REF_INSN (df_ref ref); #define DF_REF_INSN_UID(REF) (INSN_UID (DF_REF_INSN(REF))) #define DF_REF_CLASS(REF) ((REF)->base.cl) #define DF_REF_TYPE(REF) ((REF)->base.type)