On 11/18/13 11:10, Ilya Enkovich wrote:

In SSA we are not allowed to have PARAM_DECL as call arg.
Right.


  The problem
in this optimization is that when we replace a tail call with jump, we
replace default SSA name of input parameter with PHI node holding
taking original param and call's arg.
?  This would be an indication of a problem at the call site.

When the recursive call is transformed into a jump we should be taking arguments from the call site and using those as values in a PHI node at the target of the newly created edge

See eliminate_tail_call.




In general for not important optimizations I resolve the stability
issue with instrumented code and will enable optimizations later. For
obviously important optimizations, like inline, support is initially
added.
To me, disabling this appears like you're got something fundamentally wrong with your implementation.

Jeff

Reply via email to