[prev in list] [next in list] [prev in thread] [next in thread]
List: gcc-bugs
Subject: [Bug optimization/11373] [tree-ssa] asm generated lhs expressions are discarded
From: "cvs-commit at gcc dot gnu dot org" <gcc-bugzilla () gcc ! gnu ! org>
Date: 2003-07-31 16:33:33
[Download RAW message or body]
PLEASE REPLY TO gcc-bugzilla@gcc.gnu.org ONLY, *NOT* gcc-bugs@gcc.gnu.org.
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=11373
------- Additional Comments From cvs-commit at gcc dot gnu dot org 2003-07-31 16:33 \
-------
Subject: Bug 11373
CVSROOT: /cvs/gcc
Module name: gcc
Branch: tree-ssa-20020619-branch
Changes by: dnovillo@gcc.gnu.org 2003-07-31 16:33:27
Modified files:
gcc : ChangeLog.tree-ssa Makefile.in builtins.c
expr.h tree-dfa.c tree-flow.h tree-ssa-ccp.c
tree-ssa-dce.c tree-ssa-dom.c tree.h
Log message:
2003-07-31 Diego Novillo <dnovillo@redhat.com>
* Makefile.in (tree-ssa-ccp.o): Depend on $(EXPR_H).
* builtins.c (c_strlen): Remove static declaration.
(simplify_builtin_fputs): Remove static declaration.
(simplify_builtin_sprintf): New local function.
(expand_builtin_sprintf): Remove by surrounding with #if 0.
(expand_builtin): Add BUILT_IN_SPRINTF to the list of built-ins
handed over to simplify_builtin.
(validate_arglist): Do not allow arguments with TREE_SIDE_EFFECTS.
(simplify_builtin_fputs): Add new argument KNOWN_LEN. If it's set,
use it instead of trying to compute the length of the string.
Update all callers.
* expr.h (simplify_builtin_fputs): Declare.
* tree-flow.h (fold_stmt): Change argument type to tree *. Update
all users.
* tree-ssa-ccp.c: Include expr.h.
(replace_uses_in): If the statement makes a call to some selected
built-ins, mark it for folding.
(get_strlen): New local function.
(ccp_fold_builtin): New local function.
(fold_stmt): Call it.
(set_rhs): Fix if-else-if chaining. Handle cases where the whole
statement needs to be replaced.
* tree.h (c_strlen): Declare.
2003-07-31 Diego Novillo <dnovillo@redhat.com>
Fix PR optimization/11373
* tree-ssa-dce.c (stmt_useful_p): Get statement operands before
checking for volatile operands.
* tree-dfa.c (get_expr_operands): If a constant is dereferenced as a
pointer, mark the statement as having volatile operands.
(may_access_global_mem_p): If a non-NULL constant is used as a
pointer, consider it as pointing to global memory.
* tree-ssa-dom.c (optimize_stmt): Set addr_expr_propagated_p when
propagating pointers that are integer constants.
Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.tree-ssa.diff?cvsroot=gcc&only_with_tag=tree-ssa-20020619-branch&r1=1.1.2.544&r2=1.1.2.545
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/Makefile.in.diff?cvsroot=gcc&only_with_tag=tree-ssa-20020619-branch&r1=1.903.2.104&r2=1.903.2.105
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/builtins.c.diff?cvsroot=gcc&only_with_tag=tree-ssa-20020619-branch&r1=1.152.2.27&r2=1.152.2.28
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/expr.h.diff?cvsroot=gcc&only_with_tag=tree-ssa-20020619-branch&r1=1.117.2.15&r2=1.117.2.16
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/tree-dfa.c.diff?cvsroot=gcc&only_with_tag=tree-ssa-20020619-branch&r1=1.1.4.137&r2=1.1.4.138
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/tree-flow.h.diff?cvsroot=gcc&only_with_tag=tree-ssa-20020619-branch&r1=1.1.4.97&r2=1.1.4.98
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/tree-ssa-ccp.c.diff?cvsroot=gcc&only_with_tag=tree-ssa-20020619-branch&r1=1.1.2.80&r2=1.1.2.81
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/tree-ssa-dce.c.diff?cvsroot=gcc&only_with_tag=tree-ssa-20020619-branch&r1=1.1.2.48&r2=1.1.2.49
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/tree-ssa-dom.c.diff?cvsroot=gcc&only_with_tag=tree-ssa-20020619-branch&r1=1.1.2.14&r2=1.1.2.15
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/tree.h.diff?cvsroot=gcc&only_with_tag=tree-ssa-20020619-branch&r1=1.342.2.85&r2=1.342.2.86
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic