https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78098
Richard Biener changed:
What|Removed |Added
Target Milestone|7.5 |---
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78098
Richard Biener changed:
What|Removed |Added
Target Milestone|7.4 |7.5
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78098
Richard Biener changed:
What|Removed |Added
Target Milestone|7.3 |7.4
--- Comment #18 from Richard Biener
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78098
Richard Biener changed:
What|Removed |Added
Target Milestone|7.2 |7.3
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78098
Andrew Pinski changed:
What|Removed |Added
Target Milestone|7.3 |---
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78098
Richard Biener changed:
What|Removed |Added
Target Milestone|7.2 7.2 |7.3 7.3
--- Comment #18 from Richard Bi
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78098
Richard Biener changed:
What|Removed |Added
Target Milestone|7.2 7.2 |7.3 7.3
--- Comment #18 from Richard Bi
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78098
Jakub Jelinek changed:
What|Removed |Added
Target Milestone|7.0 |7.2
--- Comment #17 from Jakub Jelinek
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78098
--- Comment #16 from H.J. Lu ---
(In reply to Martin Liška from comment #15)
> >
> > Not with interrupt handler which needs different epilogue and prologue.
>
> I see, however I'm not sure it's known information when IPA ICF is running.
> Or am
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78098
--- Comment #15 from Martin Liška ---
>
> Not with interrupt handler which needs different epilogue and prologue.
I see, however I'm not sure it's known information when IPA ICF is running.
Or am I wrong?
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78098
--- Comment #14 from H.J. Lu ---
(In reply to Martin Liška from comment #13)
> (In reply to H.J. Lu from comment #12)
> > (In reply to Martin Liška from comment #10)
> > > (In reply to H.J. Lu from comment #9)
> > > > (In reply to Richard Biener
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78098
--- Comment #13 from Martin Liška ---
(In reply to H.J. Lu from comment #12)
> (In reply to Martin Liška from comment #10)
> > (In reply to H.J. Lu from comment #9)
> > > (In reply to Richard Biener from comment #6)
> > > > Why would we be not ab
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78098
--- Comment #12 from H.J. Lu ---
(In reply to Martin Liška from comment #10)
> (In reply to H.J. Lu from comment #9)
> > (In reply to Richard Biener from comment #6)
> > > Why would we be not able to tailcall in an interupt handler?
> >
> > We n
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78098
--- Comment #11 from H.J. Lu ---
(In reply to Martin Liška from comment #10)
> (In reply to H.J. Lu from comment #9)
> > (In reply to Richard Biener from comment #6)
> > > Why would we be not able to tailcall in an interupt handler?
> >
> > We n
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78098
--- Comment #10 from Martin Liška ---
(In reply to H.J. Lu from comment #9)
> (In reply to Richard Biener from comment #6)
> > Why would we be not able to tailcall in an interupt handler?
>
> We need to verify that the only instruction in an int
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78098
--- Comment #9 from H.J. Lu ---
(In reply to Richard Biener from comment #6)
> Why would we be not able to tailcall in an interupt handler?
We need to verify that the only instruction in an interrupt handler
is a tail call to another interrupt h
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78098
--- Comment #8 from H.J. Lu ---
(In reply to Martin Liška from comment #7)
> > Can ICF turn foo1 into a tail call to foo2 when foo2 has an interrupt
> > attribute?
>
> Problem here is that comp_type_attributes returns 1 as
>
> $18 = {name = 0x1
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78098
--- Comment #7 from Martin Liška ---
> Can ICF turn foo1 into a tail call to foo2 when foo2 has an interrupt
> attribute?
Problem here is that comp_type_attributes returns 1 as
$18 = {name = 0x19d357b "interrupt", min_length = 0, max_length = 0
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78098
--- Comment #6 from Richard Biener ---
Why would we be not able to tailcall in an interupt handler?
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78098
--- Comment #5 from H.J. Lu ---
(In reply to Martin Liška from comment #4)
> Hello H.J.
> As interrupt handler attribute is very specific and rare attribute, I'm
> suggesting to basically skip all functions in IPA ICF analysis that have
> such at
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78098
Martin Liška changed:
What|Removed |Added
Status|UNCONFIRMED |NEW
Last reconfirmed|
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78098
--- Comment #3 from H.J. Lu ---
Another problem:
[hjl@gnu-6 pr78098]$ cat foo2.i
void bar (int);
void foo1 (void *p)
{
bar (0);
*((int *)0xFEE00080) = 0;
}
__attribute__((interrupt)) void foo2 (void *p)
{
bar (0);
*((int *)0xFEE00080)
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78098
--- Comment #2 from H.J. Lu ---
GCC correctly identified that foo1 == foo2 and generate a tail call.
But we don't want tail call in interrupt handler. On the other hand,
there is no need to have 2 identical copies of an interrupt handler.
There
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78098
H.J. Lu changed:
What|Removed |Added
CC||marxin at gcc dot gnu.org
Component|t
24 matches
Mail list logo