[Mono-dev] CIL to CIL optimizer

Bjarke Hammersholt Roune bjarke.roune at gmail.com
Thu Aug 10 09:40:53 EDT 2006


Rafael Teixeira skrev:
 > Have you looked into the implementation of the SSA optimizations our
 > JIT already does?
 > You may find useful insights on it, even if it optimizes not CIL but
 > another intermediary representation and targets native instructions.
 >
 > :)
 >
I did but in ssa.c it says:

void
mono_ssa_compute (MonoCompile *cfg)
{
     int i, idx;
     MonoBitSet *set;
     MonoMethodVar *vinfo = g_new0 (MonoMethodVar, cfg->num_varinfo);
     MonoInst *inst, *store, **stack;

     g_assert (!(cfg->comp_done & MONO_COMP_SSA));

     /* we dont support methods containing exception clauses */
     g_assert (mono_method_get_header (cfg->method)->num_clauses == 0);
     g_assert (!cfg->disable_ssa);
     [...]
}

I assume this means that methods with catch, filter, finally or fault do 
not get converted to or optimized in SSA form. That is when I stopped 
looking, but perhaps I have misunderstood the comment?

Bjarke




More information about the Mono-devel-list mailing list