+++ Eric Botcazou [02/11/07 09:56 +0100]: > > Questions: > > * shorten_branches() computes sizes of instructions so I know what the > > distance is between a jump instr and its target label. But how do I know > > what is the maximum distance each kind of branch can safely take? > > bb-reorder.c assumes that its only when cold/hot partitions are crossed > > it has to use indirect jumps, which is not the appropriate test in my case. > > You cannot easily, it's buried in the architecture back-ends. > > > * do I get it right that shorten_branches() does not really modify > > instructions but it helps to shorten branches by providing more accurate > > insns lengths? > > Yes, but this should work automatically. IOW, as Ian said, you shouldn't > need > to do anything special. Maybe it's simply a latent bug in the PPC back-end.
Got it working. It turns out I was renumbering the instructions just before pass_final and it was messing up the creation of jump islands in PPC (and I believe other archs with short cond branches). I changed my code not to require the renumbering and it's all working now. Thanks a lot, Gregory -- Gregory B. Prokopski <[EMAIL PROTECTED]> Sable Research Group http://www.sable.mcgill.ca Montreal, Quebec, Canada