newppc-branch: Some problems
Geoff Keating
geoffk@cygnus.com
Thu Feb 17 18:45:00 GMT 2000
Clinton Popetz <cpopetz@cpopetz.com> writes:
> On Thu, Feb 17, 2000 at 04:27:20PM +0100, Franz Sirl wrote:
> > Hi,
> >
> > /tmp/ccV46BSr.s: Assembler messages:
> > /tmp/ccV46BSr.s:1923: Error: Symbol .LCG74 already defined.
> > /tmp/ccV46BSr.s:1941: Error: Symbol .LCG75 already defined.
> > /tmp/ccV46BSr.s:1951: Error: Symbol .LCG76 already defined.
> > /tmp/ccV46BSr.s:1962: Error: Symbol .LCG77 already defined.
>
> I can get back to looking at this today; I've been sick.
>
>
> > There's definitely something fishy going on with the tree-based inlining on
> > PPC, as I already had problems with it in the normal branch. Clinton looked
> > a little bit at this problem, maybe he already knows more about it.
>
> I know the symptom but not the cure. Inlining is causing some exception
> region to be copied, with the code from builtin_setjmp_receiver being
> duplicated in two spots, and this means the label emitted by
> rs6000_emit_load_toc_table is appearing twice. I'll look at it again today.
I think this probably means we should have been using a real
CODE_LABEL. That would be OK, perhaps.
> > The other problem is this warning:
> > ./../../cvsx/gccm/gcc/cp/new.cc:42: warning: ICE: would have deleted
> > ./../../cvsx/gccm/gcc/cp/new.cc:42: warning: prologue/epilogue insn
> >
> > (insn 147 145 148 (set (reg:SI 30 r30)
> > (plus:SI (reg:SI 0 r0)
> > (reg:SI 30 r30))) -1 (nil)
> > (nil))
> >
> > It happens quite often during bootstrap and also invalidates some testcases.
> Yes, it's a pain; the situation that it is warning about is valid.
> Eventually we need a way to tell flow that a given prologue insn is
> safe to delete if it's dead.
That's on my queue, right after 'make powerpc-eabi compile again'.
Richard suggested using the 'jump' bit of the INSN rtx, since it seems
to be free. I haven't implemented it because I was hoping for a nicer
solution.
--
- Geoffrey Keating <geoffk@cygnus.com>
More information about the Gcc-bugs
mailing list