If-conversion and conditional move.

Richard Henderson rth@redhat.com
Wed May 7 18:38:00 GMT 2003


On Wed, May 07, 2003 at 02:48:43PM +0100, Dan Towner wrote:
> I tried this, but the define_expand is never called for the 
> if-conversion.

That's demonstrably false.  If-conversion calls emit_conditional_move,
which calls movcc_gen_code[mode].  If you didn't get your expander
called, then you probably named it incorrectly.

Further, emit_conditional_move may return NULL if the expander failed,
which will return NULL from noce_emit_cmove, which returns FALSE from
noce_try_cmove, which eventually fails the conversion in 
noce_process_if_block.

So I have no idea what you're talking about when you claim that 
conditional move conversion isn't allowed to fail.


r~



More information about the Gcc mailing list