public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug middle-end/49886] New: pass_split_functions cannot deal with function type attributes
@ 2011-07-28 11:42 jamborm at gcc dot gnu.org
2011-07-28 11:51 ` [Bug middle-end/49886] [4.6/4.7 Regression] " rguenth at gcc dot gnu.org
` (12 more replies)
0 siblings, 13 replies; 14+ messages in thread
From: jamborm at gcc dot gnu.org @ 2011-07-28 11:42 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49886
Summary: pass_split_functions cannot deal with function type
attributes
Product: gcc
Version: 4.7.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: middle-end
AssignedTo: unassigned@gcc.gnu.org
ReportedBy: jamborm@gcc.gnu.org
CC: hubicka@gcc.gnu.org
Host: i686-linux-gnu, x86_64-linux-gnu
Target: i686-linux-gnu, x86_64-linux-gnu
Build: i686-linux-gnu, x86_64-linux-gnu
Created attachment 24855
--> http://gcc.gnu.org/bugzilla/attachment.cgi?id=24855
Testcase
pass_split_functions is happy to split functions which have type
attributes but cannot update them if the new clone has in any way
different parameters than the original.
This can lead to miscompilations, for example, the attached testcase
segfaults when compiled at -O3 (on i686 and x86_64 but probably just
everywhere, tested on trunk and a checkout of the 4.6 branch from
July 11). -fno-partial-inlining makes the problem go away.
^ permalink raw reply [flat|nested] 14+ messages in thread
* [Bug middle-end/49886] [4.6/4.7 Regression] pass_split_functions cannot deal with function type attributes
2011-07-28 11:42 [Bug middle-end/49886] New: pass_split_functions cannot deal with function type attributes jamborm at gcc dot gnu.org
@ 2011-07-28 11:51 ` rguenth at gcc dot gnu.org
2011-07-28 16:53 ` jamborm at gcc dot gnu.org
` (11 subsequent siblings)
12 siblings, 0 replies; 14+ messages in thread
From: rguenth at gcc dot gnu.org @ 2011-07-28 11:51 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49886
Richard Guenther <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Keywords| |wrong-code
Target Milestone|--- |4.6.2
Summary|pass_split_functions cannot |[4.6/4.7 Regression]
|deal with function type |pass_split_functions cannot
|attributes |deal with function type
| |attributes
^ permalink raw reply [flat|nested] 14+ messages in thread
* [Bug middle-end/49886] [4.6/4.7 Regression] pass_split_functions cannot deal with function type attributes
2011-07-28 11:42 [Bug middle-end/49886] New: pass_split_functions cannot deal with function type attributes jamborm at gcc dot gnu.org
2011-07-28 11:51 ` [Bug middle-end/49886] [4.6/4.7 Regression] " rguenth at gcc dot gnu.org
@ 2011-07-28 16:53 ` jamborm at gcc dot gnu.org
2011-08-01 14:53 ` rguenth at gcc dot gnu.org
` (10 subsequent siblings)
12 siblings, 0 replies; 14+ messages in thread
From: jamborm at gcc dot gnu.org @ 2011-07-28 16:53 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49886
--- Comment #1 from Martin Jambor <jamborm at gcc dot gnu.org> 2011-07-28 16:53:23 UTC ---
Proposed patch posted to the mailing list:
http://gcc.gnu.org/ml/gcc-patches/2011-07/msg02546.html
^ permalink raw reply [flat|nested] 14+ messages in thread
* [Bug middle-end/49886] [4.6/4.7 Regression] pass_split_functions cannot deal with function type attributes
2011-07-28 11:42 [Bug middle-end/49886] New: pass_split_functions cannot deal with function type attributes jamborm at gcc dot gnu.org
2011-07-28 11:51 ` [Bug middle-end/49886] [4.6/4.7 Regression] " rguenth at gcc dot gnu.org
2011-07-28 16:53 ` jamborm at gcc dot gnu.org
@ 2011-08-01 14:53 ` rguenth at gcc dot gnu.org
2011-08-31 17:48 ` jamborm at gcc dot gnu.org
` (9 subsequent siblings)
12 siblings, 0 replies; 14+ messages in thread
From: rguenth at gcc dot gnu.org @ 2011-08-01 14:53 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49886
Richard Guenther <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Priority|P3 |P2
^ permalink raw reply [flat|nested] 14+ messages in thread
* [Bug middle-end/49886] [4.6/4.7 Regression] pass_split_functions cannot deal with function type attributes
2011-07-28 11:42 [Bug middle-end/49886] New: pass_split_functions cannot deal with function type attributes jamborm at gcc dot gnu.org
` (2 preceding siblings ...)
2011-08-01 14:53 ` rguenth at gcc dot gnu.org
@ 2011-08-31 17:48 ` jamborm at gcc dot gnu.org
2011-09-02 12:46 ` jamborm at gcc dot gnu.org
` (8 subsequent siblings)
12 siblings, 0 replies; 14+ messages in thread
From: jamborm at gcc dot gnu.org @ 2011-08-31 17:48 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49886
--- Comment #2 from Martin Jambor <jamborm at gcc dot gnu.org> 2011-08-31 17:17:27 UTC ---
Author: jamborm
Date: Wed Aug 31 17:17:19 2011
New Revision: 178386
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=178386
Log:
2011-08-31 Martin Jambor <mjambor@suse.cz>
PR middle-end/49886
* ipa-inline-analysis.c (compute_inline_parameters): Set
can_change_signature of noes with typde attributes.
* ipa-split.c (split_function): Do not skip any arguments if
can_change_signature is set.
* testsuite/gcc.c-torture/execute/pr49886.c: New testcase.
Added:
trunk/gcc/testsuite/gcc.c-torture/execute/pr49886.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/ipa-inline-analysis.c
trunk/gcc/ipa-split.c
trunk/gcc/testsuite/ChangeLog
^ permalink raw reply [flat|nested] 14+ messages in thread
* [Bug middle-end/49886] [4.6/4.7 Regression] pass_split_functions cannot deal with function type attributes
2011-07-28 11:42 [Bug middle-end/49886] New: pass_split_functions cannot deal with function type attributes jamborm at gcc dot gnu.org
` (3 preceding siblings ...)
2011-08-31 17:48 ` jamborm at gcc dot gnu.org
@ 2011-09-02 12:46 ` jamborm at gcc dot gnu.org
2011-09-02 14:31 ` jamborm at gcc dot gnu.org
` (7 subsequent siblings)
12 siblings, 0 replies; 14+ messages in thread
From: jamborm at gcc dot gnu.org @ 2011-09-02 12:46 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49886
--- Comment #3 from Martin Jambor <jamborm at gcc dot gnu.org> 2011-09-02 12:46:10 UTC ---
4.6 version of the patch posted to the mailing list:
http://gcc.gnu.org/ml/gcc-patches/2011-09/msg00140.html
^ permalink raw reply [flat|nested] 14+ messages in thread
* [Bug middle-end/49886] [4.6/4.7 Regression] pass_split_functions cannot deal with function type attributes
2011-07-28 11:42 [Bug middle-end/49886] New: pass_split_functions cannot deal with function type attributes jamborm at gcc dot gnu.org
` (4 preceding siblings ...)
2011-09-02 12:46 ` jamborm at gcc dot gnu.org
@ 2011-09-02 14:31 ` jamborm at gcc dot gnu.org
2011-09-03 19:41 ` jamborm at gcc dot gnu.org
` (6 subsequent siblings)
12 siblings, 0 replies; 14+ messages in thread
From: jamborm at gcc dot gnu.org @ 2011-09-02 14:31 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49886
--- Comment #4 from Martin Jambor <jamborm at gcc dot gnu.org> 2011-09-02 14:30:49 UTC ---
Author: jamborm
Date: Fri Sep 2 14:30:34 2011
New Revision: 178482
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=178482
Log:
2011-09-02 Martin Jambor <mjambor@suse.cz>
PR middle-end/49886
* ipa-split.c (split_function): Do not skip any arguments if
can_change_signature is set or there are function type attributes.
* testsuite/gcc.c-torture/execute/pr49886.c: New testcase.
* testsuite/gfortran.fortran-torture/compile/pr50260.f90: Likewise.
Added:
branches/gcc-4_6-branch/gcc/testsuite/gcc.c-torture/execute/pr49886.c
branches/gcc-4_6-branch/gcc/testsuite/gfortran.fortran-torture/compile/pr50260.f90
Modified:
branches/gcc-4_6-branch/gcc/ChangeLog
branches/gcc-4_6-branch/gcc/ipa-split.c
branches/gcc-4_6-branch/gcc/testsuite/ChangeLog
^ permalink raw reply [flat|nested] 14+ messages in thread
* [Bug middle-end/49886] [4.6/4.7 Regression] pass_split_functions cannot deal with function type attributes
2011-07-28 11:42 [Bug middle-end/49886] New: pass_split_functions cannot deal with function type attributes jamborm at gcc dot gnu.org
` (5 preceding siblings ...)
2011-09-02 14:31 ` jamborm at gcc dot gnu.org
@ 2011-09-03 19:41 ` jamborm at gcc dot gnu.org
2011-09-06 15:09 ` jamborm at gcc dot gnu.org
` (5 subsequent siblings)
12 siblings, 0 replies; 14+ messages in thread
From: jamborm at gcc dot gnu.org @ 2011-09-03 19:41 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49886
Martin Jambor <jamborm at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |RESOLVED
Resolution| |FIXED
--- Comment #5 from Martin Jambor <jamborm at gcc dot gnu.org> 2011-09-03 19:41:26 UTC ---
Fixed on both trunk and the 4.6 branch.
^ permalink raw reply [flat|nested] 14+ messages in thread
* [Bug middle-end/49886] [4.6/4.7 Regression] pass_split_functions cannot deal with function type attributes
2011-07-28 11:42 [Bug middle-end/49886] New: pass_split_functions cannot deal with function type attributes jamborm at gcc dot gnu.org
` (6 preceding siblings ...)
2011-09-03 19:41 ` jamborm at gcc dot gnu.org
@ 2011-09-06 15:09 ` jamborm at gcc dot gnu.org
2011-09-07 12:02 ` jamborm at gcc dot gnu.org
` (4 subsequent siblings)
12 siblings, 0 replies; 14+ messages in thread
From: jamborm at gcc dot gnu.org @ 2011-09-06 15:09 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49886
--- Comment #6 from Martin Jambor <jamborm at gcc dot gnu.org> 2011-09-06 15:09:18 UTC ---
Author: jamborm
Date: Tue Sep 6 15:09:10 2011
New Revision: 178599
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=178599
Log:
2011-09-06 Martin Jambor <mjambor@suse.cz>
Revert
2011-09-02 Martin Jambor <mjambor@suse.cz>
PR middle-end/49886
* ipa-split.c (split_function): Do not skip any arguments if
can_change_signature is set or there are function type attributes.
testsuite/
* gcc.c-torture/execute/pr49886.c: Move to...
* gcc.dg/torture/pr49886.c: ...here. Xfail run test for -O2 and above.
Added:
branches/gcc-4_6-branch/gcc/testsuite/gcc.dg/torture/pr49886.c
- copied, changed from r178598,
branches/gcc-4_6-branch/gcc/testsuite/gcc.c-torture/execute/pr49886.c
Removed:
branches/gcc-4_6-branch/gcc/testsuite/gcc.c-torture/execute/pr49886.c
Modified:
branches/gcc-4_6-branch/gcc/ChangeLog
branches/gcc-4_6-branch/gcc/ipa-split.c
branches/gcc-4_6-branch/gcc/testsuite/ChangeLog
^ permalink raw reply [flat|nested] 14+ messages in thread
* [Bug middle-end/49886] [4.6/4.7 Regression] pass_split_functions cannot deal with function type attributes
2011-07-28 11:42 [Bug middle-end/49886] New: pass_split_functions cannot deal with function type attributes jamborm at gcc dot gnu.org
` (7 preceding siblings ...)
2011-09-06 15:09 ` jamborm at gcc dot gnu.org
@ 2011-09-07 12:02 ` jamborm at gcc dot gnu.org
2011-09-19 6:20 ` terry.guo at arm dot com
` (3 subsequent siblings)
12 siblings, 0 replies; 14+ messages in thread
From: jamborm at gcc dot gnu.org @ 2011-09-07 12:02 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49886
Martin Jambor <jamborm at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|RESOLVED |REOPENED
Last reconfirmed| |2011-09-07
Resolution|FIXED |
Ever Confirmed|0 |1
--- Comment #7 from Martin Jambor <jamborm at gcc dot gnu.org> 2011-09-07 11:59:28 UTC ---
I reverted the fix on 4.6 branch because it was causing a lot of other trouble
(particularly PR 50295). Therefore, this has to be re-opened.
^ permalink raw reply [flat|nested] 14+ messages in thread
* [Bug middle-end/49886] [4.6/4.7 Regression] pass_split_functions cannot deal with function type attributes
2011-07-28 11:42 [Bug middle-end/49886] New: pass_split_functions cannot deal with function type attributes jamborm at gcc dot gnu.org
` (8 preceding siblings ...)
2011-09-07 12:02 ` jamborm at gcc dot gnu.org
@ 2011-09-19 6:20 ` terry.guo at arm dot com
2011-09-19 11:46 ` jamborm at gcc dot gnu.org
` (2 subsequent siblings)
12 siblings, 0 replies; 14+ messages in thread
From: terry.guo at arm dot com @ 2011-09-19 6:20 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49886
Terry Guo <terry.guo at arm dot com> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |terry.guo at arm dot com
--- Comment #8 from Terry Guo <terry.guo at arm dot com> 2011-09-19 05:46:58 UTC ---
(In reply to comment #7)
> I reverted the fix on 4.6 branch because it was causing a lot of other trouble
> (particularly PR 50295). Therefore, this has to be re-opened.
Hi Martin,
I noticed a new dg directive was added as "/* { dg-xfail-run-if "" { "*-*-*" }
{ "-O2" "-O3" "-Os" } } */". Since then, this case is XPASS for arm-none-eabi
on QEMU for Cortex-M3. Here are the log:
Running
/home/build/work/jenkins-daily-build/src/gcc/gcc/testsuite/gcc.dg/torture/dg-torture.exp
...
XPASS: gcc.dg/torture/pr49886.c -O2 execution test
XPASS: gcc.dg/torture/pr49886.c -O3 -fomit-frame-pointer execution test
XPASS: gcc.dg/torture/pr49886.c -O3 -fomit-frame-pointer -funroll-loops
execution test
XPASS: gcc.dg/torture/pr49886.c -O3 -fomit-frame-pointer -funroll-all-loops
-finline-functions execution test
XPASS: gcc.dg/torture/pr49886.c -O3 -g execution test
XPASS: gcc.dg/torture/pr49886.c -Os execution test
Do you think the case should fail for arm-none-eabi or not? If not, I think we
may need arm-none-eabi from dg-xfail-run-if.
^ permalink raw reply [flat|nested] 14+ messages in thread
* [Bug middle-end/49886] [4.6/4.7 Regression] pass_split_functions cannot deal with function type attributes
2011-07-28 11:42 [Bug middle-end/49886] New: pass_split_functions cannot deal with function type attributes jamborm at gcc dot gnu.org
` (9 preceding siblings ...)
2011-09-19 6:20 ` terry.guo at arm dot com
@ 2011-09-19 11:46 ` jamborm at gcc dot gnu.org
2011-09-19 13:37 ` jamborm at gcc dot gnu.org
2011-09-19 13:57 ` jamborm at gcc dot gnu.org
12 siblings, 0 replies; 14+ messages in thread
From: jamborm at gcc dot gnu.org @ 2011-09-19 11:46 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49886
--- Comment #9 from Martin Jambor <jamborm at gcc dot gnu.org> 2011-09-19 11:43:04 UTC ---
Thanks for letting me know about this. However, as described in
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49886
the whole XFAIL will go away after I commit the patch today.
^ permalink raw reply [flat|nested] 14+ messages in thread
* [Bug middle-end/49886] [4.6/4.7 Regression] pass_split_functions cannot deal with function type attributes
2011-07-28 11:42 [Bug middle-end/49886] New: pass_split_functions cannot deal with function type attributes jamborm at gcc dot gnu.org
` (10 preceding siblings ...)
2011-09-19 11:46 ` jamborm at gcc dot gnu.org
@ 2011-09-19 13:37 ` jamborm at gcc dot gnu.org
2011-09-19 13:57 ` jamborm at gcc dot gnu.org
12 siblings, 0 replies; 14+ messages in thread
From: jamborm at gcc dot gnu.org @ 2011-09-19 13:37 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49886
--- Comment #10 from Martin Jambor <jamborm at gcc dot gnu.org> 2011-09-19 13:27:00 UTC ---
Author: jamborm
Date: Mon Sep 19 13:26:50 2011
New Revision: 178973
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=178973
Log:
2011-09-19 Martin Jambor <mjambor@suse.cz>
PR middle-end/49886
* ipa-split.c (split_function): Do not change signature if it is
not possible or there are attribute types.
* testsuite/gcc.dg/torture/pr49886.c: Remove XFAILs.
* testsuite/gcc.dg/torture/pr50287.c: New test.
Added:
branches/gcc-4_6-branch/gcc/testsuite/gcc.dg/torture/pr50287.c
Modified:
branches/gcc-4_6-branch/gcc/ChangeLog
branches/gcc-4_6-branch/gcc/ipa-split.c
branches/gcc-4_6-branch/gcc/testsuite/ChangeLog
branches/gcc-4_6-branch/gcc/testsuite/gcc.dg/torture/pr49886.c
^ permalink raw reply [flat|nested] 14+ messages in thread
* [Bug middle-end/49886] [4.6/4.7 Regression] pass_split_functions cannot deal with function type attributes
2011-07-28 11:42 [Bug middle-end/49886] New: pass_split_functions cannot deal with function type attributes jamborm at gcc dot gnu.org
` (11 preceding siblings ...)
2011-09-19 13:37 ` jamborm at gcc dot gnu.org
@ 2011-09-19 13:57 ` jamborm at gcc dot gnu.org
12 siblings, 0 replies; 14+ messages in thread
From: jamborm at gcc dot gnu.org @ 2011-09-19 13:57 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49886
Martin Jambor <jamborm at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|REOPENED |RESOLVED
Resolution| |FIXED
--- Comment #11 from Martin Jambor <jamborm at gcc dot gnu.org> 2011-09-19 13:35:35 UTC ---
So this should now be fixed again.
^ permalink raw reply [flat|nested] 14+ messages in thread
end of thread, other threads:[~2011-09-19 13:37 UTC | newest]
Thread overview: 14+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-07-28 11:42 [Bug middle-end/49886] New: pass_split_functions cannot deal with function type attributes jamborm at gcc dot gnu.org
2011-07-28 11:51 ` [Bug middle-end/49886] [4.6/4.7 Regression] " rguenth at gcc dot gnu.org
2011-07-28 16:53 ` jamborm at gcc dot gnu.org
2011-08-01 14:53 ` rguenth at gcc dot gnu.org
2011-08-31 17:48 ` jamborm at gcc dot gnu.org
2011-09-02 12:46 ` jamborm at gcc dot gnu.org
2011-09-02 14:31 ` jamborm at gcc dot gnu.org
2011-09-03 19:41 ` jamborm at gcc dot gnu.org
2011-09-06 15:09 ` jamborm at gcc dot gnu.org
2011-09-07 12:02 ` jamborm at gcc dot gnu.org
2011-09-19 6:20 ` terry.guo at arm dot com
2011-09-19 11:46 ` jamborm at gcc dot gnu.org
2011-09-19 13:37 ` jamborm at gcc dot gnu.org
2011-09-19 13:57 ` jamborm at gcc dot gnu.org
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).