aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorDavid Malcolm <dmalcolm@redhat.com>2014-08-26 06:47:53 +0000
committerDavid Malcolm <dmalcolm@gcc.gnu.org>2014-08-26 06:47:53 +0000
commit94d64bbd614a380a111db37f8c33fd6d4d6495e2 (patch)
tree7db3743edc72e2f6857e6cb9252617a027022ccc /gcc
parent347990b7cbe2a404c6c8ba82f957bc278dbd67c0 (diff)
downloadgcc-94d64bbd614a380a111db37f8c33fd6d4d6495e2.zip
gcc-94d64bbd614a380a111db37f8c33fd6d4d6495e2.tar.gz
gcc-94d64bbd614a380a111db37f8c33fd6d4d6495e2.tar.bz2
Update rs6000.c's pass_analyze_swaps to use rtx_insn
gcc/ * config/rs6000/rs6000.c (class swap_web_entry): Strengthen field "insn" from rtx to rtx_insn *. (permute_load): Likewise for param "insn". (permute_store): Likewise. (handle_special_swappables): Likewise for local "insn". (replace_swap_with_copy): Likewise for locals "insn" and "new_insn". (rs6000_analyze_swaps): Likewise for local "insn". From-SVN: r214489
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog11
-rw-r--r--gcc/config/rs6000/rs6000.c14
2 files changed, 18 insertions, 7 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index d42d1db..e1a1bea 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,14 @@
+2014-08-26 David Malcolm <dmalcolm@redhat.com>
+
+ * config/rs6000/rs6000.c (class swap_web_entry): Strengthen field
+ "insn" from rtx to rtx_insn *.
+ (permute_load): Likewise for param "insn".
+ (permute_store): Likewise.
+ (handle_special_swappables): Likewise for local "insn".
+ (replace_swap_with_copy): Likewise for locals "insn" and
+ "new_insn".
+ (rs6000_analyze_swaps): Likewise for local "insn".
+
2014-08-25 David Malcolm <dmalcolm@redhat.com>
* regrename.h (struct du_chain): Strengthen field "insn" from rtx
diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c
index c95c295..3fce3a3 100644
--- a/gcc/config/rs6000/rs6000.c
+++ b/gcc/config/rs6000/rs6000.c
@@ -33496,7 +33496,7 @@ class swap_web_entry : public web_entry_base
{
public:
/* Pointer to the insn. */
- rtx insn;
+ rtx_insn *insn;
/* Set if insn contains a mention of a vector register. All other
fields are undefined if this field is unset. */
unsigned int is_relevant : 1;
@@ -34040,7 +34040,7 @@ adjust_subreg_index (rtx op)
/* Convert the non-permuting load INSN to a permuting one. */
static void
-permute_load (rtx insn)
+permute_load (rtx_insn *insn)
{
rtx body = PATTERN (insn);
rtx mem_op = SET_SRC (body);
@@ -34066,7 +34066,7 @@ permute_load (rtx insn)
/* Convert the non-permuting store INSN to a permuting one. */
static void
-permute_store (rtx insn)
+permute_store (rtx_insn *insn)
{
rtx body = PATTERN (insn);
rtx src_reg = SET_SRC (body);
@@ -34094,7 +34094,7 @@ permute_store (rtx insn)
static void
handle_special_swappables (swap_web_entry *insn_entry, unsigned i)
{
- rtx insn = insn_entry[i].insn;
+ rtx_insn *insn = insn_entry[i].insn;
rtx body = PATTERN (insn);
switch (insn_entry[i].special_handling)
@@ -34133,11 +34133,11 @@ handle_special_swappables (swap_web_entry *insn_entry, unsigned i)
static void
replace_swap_with_copy (swap_web_entry *insn_entry, unsigned i)
{
- rtx insn = insn_entry[i].insn;
+ rtx_insn *insn = insn_entry[i].insn;
rtx body = PATTERN (insn);
rtx src_reg = XEXP (SET_SRC (body), 0);
rtx copy = gen_rtx_SET (VOIDmode, SET_DEST (body), src_reg);
- rtx new_insn = emit_insn_before (copy, insn);
+ rtx_insn *new_insn = emit_insn_before (copy, insn);
set_block_for_insn (new_insn, BLOCK_FOR_INSN (insn));
df_insn_rescan (new_insn);
@@ -34209,7 +34209,7 @@ rs6000_analyze_swaps (function *fun)
{
swap_web_entry *insn_entry;
basic_block bb;
- rtx insn;
+ rtx_insn *insn;
/* Dataflow analysis for use-def chains. */
df_set_flags (DF_RD_PRUNE_DEAD_DEFS);