This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[PATCH 214/236] rtl_data.x_stack_slot_list becomes an rtx_expr_list
- From: David Malcolm <dmalcolm at redhat dot com>
- To: gcc-patches at gcc dot gnu dot org
- Cc: David Malcolm <dmalcolm at redhat dot com>
- Date: Wed, 6 Aug 2014 13:23:13 -0400
- Subject: [PATCH 214/236] rtl_data.x_stack_slot_list becomes an rtx_expr_list
- Authentication-results: sourceware.org; auth=none
- References: <1407345815-14551-1-git-send-email-dmalcolm at redhat dot com>
gcc/
* function.h (struct rtl_data): Strengthen field
"x_stack_slot_list" from rtx to rtx_expr_list *.
* emit-rtl.c (unshare_all_rtl_1): Add a checked cast
when assigning to stack_slot_list.
---
gcc/emit-rtl.c | 3 ++-
gcc/function.h | 2 +-
2 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/gcc/emit-rtl.c b/gcc/emit-rtl.c
index 5d946b8..5a2d549 100644
--- a/gcc/emit-rtl.c
+++ b/gcc/emit-rtl.c
@@ -2550,7 +2550,8 @@ unshare_all_rtl_1 (rtx_insn *insn)
This special care is necessary when the stack slot MEM does not
actually appear in the insn chain. If it does appear, its address
is unshared from all else at that point. */
- stack_slot_list = copy_rtx_if_shared (stack_slot_list);
+ stack_slot_list = as_a_nullable <rtx_expr_list *> (
+ copy_rtx_if_shared (stack_slot_list));
}
/* Go through all the RTL insn bodies and copy any invalid shared
diff --git a/gcc/function.h b/gcc/function.h
index a176e0a..1f8da7a 100644
--- a/gcc/function.h
+++ b/gcc/function.h
@@ -280,7 +280,7 @@ struct GTY(()) rtl_data {
/* List (chain of EXPR_LISTs) of all stack slots in this function.
Made for the sake of unshare_all_rtl. */
- rtx x_stack_slot_list;
+ rtx_expr_list *x_stack_slot_list;
/* List of empty areas in the stack frame. */
struct frame_space *frame_space_list;
--
1.8.5.3