diff options
author | Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | 2001-10-01 23:22:24 +0000 |
---|---|---|
committer | Richard Kenner <kenner@gcc.gnu.org> | 2001-10-01 19:22:24 -0400 |
commit | f47e9b4ebf7ee5983c2e5b36816eef62a9e461d1 (patch) | |
tree | acaf47bae1cbf1fc574dc450a9f1449a4afad567 /gcc/expr.h | |
parent | 477946a63dee474c725243ae0d998f4cba1bfc0a (diff) | |
download | gcc-f47e9b4ebf7ee5983c2e5b36816eef62a9e461d1.zip gcc-f47e9b4ebf7ee5983c2e5b36816eef62a9e461d1.tar.gz gcc-f47e9b4ebf7ee5983c2e5b36816eef62a9e461d1.tar.bz2 |
alias.c (get_alias_set): Try to replace PLACEHOLDER_EXPR.
* alias.c (get_alias_set): Try to replace PLACEHOLDER_EXPR.
Loop through NOPs, placeholders, and components.
Don't go through NOPs if change mode.
(record_alias_subset): Do nothing if SUBSET and SET are the same.
* emit-rtl.c (set_mem_alias_set): Enable check.
* expr.c (find_placeholder): New function.
(expand_expr, case PLACEHOLDER_EXPR): Use it.
(expand_expr, case COMPONENT_EXPR): Always copy OP0 when we need
to modify it and avoid unneeded copies.
* expr.h (expand_expr): Always define.
(find_placeholder): New declaration.
From-SVN: r45931
Diffstat (limited to 'gcc/expr.h')
-rw-r--r-- | gcc/expr.h | 10 |
1 files changed, 8 insertions, 2 deletions
@@ -498,13 +498,19 @@ extern rtx store_expr PARAMS ((tree, rtx, int)); Useful after calling expand_expr with 1 as sum_ok. */ extern rtx force_operand PARAMS ((rtx, rtx)); -#ifdef TREE_CODE +/* Return an object on the placeholder list that matches EXP, a + PLACEHOLDER_EXPR. An object "matches" if it is of the type of the + PLACEHOLDER_EXPR or a pointer type to it. For further information, + see tree.def. If no such object is found, abort. If PLIST is nonzero, + it is a location into which a pointer into the placeholder list at + which the object is found is placed. */ +extern tree find_placeholder PARAMS ((tree, tree *)); + /* Generate code for computing expression EXP. An rtx for the computed value is returned. The value is never null. In the case of a void EXP, const0_rtx is returned. */ extern rtx expand_expr PARAMS ((tree, rtx, enum machine_mode, enum expand_modifier)); -#endif /* At the start of a function, record that we have no previously-pushed arguments waiting to be popped. */ |