Reuse predicate code analysis for constraints

Richard Sandiford richard.sandiford@arm.com
Tue May 26 16:17:00 GMT 2015


David Edelsohn <dje.gcc@gmail.com> writes:
> On Tue, May 26, 2015 at 10:51 AM, Richard Sandiford
> <richard.sandiford@arm.com> wrote:
>> Bill Schmidt <wschmidt@linux.vnet.ibm.com> writes:
>>> Hi Richard,
>>>
>>> Unfortunately this broke the Power builds:
>>>
>>> /home/wschmidt/gcc/gcc-mainline-base/gcc/config/rs6000/constraints.md:211:
>>> reference to unknown predicate 'mem_operand_gpr'
>>> /home/wschmidt/gcc/gcc-mainline-base/gcc/config/rs6000/constraints.md:242:
>>> reference to unknown predicate 'small_data_operand'
>>>
>>> I haven't had time to investigate further -- will be in meetings most of
>>> the morning.
>>
>> This is because those functions aren't defined as predicates in the .md file,
>> but are being used with match_operand.  If they're meant to be "real"
>> predicates, they should be defined in predicates.md rather than rs6000.c.
>> If they're just query functions, you can use match_test instead of
>> match_operand.  (In that case there's probably no point passing the mode.)
>
> I converted them to match_test to get back to bootstrap.
> mem_operand_gpr should be in predicates.md, but requires a little
> re-design.

Thanks David.



More information about the Gcc-patches mailing list