On 09/09/2016 09:40 AM, Segher Boessenkool wrote:

So I think sticking with this as a design decision makes sense -- does
it impact the issue around running a particular component's prologue
more than once?

I don't follow, sorry; could you rephrase?
Nevermind -- my question has been resolved. I was fumbling around trying to figure out the circumstances where a prologue/epilogue might be run more than once. With your recent message, that's been cleared up.

Right and the cases where it's placing them into loops it's going to be
doing so on paths that are unlikely executed within the loop.  ISTM that
using frequencies is a significant step forward over the older placement
algorithms in this space (which IIRC were structured as simple dataflow
solvers) -- with the added advantage that if we have profiling data we
can make better decisions.

Using the known/guessed execution frequencies is not really new, just not
forty years old :-)
Referring to its use in GCC (or lack thereof).


Does this impact the compile time computation complexity issue that was
raised elsewhere?

I'm not sure what you mean here either, sorry.  It is all O(NM) with N
the number of BBs and M the number of components (and assuming dom
lookups are constant time, as usual).
You said in a different message that computing optimal placement points for prologue/epilogue components was not computationally feasible. I'm just trying to figure out if the switch to utilizing block frequencies is a part of what makes solving that problem infeasible.

jeff

Reply via email to