Summary: | a & b & ~a & ~b not optimized at the tree level | ||
---|---|---|---|
Product: | gcc | Reporter: | Andrew Pinski <pinskia> |
Component: | tree-optimization | Assignee: | Daniel Berlin <dberlin> |
Status: | RESOLVED FIXED | ||
Severity: | enhancement | CC: | gcc-bugs |
Priority: | P2 | Keywords: | missed-optimization, TREE |
Version: | 4.0.0 | ||
Target Milestone: | 4.2.0 | ||
See Also: | https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111543 | ||
Host: | Target: | ||
Build: | Known to work: | ||
Known to fail: | Last reconfirmed: | 2005-12-09 04:24:20 | |
Bug Depends on: | 21445 | ||
Bug Blocks: | 19986 |
Description
Andrew Pinski
2004-06-08 18:36:45 UTC
Confirmed. I have a patch for this Fixed by: 2005-12-12 Jeff Law <law@redhat.com> * tree-ssa-dom.c (simplify_rhs_and_lookup_avail_expr): Remove reassociation code. * passes.c (init_optimization_passes): Run reassociation again after loop optimizations. 2005-12-12 Daniel Berlin <dberlin@dberlin.org> * tree-ssa-dom.c (thread_across_edge): Canonicalize condition if necessary. (optimize_stmt): Ditto. (canonicalize_comparison): New function. * tree-ssa-operands.c (swap_tree_operands): Make external. (get_expr_operands): Stop auto-canonicalization. * tree-ssa-reassoc.c: Rewrite. (init_optimization_passes): * tree-flow.h (swap_tree_operands): Prototype. * Makefile.in (tree-ssa-reassoc.o): Update dependencies. |