From 8020a4d5c58aed7abfe15c681e62f133f87e788e Mon Sep 17 00:00:00 2001 From: David Malcolm Date: Tue, 19 Aug 2014 15:18:42 +0000 Subject: [PATCH] Convert DF_REF_INSN to a function for now gcc/ 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 David Malcolm * rtx-classes-status.txt (TODO): Add DF_REF_INSN. From-SVN: r214160 --- ChangeLog | 4 ++++ gcc/ChangeLog | 6 ++++++ gcc/df-core.c | 6 ++++++ gcc/df.h | 2 +- rtx-classes-status.txt | 1 + 5 files changed, 18 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 52976fe372f..3c35216fdbd 100644 --- a/ChangeLog +++ b/ChangeLog @@ -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. diff --git a/gcc/ChangeLog b/gcc/ChangeLog index a4d6c72aefd..bdc40fe5192 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -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 diff --git a/gcc/df-core.c b/gcc/df-core.c index ae0d2330133..5d32fa3e795 100644 --- a/gcc/df-core.c +++ b/gcc/df-core.c @@ -2502,3 +2502,9 @@ debug_df_chain (struct df_link *link) 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); +} diff --git a/gcc/df.h b/gcc/df.h index ca0f228c3e7..9f54023f3df 100644 --- a/gcc/df.h +++ b/gcc/df.h @@ -649,7 +649,7 @@ struct df_d : 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) diff --git a/rtx-classes-status.txt b/rtx-classes-status.txt index 042eee294d0..e4d404ffca2 100644 --- a/rtx-classes-status.txt +++ b/rtx-classes-status.txt @@ -14,5 +14,6 @@ Phase 6: use extra rtx_def subclasses: TODO 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