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.

Reply via email to