On 11/05/13 05:02, Ilya Enkovich wrote:

If I just set abnormal phi flag for SSA_NAME, SSA verifier should fail
because it does not used in abnormal phi, shouldn't it?
Well, we can also change the verifier to not fail when it finds that flag set on a pointer when bounds checking is enabled.


  Also it would
prevent all optimizations for these SSA_NAMEs right?  Instrumentation
is performed on the earlier stage, right after we build SSA. I think
using abnormal phi flag and binding pointers with bounds via calls
would prevent some useful optimizations.
It certainly prevents some optimizations, but it's main purpose is to avoid certain copy propagation and coalescing. If you don't set that flag, there's probably all kinds places you're going to have to hack up to keep the properties you desire for bounded pointers.

I would rather be a bit conservative and miss some optimizations by setting SSA_NAME_OCCURS_IN_ABNORMAL_PHI than be continually hacking up passes to special case bounded pointers. We can obviously revisit this decision later.

Jeff


Reply via email to