This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug tree-optimization/46172] [4.3/4.4/4.5/4.6 Regression] ICE: in expand_widen_pattern_expr, at optabs.c:522 with -ftree-vectorize -fno-tree-dce
- From: "irar at il dot ibm.com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Tue, 2 Nov 2010 13:28:15 +0000
- Subject: [Bug tree-optimization/46172] [4.3/4.4/4.5/4.6 Regression] ICE: in expand_widen_pattern_expr, at optabs.c:522 with -ftree-vectorize -fno-tree-dce
- Auto-submitted: auto-generated
- References: <bug-46172-4@http.gcc.gnu.org/bugzilla/>
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46172
--- Comment #5 from Ira Rosen <irar at il dot ibm.com> 2010-11-02 13:28:14 UTC ---
(In reply to comment #4)
> Ah, if this is in dead code created by vectorizer that really shouldn't be ever
> expanded,
Yes, in this case it's dead code created by the vectorizer that shouldn't be
expanded. But there is also always scalar code that we do not remove except for
stores.
> then either we need to arrange for DCE to be performed after
> vectorizer even if flag_tree_vectorize && !flag_tree_dce (e.g. by using a
> different pass structure e.g. instead of pass_dce_loop and use a different gate
> for it right after vectorizer),
Yes, this is what I meant.
> or vectorizer shouldn't create garbage.
>
> -fno-tree-dce is sometimes useful for compiler testing to write testcases e.g.
> for expansion and RTL passes bugs, so making it unconditional is not a good
> idea.