On Tue, Apr 2, 2013 at 12:34 PM, Eric Botcazou wrote:
>> This idiom: "if (GET_CODE (body) == ASM_INPUT || asm_noperands (body)
>>
>> >= 0)" appears in multiple places. There's even one place where the
>>
>> idiom above is used in reverse (making the GET_CODE... check
>> redundant). A few more places to the equivalent by checking
>> extract_asm_operands != NULL.
>
> I think that the last point is not clear: asm_noperands can return -1 and yet
> extract_asm_operands has returned non-NULL.

Hmm, what do you have in mind for such a situation?

If extract_asm_operands returns NULL then asm_noperands will return -1.

If extract_asm_operands returns non-NULL then asm_noperands deep-dives
the PATTERN of the insn (just like extract_asm_operands) and returns
>= 0 unless the insn is invalid.

Also, lots of places check only asm_noperands to see if an insn is an
asm, see cse.c, reload1.c, cprop.c, etc.

Am I missing something?

Ciao!
Steven

Reply via email to