This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH] Do not constrain on REAL_TYPE
- From: Richard Biener <richard dot guenther at gmail dot com>
- To: Sebastian Pop <sebpop at gmail dot com>
- Cc: Aditya Kumar <hiraditya at msn dot com>, GCC Patches <gcc-patches at gcc dot gnu dot org>, Aditya Kumar <aditya dot k7 at samsung dot com>, Tobias Grosser <tobias at grosser dot es>
- Date: Thu, 25 Jun 2015 12:00:51 +0200
- Subject: Re: [PATCH] Do not constrain on REAL_TYPE
- Authentication-results: sourceware.org; auth=none
- References: <1435184679-12606-1-git-send-email-hiraditya at msn dot com> <CAFk3UF_5bsOREme_96TMrtaO4irWvjGYXEbiArSjeLjb6OhFrw at mail dot gmail dot com>
On Thu, Jun 25, 2015 at 9:13 AM, Sebastian Pop <sebpop@gmail.com> wrote:
> On Wed, Jun 24, 2015 at 5:24 PM, Aditya Kumar <hiraditya@msn.com> wrote:
>> From: Aditya Kumar <aditya.k7@samsung.com>
>>
>> gcc/ChangeLog:
>>
>> 2015-06-24 Aditya Kumar <aditya.k7@samsung.com>
>> Sebastian Pop <s.pop@samsung.com>
>>
>> * graphite-sese-to-poly.c (parameter_index_in_region): Discard REAL_TYPE parameters.
>> (scan_tree_for_params): Handle REAL_CST in scan_tree_for_params.
>> (add_conditions_to_domain): Do not constrain on REAL_TYPE.
>
> The patch looks good to me.
> We should also mention that these cases appear in testcases already
> in the testsuite when commenting out the call to limit_scops.
> The intent is first to fix all the ICEs and then to remove limit_scops.
>
> If there are no other comments, I will commit the patch.
Yes, it looks good. What about COMPLEX_CST and VECTOR_CST and
their types?
Richard.
> Sebastian
>
>>
>> ---
>> gcc/graphite-sese-to-poly.c | 8 ++++++++
>> 1 file changed, 8 insertions(+)
>>
>> diff --git a/gcc/graphite-sese-to-poly.c b/gcc/graphite-sese-to-poly.c
>> index 271c499..5b37796 100644
>> --- a/gcc/graphite-sese-to-poly.c
>> +++ b/gcc/graphite-sese-to-poly.c
>> @@ -796,6 +796,9 @@ parameter_index_in_region (tree name, sese region)
>>
>> gcc_assert (SESE_ADD_PARAMS (region));
>>
>> + /* Cannot constrain on REAL_TYPE parameters. */
>> + if (TREE_CODE (TREE_TYPE (name)) == REAL_TYPE)
>> + return -1;
>> i = SESE_PARAMS (region).length ();
>> SESE_PARAMS (region).safe_push (name);
>> return i;
>> @@ -915,6 +918,7 @@ scan_tree_for_params (sese s, tree e)
>>
>> case INTEGER_CST:
>> case ADDR_EXPR:
>> + case REAL_CST:
>> break;
>>
>> default:
>> @@ -1194,6 +1198,10 @@ add_conditions_to_domain (poly_bb_p pbb)
>> {
>> case GIMPLE_COND:
>> {
>> + /* Don't constrain on REAL_TYPE. */
>> + if (TREE_CODE (TREE_TYPE (gimple_cond_lhs (stmt))) == REAL_TYPE)
>> + break;
>> +
>> gcond *cond_stmt = as_a <gcond *> (stmt);
>> enum tree_code code = gimple_cond_code (cond_stmt);
>>
>> --
>> 2.1.0.243.g30d45f7
>>