Convert DF_REF_INSN to a function for now
authordmalcolm <dmalcolm@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 19 Aug 2014 15:18:42 +0000 (15:18 +0000)
committerdmalcolm <dmalcolm@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 19 Aug 2014 15:18:42 +0000 (15:18 +0000)
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214160 138bc75d-0d04-0410-961f-82ee72b054a4

ChangeLog
gcc/ChangeLog
gcc/df-core.c
gcc/df.h
rtx-classes-status.txt

index 52976fe..3c35216 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2014-08-19  David Malcolm  <dmalcolm@redhat.com>
+
+       * rtx-classes-status.txt (TODO): Add DF_REF_INSN.
+
 2014-08-19  Joost VandeVondele <vondele@gcc.gnu.org>
 
        * MAINTAINERS (Write After Approval): Add myself.
index a4d6c72..bdc40fe 100644 (file)
@@ -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
index ae0d233..5d32fa3 100644 (file)
@@ -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);
+}
index ca0f228..9f54023 100644 (file)
--- 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)
index 042eee2..e4d404f 100644 (file)
@@ -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