On 8/1/07 8:07 AM, Razya Ladelsky wrote: > Any suggestions on how to create low gimple code for > gimplify_omp_atomic_pipeline > cases?
Interesting. I think it's the first time we run into this problem. I don't see force_gimple_operand trying to emit low GIMPLE. But we always use it from the optimizers, so it should. You cannot force the omp_atomic gimplifiers to emit low GIMPLE as those are called by the GENERIC->GIMPLE conversion. The easiest way to fix this, I think, is to call lower_stmt() from force_gimple_operand() after the call to gimplify_expr. For this you'll need to setup a stmt iterator on the resulting list of statements from gimplify_expr and call lower_stmt on each of them (this should be implemented in gimple-low.c). Longer term, I think we need to have an indicator of what level of GIMPLE the function is in. This way the various helpers like force_gimple_operand can decide what to do.