This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug tree-optimization/46781] [4.6 Regression] Missing optimization
- From: "rguenth at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Mon, 3 Jan 2011 20:31:58 +0000
- Subject: [Bug tree-optimization/46781] [4.6 Regression] Missing optimization
- Auto-submitted: auto-generated
- References: <bug-46781-4@http.gcc.gnu.org/bugzilla/>
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46781
--- Comment #4 from Richard Guenther <rguenth at gcc dot gnu.org> 2011-01-03 20:31:55 UTC ---
(In reply to comment #3)
> Comment on attachment 22612 [details]
> Code produced by GCC 4.6.0
>
> (In reply to comment #2)
> > Where did you get this testcase from?
>
> May I know why do you ask?
To see if the change indeed causes important regressions in real-world
code. The change was done to be less surprising when doing TBAA based
disambiguations as people regularly expect void * to be similar to char *
and also do not really handle multiple-indirect pointers the correct
way. Thus, we now miscompile less not strictly conforming programs.
> IIRC, it was distilled from some large program. There was a difference when
> compiling it with and without LTO, and I reported it as a bug 43201.
Ah, that explains it (LTO did the pointer TBAA thing for a long time).