This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] Fix PR 20606 and PR 24069


On Oct  4, 2005, Richard Henderson <rth@redhat.com> wrote:

> On Sun, Oct 02, 2005 at 02:37:14PM -0400, Andrew Pinski wrote:
>> The problem here is that we have an indirect jump to a label.
>> JUMP_LABEL (insn) will be NULL but we will have a reg note REG_LABEL
>> for the label.  This patch fixes the problem by using that reg note.

> If it's an indirect jump, JUMP_LABEL will never be set.  This
> is correct.  Whether or not there's a REG_LABEL is irrelevant.

Not really.  REG_LABEL was introduced precisely to hold a label for
indirect jumps that are always targeted at the same address, as needed
by SH5's jump sequences, that start with a high-latency PT instruction
that loads a branch target into a target register, and finally a
branch instruction that requires a target register.

> Why isn't this recognized as a computed_jump_p?

Because if there is a REG_LABEL, it is not a computed jump, it's a
jump to that label.

-- 
Alexandre Oliva         http://www.lsd.ic.unicamp.br/~oliva/
Red Hat Compiler Engineer   aoliva@{redhat.com, gcc.gnu.org}
Free Software Evangelist  oliva@{lsd.ic.unicamp.br, gnu.org}


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]