Commit fff6a306 by Uros Bizjak

re PR tree-optimization/51118 (ICE: tree check: expected tree that contains…

re PR tree-optimization/51118 (ICE: tree check: expected tree that contains ‘typed’ structure, have ‘block’ in fold_checksum_tree, at fold-const.c:14160)

	PR tree-optimization/51118
	* fold-const.c (fold_checksum_tree): Check for TS_TYPED structure
	before using TREE_TYPE accessor on expr.

From-SVN: r181468
parent f11656db
2011-11-18 Uros Bizjak <ubizjak@gmail.com>
PR tree-optimization/51118
* fold-const.c (fold_checksum_tree): Check for TS_TYPED structure
before using TREE_TYPE accessor on expr.
2011-11-17 Jan Hubicka <jh@suse.cz> 2011-11-17 Jan Hubicka <jh@suse.cz>
PR bootstrap/51134 PR bootstrap/51134
* i386.c (atom_cost): Fix 32bit memset description. * i386.c (atom_cost): Fix 32bit memset description.
(expand_set_or_movmem_via_loop_with_iter): Output proper bounds check for epilogue loops. (expand_set_or_movmem_via_loop_with_iter): Output proper bounds check
(expand_movmem_epilogue): Handle epilogues up to size 15 w/o producing byte loop. for epilogue loops.
(decide_alg): sse_loop is not useable wthen SSE2 is disabled; when not optimizing always (expand_movmem_epilogue): Handle epilogues up to size 15 w/o producing
use rep movsb or lincall; do not produce word sized loops when optimizing memset for byte loop.
size (to avoid need for large constants). (decide_alg): sse_loop is not useable wthen SSE2 is disabled;
(ix86_expand_movmem): Get into sync with ix86_expand_setmem; choose unroll factors when not optimizing always use rep movsb or lincall; do not produce
better; always do 128bit moves when producing SSE loops; do not produce loopy epilogue word sized loops when optimizing memset for size (to avoid need
when size is too small. for large constants).
(promote_duplicated_reg_to_size): Do not look into desired alignments when (ix86_expand_movmem): Get into sync with ix86_expand_setmem;
doing vector expansion. choose unroll factors better; always do 128bit moves when producing
(ix86_expand_setmem): Track better when promoted value is available; choose unroll factors SSE loops; do not produce loopy epilogue when size is too small.
more sanely.; output loopy epilogue only when needed. (promote_duplicated_reg_to_size): Do not look into desired alignments
when doing vector expansion.
(ix86_expand_setmem): Track better when promoted value is available;
choose unroll factors more sanely. Output loopy epilogue only
when needed.
2011-11-17 Steve Ellcey <sje@cup.hp.com> 2011-11-17 Steve Ellcey <sje@cup.hp.com>
...@@ -28,7 +38,7 @@ ...@@ -28,7 +38,7 @@
2011-11-17 Andrew MacLeod <amacleod@redhat.com> 2011-11-17 Andrew MacLeod <amacleod@redhat.com>
* builtins.c (expand_builtin): Remove 4th parameter representing * builtins.c (expand_builtin): Remove 4th parameter representing
weak/strong mode when __atomic_compare_exchange becomes a library call. weak/strong mode when __atomic_compare_exchange becomes a library call.
2011-11-17 Richard Henderson <rth@redhat.com> 2011-11-17 Richard Henderson <rth@redhat.com>
...@@ -14157,7 +14157,8 @@ fold_checksum_tree (const_tree expr, struct md5_ctx *ctx, htab_t ht) ...@@ -14157,7 +14157,8 @@ fold_checksum_tree (const_tree expr, struct md5_ctx *ctx, htab_t ht)
} }
} }
md5_process_bytes (expr, tree_size (expr), ctx); md5_process_bytes (expr, tree_size (expr), ctx);
fold_checksum_tree (TREE_TYPE (expr), ctx, ht); if (CODE_CONTAINS_STRUCT (code, TS_TYPED))
fold_checksum_tree (TREE_TYPE (expr), ctx, ht);
if (TREE_CODE_CLASS (code) != tcc_type if (TREE_CODE_CLASS (code) != tcc_type
&& TREE_CODE_CLASS (code) != tcc_declaration && TREE_CODE_CLASS (code) != tcc_declaration
&& code != TREE_LIST && code != TREE_LIST
......
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