Cuong Manh Le
Cuong Manh Le
@dr2chase @cherrymui Is performance regression legal for backport?
> What do you mean by a "non-Name call"? A call to a func value that is not a named function? In this case it doesn't have a func value....
> Sorry, I must still have missed something. When would a call expression be an ONAME node? I'd think a call expression would be an OCALL or OCALLXXX node. Or...
> Sorry, I must still have missed something... If by "callee expression" you mean the function being called, in this case it would be (*Object).Initialize(obj).Update, instead of (*Object).Initialize(obj). It is!...
> Also, everything gets inlined. This is in code that no longer contains real calls, Yeah, but all discussion above happens during old typecheck pass, so before any inlining can...
> Are autotmps required to have ODCL nodes, or would it just solve this problem for us? I just now went looking at uses of typecheck.Temp and I don't see...
> And, also, adding all these declarations for temporaries where none existed before might cause other problems. I'm AFK, but there's a place in compiler where we emit ODCL for...
> I think the heuristic to try is that the loop level of an autotmp is the minimum level at which it is assigned; that is where it would have...
> Sorry for the late reply. I agree with @dr2chase that targeting the escape analysis is the right thing to do here. And the heuristic of using the minimum level...
> Besides the escape analysis change, I think the escape analysis diagnostics also needs some improvement. If it is the assignment `.autotmp_3 = ~R0` causing the escape due to loop...