On Fri, Jan 27, 2017 at 03:17:42PM -0700, Jeff Law wrote: > >>My preference would be somehow either mark those insns as not fully > >>modeled and avoid speculating on them. Or invent a target hook to allow > >>the scheduler to query the backend. > > > >This is my preference -- have it in one location, not spread out over > >many instruction patterns, or many scheduling descriptions. > No strong opinions on the two approaches. I could easily see defining a > hook and ports implementing the hook via attributes if that were easier > for them. Other ports might implement the hook by scanning the insn for > key RTL codes.
Okay, I'll come up with something. > >>Note that these could be used elsewhere -- for example delay slot > >>scheduling and predication. Delay slot scheduling does speculation and > >>there's ports that simply refuse to allow certain instructions (div/sqrt > >>on one port, I think all FP stuff on another) to avoid these kinds of > >>problems. > > > >Are you saying there already is a hook we could use, maybe after > >adjusting it a bit? That would be ideal. > No -- ports handle this inside there eligible_for_delay_XXX support. > It's not something that could be reasonably re-used within the scheduler. Too bad. Oh well. Segher