[Bug tree-optimization/28778] [4.0/4.1/4.2 Regression] alias bug with cast and call clobbered

2006-10-19 Thread dberlin at gcc dot gnu dot org
--- Comment #43 from dberlin at gcc dot gnu dot org 2006-10-19 23:06 --- Subject: Bug 28778 Author: dberlin Date: Thu Oct 19 23:05:53 2006 New Revision: 117891 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=117891 Log: 2006-10-19 Daniel Berlin [EMAIL PROTECTED] Fix PR

[Bug tree-optimization/28778] [4.0/4.1/4.2 Regression] alias bug with cast and call clobbered

2006-10-19 Thread dberlin at gcc dot gnu dot org
--- Comment #44 from dberlin at gcc dot gnu dot org 2006-10-19 23:07 --- Fixed. -- dberlin at gcc dot gnu dot org changed: What|Removed |Added

[Bug tree-optimization/28778] [4.0/4.1/4.2 Regression] alias bug with cast and call clobbered

2006-10-13 Thread dberlin at gcc dot gnu dot org
--- Comment #42 from dberlin at gcc dot gnu dot org 2006-10-13 17:50 --- mine -- dberlin at gcc dot gnu dot org changed: What|Removed |Added

[Bug tree-optimization/28778] [4.0/4.1/4.2 Regression] alias bug with cast and call clobbered

2006-09-26 Thread dberlin at dberlin dot org
--- Comment #38 from dberlin at gcc dot gnu dot org 2006-09-26 15:47 --- Subject: Re: [4.0/4.1/4.2 Regression] alias bug with cast and call clobbered On 26 Sep 2006 15:33:29 -, acahalan at gmail dot com [EMAIL PROTECTED] wrote: --- Comment #37 from acahalan at gmail dot

[Bug tree-optimization/28778] [4.0/4.1/4.2 Regression] alias bug with cast and call clobbered

2006-09-26 Thread pinskia at gcc dot gnu dot org
--- Comment #39 from pinskia at gcc dot gnu dot org 2006-09-26 15:49 --- (In reply to comment #37) Your point? That aliasing rules in C is older than my girl friend and that they have been around for a lot longer than people give credit for. Fact: strict aliasing horrifies most

[Bug tree-optimization/28778] [4.0/4.1/4.2 Regression] alias bug with cast and call clobbered

2006-09-26 Thread pinskia at gcc dot gnu dot org
--- Comment #36 from pinskia at gcc dot gnu dot org 2006-09-26 14:32 --- It's also wrong to assume that unions can be used for type punning, but so what? It is allowed by gcc. No, it is less there as the behavior with unions is unspecified and not undefined unlike type punning via

[Bug tree-optimization/28778] [4.0/4.1/4.2 Regression] alias bug with cast and call clobbered

2006-09-26 Thread acahalan at gmail dot com
--- Comment #37 from acahalan at gmail dot com 2006-09-26 15:33 --- (In reply to comment #36) Evidence: this bug has existed for ages, meanwhile aliasing violations keep getting reported as compiler bugs. This bug (PR28778) has only existed for the last two major releases which is

[Bug tree-optimization/28778] [4.0/4.1/4.2 Regression] alias bug with cast and call clobbered

2006-09-26 Thread pcarlini at suse dot de
--- Comment #40 from pcarlini at suse dot de 2006-09-26 15:57 --- (In reply to comment #38) We have our reasons to enable strict aliasing by default. In my opinion, this is a central point. I think we should try to explain what strict aliasing buys from the point of view of the

[Bug tree-optimization/28778] [4.0/4.1/4.2 Regression] alias bug with cast and call clobbered

2006-09-26 Thread acahalan at gmail dot com
--- Comment #35 from acahalan at gmail dot com 2006-09-26 14:16 --- (In reply to comment #34) Subject: Re: [4.0/4.1/4.2 Regression] alias bug with cast and call clobbered On Tue, 2006-09-26 at 04:44 +, acahalan at gmail dot com wrote: Although it wouldn't work for

[Bug tree-optimization/28778] [4.0/4.1/4.2 Regression] alias bug with cast and call clobbered

2006-09-26 Thread dberlin at dberlin dot org
--- Comment #41 from dberlin at gcc dot gnu dot org 2006-09-27 02:12 --- Subject: Re: [4.0/4.1/4.2 Regression] alias bug with cast and call clobbered On 26 Sep 2006 15:57:28 -, pcarlini at suse dot de [EMAIL PROTECTED] wrote: --- Comment #40 from pcarlini at suse dot de

[Bug tree-optimization/28778] [4.0/4.1/4.2 Regression] alias bug with cast and call clobbered

2006-09-25 Thread acahalan at gmail dot com
--- Comment #33 from acahalan at gmail dot com 2006-09-26 04:44 --- (In reply to comment #28) If you exclude strict type-based rules, the answer to what can foo clobber in the example is the same as asking what can the first argument of foo access in foo and its callees. Because of

Re: [Bug tree-optimization/28778] [4.0/4.1/4.2 Regression] alias bug with cast and call clobbered

2006-09-25 Thread Andrew Pinski
On Tue, 2006-09-26 at 04:44 +, acahalan at gmail dot com wrote: Although it wouldn't work for the example code, extending the aliasing behavior of (char*) to (void*) would fix the problem for LOTS of code out in the wild. People normally use a (void*) when they want a generic pointer

[Bug tree-optimization/28778] [4.0/4.1/4.2 Regression] alias bug with cast and call clobbered

2006-09-25 Thread pinskia at physics dot uc dot edu
--- Comment #34 from pinskia at physics dot uc dot edu 2006-09-26 04:56 --- Subject: Re: [4.0/4.1/4.2 Regression] alias bug with cast and call clobbered On Tue, 2006-09-26 at 04:44 +, acahalan at gmail dot com wrote: Although it wouldn't work for the example code,

[Bug tree-optimization/28778] [4.0/4.1/4.2 Regression] alias bug with cast and call clobbered

2006-09-16 Thread steven at gcc dot gnu dot org
--- Comment #31 from steven at gcc dot gnu dot org 2006-09-16 18:09 --- sec has passed. ping! -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28778

[Bug tree-optimization/28778] [4.0/4.1/4.2 Regression] alias bug with cast and call clobbered

2006-09-16 Thread dberlin at dberlin dot org
--- Comment #32 from dberlin at gcc dot gnu dot org 2006-09-16 20:03 --- Subject: Re: [4.0/4.1/4.2 Regression] alias bug with cast and call clobbered --- Comment #31 from steven at gcc dot gnu dot org 2006-09-16 18:09 --- sec has passed. ping! I'm down to two

[Bug tree-optimization/28778] [4.0/4.1/4.2 Regression] alias bug with cast and call clobbered

2006-09-09 Thread dberlin at dberlin dot org
--- Comment #30 from dberlin at gcc dot gnu dot org 2006-09-09 17:55 --- Subject: Re: [4.0/4.1/4.2 Regression] alias bug with cast and call clobbered Patch coming in a sec On 9 Sep 2006 15:02:37 -, reichelt at gcc dot gnu dot org [EMAIL PROTECTED] wrote: -- --

[Bug tree-optimization/28778] [4.0/4.1/4.2 Regression] alias bug with cast and call clobbered

2006-08-28 Thread rguenth at gcc dot gnu dot org
--- Comment #29 from rguenth at gcc dot gnu dot org 2006-08-28 08:42 --- I completely agree with Dan's analysis. Note that for the patch in comment #20 we can hoist the loop adding all addressable vars to the call clobbering list out of the loop iterating over all analyzed pointers by

[Bug tree-optimization/28778] [4.0/4.1/4.2 Regression] alias bug with cast and call clobbered

2006-08-27 Thread rguenth at gcc dot gnu dot org
--- Comment #20 from rguenth at gcc dot gnu dot org 2006-08-27 14:20 --- So I have a patch that produces (diff typedef long GLint __attribute__((may_alias)) resunts vs. patch): --- t.i.030t.alias1.ok 2006-08-27 16:13:54.0 +0200 +++ t.i.030t.alias1 2006-08-27

[Bug tree-optimization/28778] [4.0/4.1/4.2 Regression] alias bug with cast and call clobbered

2006-08-27 Thread dberlin at dberlin dot org
--- Comment #21 from dberlin at gcc dot gnu dot org 2006-08-27 15:41 --- Subject: Re: [4.0/4.1/4.2 Regression] alias bug with cast and call clobbered by noticing that if pt_anything is set, we indeed need to include all addressable vars in the clobbering: This is also equivalent

[Bug tree-optimization/28778] [4.0/4.1/4.2 Regression] alias bug with cast and call clobbered

2006-08-27 Thread rguenth at gcc dot gnu dot org
--- Comment #22 from rguenth at gcc dot gnu dot org 2006-08-27 15:49 --- Well, yes. If we still had pt_vars at the time of add_call_clobber_ops () we might only do it if one of the actual params of a CALL_EXPR has pt_anything set. But call clobbering is not per call-site or

[Bug tree-optimization/28778] [4.0/4.1/4.2 Regression] alias bug with cast and call clobbered

2006-08-27 Thread dberlin at dberlin dot org
--- Comment #23 from dberlin at gcc dot gnu dot org 2006-08-27 16:00 --- Subject: Re: [4.0/4.1/4.2 Regression] alias bug with cast and call clobbered --- Comment #22 from rguenth at gcc dot gnu dot org 2006-08-27 15:49 --- Well, yes. If we still had pt_vars at the time

[Bug tree-optimization/28778] [4.0/4.1/4.2 Regression] alias bug with cast and call clobbered

2006-08-27 Thread drow at gcc dot gnu dot org
--- Comment #24 from drow at gcc dot gnu dot org 2006-08-27 17:56 --- Subject: Re: [4.0/4.1/4.2 Regression] alias bug with cast and call clobbered On Sun, Aug 27, 2006 at 04:00:19PM -, dberlin at dberlin dot org wrote: 1. You believe this is a good idea for 4.2, even though it

[Bug tree-optimization/28778] [4.0/4.1/4.2 Regression] alias bug with cast and call clobbered

2006-08-27 Thread mmitchel at gcc dot gnu dot org
--- Comment #25 from mmitchel at gcc dot gnu dot org 2006-08-27 20:25 --- Dan Berlin believes that Richard's patch in Comment #20 is the conservative fix. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28778

[Bug tree-optimization/28778] [4.0/4.1/4.2 Regression] alias bug with cast and call clobbered

2006-08-27 Thread mmitchel at gcc dot gnu dot org
--- Comment #26 from mmitchel at gcc dot gnu dot org 2006-08-27 20:28 --- I don't understand how TBAA is interacting with the may-alias information. In particular, TBAA doesn't say anything about casts; it says something about loads and stores. In particular, TBAA forbids accessing

[Bug tree-optimization/28778] [4.0/4.1/4.2 Regression] alias bug with cast and call clobbered

2006-08-27 Thread dberlin at dberlin dot org
--- Comment #27 from dberlin at gcc dot gnu dot org 2006-08-27 20:51 --- Subject: Re: [4.0/4.1/4.2 Regression] alias bug with cast and call clobbered I don't understand how TBAA is interacting with the may-alias information. Given a pointer, and some aliases, we ask TBAA, for each

[Bug tree-optimization/28778] [4.0/4.1/4.2 Regression] alias bug with cast and call clobbered

2006-08-27 Thread dberlin at dberlin dot org
--- Comment #28 from dberlin at gcc dot gnu dot org 2006-08-27 21:09 --- Subject: Re: [4.0/4.1/4.2 Regression] alias bug with cast and call clobbered Since we have never done that before, it does require new code. And to answer what may be a followup, which is why hasn't this

[Bug tree-optimization/28778] [4.0/4.1/4.2 Regression] alias bug with cast and call clobbered

2006-08-26 Thread drow at gcc dot gnu dot org
--- Comment #15 from drow at gcc dot gnu dot org 2006-08-26 15:14 --- I don't understand aliasing well enough to fix this correctly. See for more: http://gcc.gnu.org/ml/gcc-patches/2006-08/msg00965.html -- drow at gcc dot gnu dot org changed: What|Removed

[Bug tree-optimization/28778] [4.0/4.1/4.2 Regression] alias bug with cast and call clobbered

2006-08-26 Thread rguenth at gcc dot gnu dot org
--- Comment #16 from rguenth at gcc dot gnu dot org 2006-08-26 20:30 --- If you change the prototype to take char* as argument we figure out clobbering correctly: --- t.i.030t.alias1 2006-08-26 22:28:40.0 +0200 +++ t.i.030t.alias1.ok 2006-08-26 22:27:33.0 +0200 @@

[Bug tree-optimization/28778] [4.0/4.1/4.2 Regression] alias bug with cast and call clobbered

2006-08-26 Thread rguenth at gcc dot gnu dot org
--- Comment #17 from rguenth at gcc dot gnu dot org 2006-08-26 20:42 --- So, making pointer arguments effectively using alias-set zero for alias and call clobbering computation would fix this. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28778

[Bug tree-optimization/28778] [4.0/4.1/4.2 Regression] alias bug with cast and call clobbered

2006-08-26 Thread drow at gcc dot gnu dot org
--- Comment #18 from drow at gcc dot gnu dot org 2006-08-26 23:25 --- Subject: Re: [4.0/4.1/4.2 Regression] alias bug with cast and call clobbered On Sat, Aug 26, 2006 at 08:42:50PM -, rguenth at gcc dot gnu dot org wrote: So, making pointer arguments effectively using alias-set

[Bug tree-optimization/28778] [4.0/4.1/4.2 Regression] alias bug with cast and call clobbered

2006-08-26 Thread dberlin at dberlin dot org
--- Comment #19 from dberlin at gcc dot gnu dot org 2006-08-27 04:12 --- Subject: Re: [4.0/4.1/4.2 Regression] alias bug with cast and call clobbered rguenth at gcc dot gnu dot org wrote: --- Comment #17 from rguenth at gcc dot gnu dot org 2006-08-26 20:42 --- So,

[Bug tree-optimization/28778] [4.0/4.1/4.2 Regression] alias bug with cast and call clobbered

2006-08-25 Thread drow at gcc dot gnu dot org
--- Comment #11 from drow at gcc dot gnu dot org 2006-08-25 19:57 --- I am looking at this. The difference between those two compilers in t16.ssa is: - # blist_1 = PHI blist_6(2), blist_7(1); + # blist_1 = PHI blist_7(1), blist_6(2); The difference in t17.alias1 is that, plus:

[Bug tree-optimization/28778] [4.0/4.1/4.2 Regression] alias bug with cast and call clobbered

2006-08-25 Thread drow at gcc dot gnu dot org
--- Comment #12 from drow at gcc dot gnu dot org 2006-08-25 20:50 --- Created an attachment (id=12141) -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=12141action=view) Aliasing fix. Thank you Janis for the reghunt! Not too hard to track down given that. I haven't tested this

[Bug tree-optimization/28778] [4.0/4.1/4.2 Regression] alias bug with cast and call clobbered

2006-08-25 Thread drow at gcc dot gnu dot org
--- Comment #13 from drow at gcc dot gnu dot org 2006-08-25 20:57 --- Unfortunately Diego's gone and rewritten a bunch of aliasing code since that revision. And there's no code corresponding to where the fix went 21 months ago. So, congratulations: we've broken this testcase twice! I

[Bug tree-optimization/28778] [4.0/4.1/4.2 Regression] alias bug with cast and call clobbered

2006-08-25 Thread drow at gcc dot gnu dot org
--- Comment #14 from drow at gcc dot gnu dot org 2006-08-25 22:11 --- Testing a patch. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28778

[Bug tree-optimization/28778] [4.0/4.1/4.2 Regression] alias bug with cast and call clobbered

2006-08-21 Thread janis at gcc dot gnu dot org
--- Comment #10 from janis at gcc dot gnu dot org 2006-08-21 16:34 --- A regression hunt on powerpc-linux using the testcase from comment #3 identified this patch: http://gcc.gnu.org/viewcvs?view=revrev=91097 r91097 | kazu | 2004-11-23 17:45:50 + (Tue, 23 Nov 2004) --

[Bug tree-optimization/28778] [4.0/4.1/4.2 Regression] alias bug with cast and call clobbered

2006-08-20 Thread mmitchel at gcc dot gnu dot org
-- mmitchel at gcc dot gnu dot org changed: What|Removed |Added Priority|P3 |P1 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28778

[Bug tree-optimization/28778] [4.0/4.1/4.2 Regression] alias bug with cast and call clobbered

2006-08-20 Thread dberlin at dberlin dot org
--- Comment #9 from dberlin at gcc dot gnu dot org 2006-08-21 01:34 --- Subject: Re: [4.0/4.1/4.2 Regression] alias bug with cast and call clobbered If you look at the alias dump, we don't think anything is aliased at all. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28778

[Bug tree-optimization/28778] [4.0/4.1/4.2 Regression] alias bug with cast and call clobbered

2006-08-19 Thread rguenth at gcc dot gnu dot org
--- Comment #5 from rguenth at gcc dot gnu dot org 2006-08-19 10:15 --- dce1 removes the store, after fre we have: find (alistp) { int list[32]; const int * blist; const GLint * blist.0; # BLOCK 2 # PRED: ENTRY (fallthru,exec) if (alistp_2 != 0B) goto L0; else goto L1; #

[Bug tree-optimization/28778] [4.0/4.1/4.2 Regression] alias bug with cast and call clobbered

2006-08-19 Thread rguenth at gcc dot gnu dot org
--- Comment #6 from rguenth at gcc dot gnu dot org 2006-08-19 10:44 --- But alias information is wrong, which is the problem here. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28778

[Bug tree-optimization/28778] [4.0/4.1/4.2 Regression] alias bug with cast and call clobbered

2006-08-19 Thread dberlin at gcc dot gnu dot org
--- Comment #7 from dberlin at gcc dot gnu dot org 2006-08-19 14:10 --- This looks like it has been broken for a long time. Can someone add an alias dump? -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28778

[Bug tree-optimization/28778] [4.0/4.1/4.2 Regression] alias bug with cast and call clobbered

2006-08-19 Thread rguenth at gcc dot gnu dot org
--- Comment #8 from rguenth at gcc dot gnu dot org 2006-08-19 14:27 --- ;; Function find (find) Points-to analysis Constraints: ANYTHING = ANYTHING READONLY = ANYTHING INTEGER = ANYTHING alistp = ANYTHING blist_3 = alistp blist_6 = list blist_1 = blist_3 blist_1 = blist_6 blist.0_7 =

[Bug tree-optimization/28778] [4.0/4.1/4.2 Regression] alias bug with cast and call clobbered

2006-08-18 Thread pinskia at gcc dot gnu dot org
--- Comment #4 from pinskia at gcc dot gnu dot org 2006-08-18 21:17 --- Confirmed. -- pinskia at gcc dot gnu dot org changed: What|Removed |Added CC|