On Tue, Mar 26, 2019 at 12:15:26PM -0600, Jeff Law wrote: > On 3/26/19 11:52 AM, Segher Boessenkool wrote: > > On Mon, Mar 25, 2019 at 05:12:05PM -0600, Jeff Law wrote: > >> To touch on one of the issues I raised. AFAICT the schedulers don't use > >> SCHED_GROUP_P for dealing with tablejumps. They're used for > >> cc0-user/setter, fused insns and the like. That's a bit of a surprise. > >> > >> Given that the table isn't actually associated with the block with the > >> tablejump, SCHED_GROUP_P might actually create a whole new set of problems. > >> > >> Why oh why is the jump table data not actually attached to the tablejump > >> insn itself. Nearly 30 years of working on GCC and I can't answer that > >> one. > > > > It somewhat makes sense for targets where the jump table is emitted in the > > text section; we then need to know its size for jumps over it, etc. > > > ISTM if you attach the table to the indirect jump, then you could > include the size of hte table in the size of the indirect jump on > targets where the table is emitted inline in the text section. > > I don't think there's anything we're doing now that couldn't be done > with the table attached to the jump. I would even claim that some > things become notably easier :-)
I agree; I was musing why it grew this way historically. > But none of that is gcc-9 material. Right, but it would be lovely if someone picked it up for GCC 10. Hint hint. Segher