https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66215
Richard Biener rguenth at gcc dot gnu.org changed:
What|Removed |Added
Status|NEW |RESOLVED
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66215
--- Comment #32 from Andreas Krebbel krebbel at gcc dot gnu.org ---
Author: krebbel
Date: Mon Jun 1 11:28:09 2015
New Revision: 223931
URL: https://gcc.gnu.org/viewcvs?rev=223931root=gccview=rev
Log:
PR 66215: S390: Fix placement of post-label
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66215
--- Comment #29 from Dominik Vogt vogt at linux dot vnet.ibm.com ---
As this still seems to work in 4.8, 4.9 and 5.1, is it acceptable to only fix
this on the master?
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66215
--- Comment #33 from Andreas Krebbel krebbel at gcc dot gnu.org ---
Author: krebbel
Date: Mon Jun 1 11:29:46 2015
New Revision: 223932
URL: https://gcc.gnu.org/viewcvs?rev=223932root=gccview=rev
Log:
PR 66215: S390: Fix placement of post-label
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66215
--- Comment #31 from Andreas Krebbel krebbel at gcc dot gnu.org ---
Author: krebbel
Date: Mon Jun 1 11:25:56 2015
New Revision: 223930
URL: https://gcc.gnu.org/viewcvs?rev=223930root=gccview=rev
Log:
PR 66215: S390: Fix placement of post-label
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66215
--- Comment #30 from Jakub Jelinek jakub at gcc dot gnu.org ---
IMHO it is better to keep the tests in sync between branches.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66215
--- Comment #24 from Dominik Vogt vogt at linux dot vnet.ibm.com ---
Okay, I've made a new patch that fixes the problem with only the hotpatch tests
running in the s390 test suite. This change passes all tests on 64 and 31 bit.
After this
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66215
--- Comment #26 from Dominik Vogt vogt at linux dot vnet.ibm.com ---
The patch for upstream gcc is available here:
https://gcc.gnu.org/ml/gcc-patches/2015-05/msg02739.html
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66215
--- Comment #25 from Andreas Krebbel krebbel at gcc dot gnu.org ---
The patch looks good to me. Please post it on the mailing list and I'll commit
it.
Jakub, thanks for your valuable comments! Does Dominik's last patch address
your concerns?
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66215
--- Comment #28 from Jakub Jelinek jakub at gcc dot gnu.org ---
BTW, the hotpatch-19.c, hotpatch-20.c and hotpatch-compile-15.c testcases look
wrong, always_inline attribute shouldn't be used on functions not declared
inline.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66215
--- Comment #27 from Andreas Krebbel krebbel at gcc dot gnu.org ---
Author: krebbel
Date: Fri May 29 14:26:56 2015
New Revision: 223867
URL: https://gcc.gnu.org/viewcvs?rev=223867root=gccview=rev
Log:
PR 66215: S390: Fix placement of post-label
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66215
--- Comment #21 from Jakub Jelinek jakub at gcc dot gnu.org ---
In case somebody forces any of the torture options into the default through
--target_board=unix/WHATEVER that will result in testing some option
combination multiple times and -O0
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66215
--- Comment #23 from Jakub Jelinek jakub at gcc dot gnu.org ---
(In reply to Dominik Vogt from comment #22)
Created attachment 35628 [details]
Experimental fix 5
Version 5 with the suggested changes and a new test case. Hopefully the
last
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66215
Dominik Vogt vogt at linux dot vnet.ibm.com changed:
What|Removed |Added
Attachment #35599|0 |1
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66215
--- Comment #18 from Miroslav Benes mbenes at suse dot cz ---
I confirm that v4 of the proposed patch works for me. Tested on simple
userspace program similar to the one in the bug description and on the kernel
module where I stumbled upon the
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66215
--- Comment #19 from Jakub Jelinek jakub at gcc dot gnu.org ---
I'm still missing (untested):
-dg-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.\[cS\]]] \
+dg-runtest [lsort [prune [glob -nocomplain $srcdir/$subdir/*.\[cS\]] \
+
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66215
--- Comment #20 from Dominik Vogt vogt at linux dot vnet.ibm.com ---
I'll remove -O0 from the list of torture test options so that the list of
hotpatch torture tests is only defined in one place.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66215
--- Comment #7 from Dominik Vogt vogt at linux dot vnet.ibm.com ---
Created attachment 35595
-- https://gcc.gnu.org/bugzilla/attachment.cgi?id=35595action=edit
Experimental fix
Can you please check whether this patch works for you? The patch
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66215
--- Comment #8 from Jakub Jelinek jakub at gcc dot gnu.org ---
Doesn't this disable all the other s390 tests?
Supposedly you need to prune them from the non-torture lists, see e.g.
g++.dg/dg.exp on how it prunes tests.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66215
--- Comment #11 from Dominik Vogt vogt at linux dot vnet.ibm.com ---
(In reply to Jakub Jelinek from comment #10)
As for the hotpatch testcases, have you tested them also with
-fno-dwarf2-cfi-asm (as they seem to contain .cfi directives in the
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66215
--- Comment #9 from Dominik Vogt vogt at linux dot vnet.ibm.com ---
Yeah, I accidentally left the other test cases commented out. I'll clean that
up in the next version of the patch. That doesn't have an impact on the
correctness of the code
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66215
--- Comment #10 from Jakub Jelinek jakub at gcc dot gnu.org ---
As for the hotpatch testcases, have you tested them also with
-fno-dwarf2-cfi-asm (as they seem to contain .cfi directives in the regexps)?
And for the main patch, the change will
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66215
--- Comment #12 from Dominik Vogt vogt at linux dot vnet.ibm.com ---
Created attachment 35597
-- https://gcc.gnu.org/bugzilla/attachment.cgi?id=35597action=edit
Experimental fix 2
Version 2 of the patch with the suggested changes and test
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66215
--- Comment #14 from Dominik Vogt vogt at linux dot vnet.ibm.com ---
Is it possible that a function has no insns at all?
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66215
Dominik Vogt vogt at linux dot vnet.ibm.com changed:
What|Removed |Added
Attachment #35597|0 |1
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66215
--- Comment #13 from Jakub Jelinek jakub at gcc dot gnu.org ---
The only function without active insns I'm aware of is:
void
foo (void)
{
__builtin_unreachable ();
}
which only contains notes and a BARRIER, nothing else (at least on s390x).
It
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66215
Dominik Vogt vogt at linux dot vnet.ibm.com changed:
What|Removed |Added
Attachment #35598|0 |1
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66215
--- Comment #16 from Jakub Jelinek jakub at gcc dot gnu.org ---
The function I've mentioned has:
(note 1 0 3 NOTE_INSN_DELETED)
(note 3 1 12 [bb 2] NOTE_INSN_BASIC_BLOCK)
(note 12 3 2 NOTE_INSN_PROLOGUE_END)
(note 2 12 5 NOTE_INSN_FUNCTION_BEG)
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66215
--- Comment #6 from Jakub Jelinek jakub at gcc dot gnu.org ---
No, IMHO you can have many debug insns after that and before first real insn.
I'd go for something like:
rtx_insn *insn = get_insns ();
if (!active_insn_p (insn))
insn =
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66215
--- Comment #5 from Dominik Vogt vogt at linux dot vnet.ibm.com ---
Wouldn't the correct and easy to identify place be right after the first
NOTE_INSN_BASIC_BLOCK?
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66215
Richard Biener rguenth at gcc dot gnu.org changed:
What|Removed |Added
Target Milestone|--- |4.8.5
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66215
--- Comment #1 from Martin Liška marxin at gcc dot gnu.org ---
Following testcase is wrongly compiled event with -O2 optimization level.
$ cat o2-test-case.c
static int a;
int t(int tt)
{
switch (tt)
{
case 1: return a;
}
return 0;
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66215
--- Comment #2 from Martin Liška marxin at gcc dot gnu.org ---
(In reply to Martin Liška from comment #1)
Following testcase is wrongly compiled event with -O2 optimization level.
$ cat o2-test-case.c
static int a;
int t(int tt)
{
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66215
Andreas Krebbel krebbel at gcc dot gnu.org changed:
What|Removed |Added
Status|UNCONFIRMED |NEW
Last
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66215
Jakub Jelinek jakub at gcc dot gnu.org changed:
What|Removed |Added
CC||jakub at gcc dot
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66215
--- Comment #4 from Andreas Krebbel krebbel at gcc dot gnu.org ---
(In reply to Jakub Jelinek from comment #3)
IMHO the nops should go immediately before the first real instruction in the
function. The point of not emitting it earlier is so
36 matches
Mail list logo