]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
Convert DF_REF_INSN to a function for now
authorDavid Malcolm <dmalcolm@redhat.com>
Tue, 19 Aug 2014 15:18:42 +0000 (15:18 +0000)
committerDavid Malcolm <dmalcolm@gcc.gnu.org>
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.

From-SVN: r214160

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

index 52976fe372fe0f1201f11120f6460fc897101b51..3c35216fdbd7d70efd81e42e7a73ce2b2acba367 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 a4d6c72aefd0813d88ae3a2d265d557280b95fb9..bdc40fe5192b936901cdbf4dba17a4080536d62d 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 ae0d2330133961942153e7816a71ec5aff44eab3..5d32fa3e7958a814cfcf43549b82f28546c67515 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 ca0f228c3e70be1eecbc1e62bfdda7dd11c0b593..9f54023f3df6e5d1a601eb639dde4aa6d10b9af5 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 042eee294d0b225d7e31cf0fba4d1f773e158dd3..e4d404ffca2d9b458250ec2465f164738cbad546 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