This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: Reuse predicate code analysis for constraints
- From: David Edelsohn <dje dot gcc at gmail dot com>
- To: Bill Schmidt <wschmidt at linux dot vnet dot ibm dot com>, "gcc-patches at gcc dot gnu dot org" <gcc-patches at gcc dot gnu dot org>, richard dot sandiford at arm dot com
- Date: Tue, 26 May 2015 11:18:42 -0400
- Subject: Re: Reuse predicate code analysis for constraints
- Authentication-results: sourceware.org; auth=none
- References: <87382o4o0b dot fsf at e105548-lin dot cambridge dot arm dot com> <1432650122 dot 3150 dot 1 dot camel at gnopaine> <877frvmlxn dot fsf at e105548-lin dot cambridge dot arm dot com>
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.
- David