Commit 3874585e by Richard Kenner Committed by Richard Kenner

stor-layout.c (put_pending_size): Look for SAVE_EXPR if not at top level; only…

stor-layout.c (put_pending_size): Look for SAVE_EXPR if not at top level; only add to pending_sizes if find it.

	* stor-layout.c (put_pending_size): Look for SAVE_EXPR if not at top
	level; only add to pending_sizes if find it.

From-SVN: r47415
parent d6d709cd
Wed Nov 28 08:21:47 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> Wed Nov 28 08:21:47 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
* stor-layout.c (put_pending_size): Look for SAVE_EXPR if not at top
level; only add to pending_sizes if find it.
* langhooks.c (lhd_safe_from_p): Add ATTRIBUTE_UNUSED. * langhooks.c (lhd_safe_from_p): Add ATTRIBUTE_UNUSED.
* df.c (iterate_dataflow_sbitmap, iterate_dataflow_bitmap): * df.c (iterate_dataflow_sbitmap, iterate_dataflow_bitmap):
......
...@@ -114,7 +114,15 @@ void ...@@ -114,7 +114,15 @@ void
put_pending_size (expr) put_pending_size (expr)
tree expr; tree expr;
{ {
pending_sizes = tree_cons (NULL_TREE, expr, pending_sizes); /* Strip any simple arithmetic from EXPR to see if it has an underlying
SAVE_EXPR. */
while (TREE_CODE_CLASS (TREE_CODE (expr)) == '1'
|| (TREE_CODE_CLASS (TREE_CODE (expr)) == '2'
&& TREE_CONSTANT (TREE_OPERAND (expr, 1))))
expr = TREE_OPERAND (expr, 0);
if (TREE_CODE (expr) == SAVE_EXPR)
pending_sizes = tree_cons (NULL_TREE, expr, pending_sizes);
} }
/* Put a chain of objects into the pending sizes list, which must be /* Put a chain of objects into the pending sizes list, which must be
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment