rtl_data.x_stack_slot_list becomes an rtx_expr_list

gcc/
2014-08-27  David Malcolm  <dmalcolm@redhat.com>

	* 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.

From-SVN: r214604
This commit is contained in:
David Malcolm 2014-08-27 20:38:06 +00:00 committed by David Malcolm
parent 2382940b41
commit 0f4783c7f7
3 changed files with 11 additions and 2 deletions

View File

@ -1,3 +1,11 @@
2014-08-27 David Malcolm <dmalcolm@redhat.com>
* 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.
2014-08-27 David Malcolm <dmalcolm@redhat.com>
* function.h (struct rtl_data): Strengthen field

View File

@ -2555,7 +2555,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 = safe_as_a <rtx_expr_list *> (
copy_rtx_if_shared (stack_slot_list));
}
/* Go through all the RTL insn bodies and copy any invalid shared

View File

@ -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;