[Bug objc/43061] 47 new GCC h...@156527 regressions

2010-02-21 Thread dominiq at lps dot ens dot fr
--- Comment #41 from dominiq at lps dot ens dot fr 2010-02-21 12:46 --- AFAICT this pr and the side effects have been fixed, hence closing. If someone disagree, please reopen. Thanks all for the work. -- dominiq at lps dot ens dot fr changed: What|Removed

[Bug objc/43061] 47 new GCC h...@156527 regressions

2010-02-19 Thread developer at sandoe-acoustics dot co dot uk
--- Comment #37 from developer at sandoe-acoustics dot co dot uk 2010-02-19 08:43 --- (In reply to comment #36) I've checked in a slightly updated fix in r156877. Let us know if all the regressions are fixed now. i686/powerpc-darwin9 - YES, thanks. --

[Bug objc/43061] 47 new GCC h...@156527 regressions

2010-02-19 Thread mrs at gcc dot gnu dot org
--- Comment #38 from mrs at gcc dot gnu dot org 2010-02-19 19:06 --- Subject: Bug 43061 Author: mrs Date: Fri Feb 19 19:06:38 2010 New Revision: 156907 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=156907 Log: PR objc/43061 * cgraphunit.c

[Bug objc/43061] 47 new GCC h...@156527 regressions

2010-02-19 Thread mikestump at comcast dot net
--- Comment #39 from mikestump at comcast dot net 2010-02-19 19:15 --- I checked in the real back end change in r156907. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43061

[Bug objc/43061] 47 new GCC h...@156527 regressions

2010-02-19 Thread developer at sandoe-acoustics dot co dot uk
--- Comment #40 from developer at sandoe-acoustics dot co dot uk 2010-02-19 23:28 --- (In reply to comment #39) I checked in the real back end change in r156907. OK on i686/powerpc d9 -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43061

[Bug objc/43061] 47 new GCC h...@156527 regressions

2010-02-18 Thread mikestump at comcast dot net
--- Comment #36 from mikestump at comcast dot net 2010-02-18 22:06 --- I've checked in a slightly updated fix in r156877. Let us know if all the regressions are fixed now. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43061

[Bug objc/43061] 47 new GCC h...@156527 regressions

2010-02-16 Thread developer at sandoe-acoustics dot co dot uk
--- Comment #30 from developer at sandoe-acoustics dot co dot uk 2010-02-16 09:23 --- apropos http://gcc.gnu.org/ml/gcc-patches/2010-02/msg00587.html do you think that _OBJC_CLASS_REFERENCES_* and _OBJC_SELECTOR_REFERENCES_* should be marked as TREE_ADDRESSABLE and DECL_PRESERVE_P in

[Bug objc/43061] 47 new GCC h...@156527 regressions

2010-02-16 Thread jakub at gcc dot gnu dot org
--- Comment #31 from jakub at gcc dot gnu dot org 2010-02-16 10:06 --- Not sure about TREE_ADDRESSABLE, but certainly DECL_PRESERVED_P should be set as well. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43061

[Bug objc/43061] 47 new GCC h...@156527 regressions

2010-02-16 Thread rguenth at gcc dot gnu dot org
--- Comment #32 from rguenth at gcc dot gnu dot org 2010-02-16 10:14 --- (In reply to comment #24) Yes, I think IainS is on the right track, all things in objc_cls_refs escape and can be read and written to in unexpected ways by the runtime. Setting TREE_ADDRESSABLE sounds like a

[Bug objc/43061] 47 new GCC h...@156527 regressions

2010-02-16 Thread rguenth at gcc dot gnu dot org
--- Comment #33 from rguenth at gcc dot gnu dot org 2010-02-16 10:14 --- (In reply to comment #32) (In reply to comment #24) Yes, I think IainS is on the right track, all things in objc_cls_refs escape and can be read and written to in unexpected ways by the runtime. Setting

[Bug objc/43061] 47 new GCC h...@156527 regressions

2010-02-16 Thread developer at sandoe-acoustics dot co dot uk
--- Comment #34 from developer at sandoe-acoustics dot co dot uk 2010-02-16 14:58 --- Created an attachment (id=19889) -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=19889action=view) patch with CLASS and SELECTOR refs. marked as TREE_ADDRESSABLE DECL_PRESERVE_P (for NeXT runtime)

[Bug objc/43061] 47 new GCC h...@156527 regressions

2010-02-16 Thread mikestump at comcast dot net
--- Comment #35 from mikestump at comcast dot net 2010-02-16 16:25 --- Ok to the last patch for now. Feel free to file a bug about checking DECL_PRESERVE_P and add a pointer to remove the setting of DECL_ATTRIBUTES from the frontend, thanks. --

[Bug objc/43061] 47 new GCC h...@156527 regressions

2010-02-15 Thread mikestump at comcast dot net
--- Comment #24 from mikestump at comcast dot net 2010-02-15 17:38 --- Yes, I think IainS is on the right track, all things in objc_cls_refs escape and can be read and written to in unexpected ways by the runtime. Setting TREE_ADDRESSABLE sounds like a reasonable step forward. --

[Bug objc/43061] 47 new GCC h...@156527 regressions

2010-02-15 Thread developer at sandoe-acoustics dot co dot uk
--- Comment #25 from developer at sandoe-acoustics dot co dot uk 2010-02-15 19:54 --- Hm. I tried this trivial patch: Index: gcc/objc/objc-act.c === --- gcc/objc/objc-act.c (revision 156760) +++ gcc/objc/objc-act.c

[Bug objc/43061] 47 new GCC h...@156527 regressions

2010-02-15 Thread jakub at gcc dot gnu dot org
--- Comment #26 from jakub at gcc dot gnu dot org 2010-02-15 21:09 --- Addressability is recomputed several times. What you probably want is mark the decl with the used attribute (i.e. add used attribute to it, set TREE_USED (decl) = 1 and DECL_PRESERVE_P (decl) = 1). --

[Bug objc/43061] 47 new GCC h...@156527 regressions

2010-02-15 Thread developer at sandoe-acoustics dot co dot uk
--- Comment #27 from developer at sandoe-acoustics dot co dot uk 2010-02-15 21:51 --- (In reply to comment #26) Addressability is recomputed several times. What you probably want is mark the decl with the used attribute (i.e. add used attribute to it, set TREE_USED (decl) = 1 and

[Bug objc/43061] 47 new GCC h...@156527 regressions

2010-02-15 Thread jakub at gcc dot gnu dot org
--- Comment #28 from jakub at gcc dot gnu dot org 2010-02-15 22:37 --- DECL_ATTRIBUTES (decl) = tree_cons (get_identifier (used), NULL, DECL_ATTRIBUTES (decl)); is also needed (no idea why ipa*.c/cgraphunit.c use lookup_attribute instead of testing DECL_PRESERVED_P, but they do).

[Bug objc/43061] 47 new GCC h...@156527 regressions

2010-02-15 Thread developer at sandoe-acoustics dot co dot uk
--- Comment #29 from developer at sandoe-acoustics dot co dot uk 2010-02-15 23:10 --- Created an attachment (id=19884) -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=19884action=view) attach used attribute as well as marking vars used. Jakub's comment seems to do the trick -

[Bug objc/43061] 47 new GCC h...@156527 regressions

2010-02-14 Thread developer at sandoe-acoustics dot co dot uk
--- Comment #1 from developer at sandoe-acoustics dot co dot uk 2010-02-14 13:46 --- confirmed, this can be reproduced outside the testsuite framework: for example... [ppc/darwin9/156749]; $ ./gcc/xgcc -B gcc ../gcc-4-5-trunk/gcc/testsuite/objc/execute/cascading-1.m -fnext-runtime -O1

[Bug objc/43061] 47 new GCC h...@156527 regressions

2010-02-14 Thread rguenth at gcc dot gnu dot org
--- Comment #2 from rguenth at gcc dot gnu dot org 2010-02-14 15:25 --- Track down the regression that caused this and see what actually is the difference in generated code and/or tree/rtl dumps. Access to non-free operating systems is restricted. --

[Bug objc/43061] 47 new GCC h...@156527 regressions

2010-02-14 Thread developer at sandoe-acoustics dot co dot uk
--- Comment #3 from developer at sandoe-acoustics dot co dot uk 2010-02-14 16:04 --- (In reply to comment #2) Track down the regression that caused this r156519 and see what actually is the difference in generated code and/or tree/rtl dumps. what output would be the most useful?

[Bug objc/43061] 47 new GCC h...@156527 regressions

2010-02-14 Thread rguenth at gcc dot gnu dot org
--- Comment #4 from rguenth at gcc dot gnu dot org 2010-02-14 16:28 --- (In reply to comment #3) (In reply to comment #2) Track down the regression that caused this r156519 and see what actually is the difference in generated code and/or tree/rtl dumps. what output would

[Bug objc/43061] 47 new GCC h...@156527 regressions

2010-02-14 Thread developer at sandoe-acoustics dot co dot uk
--- Comment #5 from developer at sandoe-acoustics dot co dot uk 2010-02-14 16:32 --- Created an attachment (id=19860) -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=19860action=view) generated asm differences with/without r156519 --

[Bug objc/43061] 47 new GCC h...@156527 regressions

2010-02-14 Thread developer at sandoe-acoustics dot co dot uk
--- Comment #6 from developer at sandoe-acoustics dot co dot uk 2010-02-14 16:33 --- Created an attachment (id=19861) -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=19861action=view) optimized tree diffs. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43061

[Bug objc/43061] 47 new GCC h...@156527 regressions

2010-02-14 Thread developer at sandoe-acoustics dot co dot uk
--- Comment #7 from developer at sandoe-acoustics dot co dot uk 2010-02-14 16:45 --- Created an attachment (id=19862) -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=19862action=view) diffs for all fdump-tree-all output -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43061

[Bug objc/43061] 47 new GCC h...@156527 regressions

2010-02-14 Thread rguenth at gcc dot gnu dot org
--- Comment #8 from rguenth at gcc dot gnu dot org 2010-02-14 17:44 --- Hm. So CCP through get_symbol_constant_value causes bb 2: - _OBJC_CLASS_REFERENCES_0.2_1 = _OBJC_CLASS_REFERENCES_0; + _OBJC_CLASS_REFERENCES_0.2_1 = (struct objc_class *) _OBJC_CLASS_NAME_0;

[Bug objc/43061] 47 new GCC h...@156527 regressions

2010-02-14 Thread developer at sandoe-acoustics dot co dot uk
--- Comment #9 from developer at sandoe-acoustics dot co dot uk 2010-02-14 18:50 --- (In reply to comment #8) Hm. So CCP through get_symbol_constant_value causes you run the compile inside gdb, break on get_symbol_constant_value maybe I've messed something up - but setting a break

[Bug objc/43061] 47 new GCC h...@156527 regressions

2010-02-14 Thread rguenth at gcc dot gnu dot org
--- Comment #10 from rguenth at gcc dot gnu dot org 2010-02-14 19:00 --- (In reply to comment #9) (In reply to comment #8) Hm. So CCP through get_symbol_constant_value causes you run the compile inside gdb, break on get_symbol_constant_value maybe I've messed something up -

[Bug objc/43061] 47 new GCC h...@156527 regressions

2010-02-14 Thread rguenth at gcc dot gnu dot org
--- Comment #11 from rguenth at gcc dot gnu dot org 2010-02-14 19:01 --- Btw, I cannot make -fnext-runtime work on i?86-linux, it errors at link time with undefined references. Any configure options I need to supply? -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43061

[Bug objc/43061] 47 new GCC h...@156527 regressions

2010-02-14 Thread pinskia at gcc dot gnu dot org
--- Comment #12 from pinskia at gcc dot gnu dot org 2010-02-14 19:07 --- (In reply to comment #11) Btw, I cannot make -fnext-runtime work on i?86-linux, it errors at link time with undefined references. Any configure options I need to supply? The next runtime only works on

[Bug objc/43061] 47 new GCC h...@156527 regressions

2010-02-14 Thread developer at sandoe-acoustics dot co dot uk
--- Comment #13 from developer at sandoe-acoustics dot co dot uk 2010-02-14 21:13 --- Created an attachment (id=19864) -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=19864action=view) gdb-output for CLASS_REFERENCES_0 -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43061

[Bug objc/43061] 47 new GCC h...@156527 regressions

2010-02-14 Thread rguenth at gcc dot gnu dot org
--- Comment #14 from rguenth at gcc dot gnu dot org 2010-02-14 21:29 --- That doesn't make sense. The symbol is not TREE_READONLY. Was that dump from inside get_symbol_constant_value? As the extract only happens from CCP2 I suppose that ipa-reference might be setting TREE_READONLY

[Bug objc/43061] 47 new GCC h...@156527 regressions

2010-02-14 Thread developer at sandoe-acoustics dot co dot uk
--- Comment #15 from developer at sandoe-acoustics dot co dot uk 2010-02-14 21:53 --- (In reply to comment #14) That doesn't make sense. The symbol is not TREE_READONLY. Was that dump from inside get_symbol_constant_value? yes. that was from a clean bootstrap of trunk 156760.

[Bug objc/43061] 47 new GCC h...@156527 regressions

2010-02-14 Thread developer at sandoe-acoustics dot co dot uk
--- Comment #16 from developer at sandoe-acoustics dot co dot uk 2010-02-14 21:55 --- Created an attachment (id=19866) -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=19866action=view) gimple for cascading-1.m @ trunk 156760 -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43061

[Bug objc/43061] 47 new GCC h...@156527 regressions

2010-02-14 Thread rguenth at gcc dot gnu dot org
--- Comment #17 from rguenth at gcc dot gnu dot org 2010-02-14 21:56 --- (In reply to comment #15) (In reply to comment #14) That doesn't make sense. The symbol is not TREE_READONLY. Was that dump from inside get_symbol_constant_value? yes. that was from a clean bootstrap

[Bug objc/43061] 47 new GCC h...@156527 regressions

2010-02-14 Thread developer at sandoe-acoustics dot co dot uk
--- Comment #18 from developer at sandoe-acoustics dot co dot uk 2010-02-14 22:11 --- Created an attachment (id=19867) -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=19867action=view) -fdump-ipa-all/static-var cascading-1.m @ trunk 156760 this is with normal options (i.e. the

[Bug objc/43061] 47 new GCC h...@156527 regressions

2010-02-14 Thread developer at sandoe-acoustics dot co dot uk
--- Comment #19 from developer at sandoe-acoustics dot co dot uk 2010-02-14 22:16 --- Created an attachment (id=19868) -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=19868action=view) cascading-1.m/-fdump-ipa-all/pure-const @ trunk 15670 this is with -fno-ipa-reference. --

[Bug objc/43061] 47 new GCC h...@156527 regressions

2010-02-14 Thread rguenth at gcc dot gnu dot org
--- Comment #20 from rguenth at gcc dot gnu dot org 2010-02-14 22:25 --- Not TREE_ADDRESSABLE var _OBJC_CLASS_REFERENCES_0 Not TREE_ADDRESSABLE var _OBJC_SELECTOR_REFERENCES_0 Not TREE_ADDRESSABLE var _OBJC_SELECTOR_REFERENCES_1 read-only var _OBJC_CLASS_REFERENCES_0 read-only var

[Bug objc/43061] 47 new GCC h...@156527 regressions

2010-02-14 Thread developer at sandoe-acoustics dot co dot uk
--- Comment #21 from developer at sandoe-acoustics dot co dot uk 2010-02-14 23:22 --- Created an attachment (id=19870) -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=19870action=view) asm out from -O1 -g cascading-1.m @trunk 156760 this is the current asm output - it segfaults on

[Bug objc/43061] 47 new GCC h...@156527 regressions

2010-02-14 Thread rguenth at gcc dot gnu dot org
--- Comment #22 from rguenth at gcc dot gnu dot org 2010-02-14 23:26 --- There are no modifications visible in the assembly. But there is magic: .objc_cls_refs .align 2 L_OBJC_CLASS_REFERENCES_0: .long L_OBJC_CLASS_NAME_0 what is .objc_cls_refs? Well,

[Bug objc/43061] 47 new GCC h...@156527 regressions

2010-02-14 Thread developer at sandoe-acoustics dot co dot uk
--- Comment #23 from developer at sandoe-acoustics dot co dot uk 2010-02-14 23:57 --- (In reply to comment #22) There are no modifications visible in the assembly. But there is magic: .objc_cls_refs .align 2 L_OBJC_CLASS_REFERENCES_0: .long