This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: Use combined_fn in tree-vrp.c
- From: Richard Biener <richard dot guenther at gmail dot com>
- To: Bernd Schmidt <bschmidt at redhat dot com>
- Cc: GCC Patches <gcc-patches at gcc dot gnu dot org>, richard dot sandiford at arm dot com
- Date: Tue, 10 Nov 2015 11:04:24 +0100
- Subject: Re: Use combined_fn in tree-vrp.c
- Authentication-results: sourceware.org; auth=none
- References: <87io5eq8nv dot fsf at e105548-lin dot cambridge dot arm dot com> <564135C7 dot 6030405 at redhat dot com>
On Tue, Nov 10, 2015 at 1:09 AM, Bernd Schmidt <bschmidt@redhat.com> wrote:
> On 11/07/2015 01:46 PM, Richard Sandiford wrote:
>>
>> @@ -3814,8 +3817,8 @@ extract_range_basic (value_range *vr, gimple *stmt)
>> break;
>> /* Both __builtin_ffs* and __builtin_popcount return
>> [0, prec]. */
>> - CASE_INT_FN (BUILT_IN_FFS):
>> - CASE_INT_FN (BUILT_IN_POPCOUNT):
>> + CASE_CFN_FFS:
>> + CASE_CFN_POPCOUNT:
>> arg = gimple_call_arg (stmt, 0);
>> prec = TYPE_PRECISION (TREE_TYPE (arg));
>> mini = 0;
>
>
> So let me see if I understood this. From what we discussed the purpose of
> these new internal functions is that they can have vector types. If so,
> isn't this code (here and elsewhere) which expects integers potentially
> going to be confused?
We indeed need to add additional checks to most users of CASE_CFN_* to cover
the bigger freedom that exists with respect to types.
Richard, please audit all the cases you change for that.
Thanks,
Richard.
>
>
> Bernd