summaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorDavid Malcolm <dmalcolm@redhat.com>2014-08-19 15:18:42 +0000
committerDavid Malcolm <dmalcolm@gcc.gnu.org>2014-08-19 15:18:42 +0000
commit8020a4d5c58aed7abfe15c681e62f133f87e788e (patch)
tree4abcc393c1039989e9f81dd63bb808c0c7a5d5e6 /gcc
parenta231b8a5c5afe17e1f3dcedb47a34a7f35081b6f (diff)
Convert DF_REF_INSN to a function for now
gcc/ 2014-08-19 David Malcolm <dmalcolm@redhat.com> * 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 <dmalcolm@redhat.com> * rtx-classes-status.txt (TODO): Add DF_REF_INSN. From-SVN: r214160
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/df-core.c6
-rw-r--r--gcc/df.h2
3 files changed, 13 insertions, 1 deletions
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 <dmalcolm@redhat.com>
+
+ * 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 <yselkowi@redhat.com>
* 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 <rtx_insn *> (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)