On Mon, Nov 26, 2012 at 8:10 AM, Richard Biener
<[email protected]> wrote:
> On Mon, Nov 26, 2012 at 4:54 PM, Dehao Chen <[email protected]> wrote:
>> On Mon, Nov 26, 2012 at 7:28 AM, Richard Biener
>> <[email protected]> wrote:
>>> On Thu, Nov 8, 2012 at 6:39 PM, Dehao Chen <[email protected]> wrote:
>>>> ping...
>>>
>>> The emit-rtl.c hunk is ok. I'm questioning the ipa-prop.c hunk though -
>>> what
>>> looks at input_location (nothing outside of the frontend should, really).
>>
>> ipa_modify_call_arguments invokes force_gimple_operand_gsi, which uses
>> frontend routines to gimplify expr and uses input_location.
>
> Can you be more specific? That's the place that needs fixing - there are a
> lot
> more force_gimple_operand callers.
You are right, the patch is updated as follows:
Index: gcc/ipa-prop.c
===================================================================
--- gcc/ipa-prop.c (revision 193203)
+++ gcc/ipa-prop.c (working copy)
@@ -2870,7 +2870,8 @@ ipa_modify_call_arguments (struct cgraph_edge *cs,
gcc_checking_assert (adj->offset % BITS_PER_UNIT == 0);
base = gimple_call_arg (stmt, adj->base_index);
- loc = EXPR_LOCATION (base);
+ loc = DECL_P (base) ? DECL_SOURCE_LOCATION (base) :
+ EXPR_LOCATION (base);
if (TREE_CODE (base) != ADDR_EXPR
&& POINTER_TYPE_P (TREE_TYPE (base)))
Thanks,
Dehao
>
> Richard.
>
>> Thanks,
>> Dehao
>>
>>>
>>> Thanks,
>>> Richard.
>>>
>>>>
>>>> On Mon, Nov 5, 2012 at 5:20 PM, Dehao Chen <[email protected]> wrote:
>>>>>
>>>>> Hi,
>>>>>
>>>>> This is a patch to do some obvious cleanup and setting correct
>>>>> input_location in ipa_prop (because it invokes gimplification
>>>>> routines).
>>>>>
>>>>> Bootstrapped and passed gcc regression tests.
>>>>>
>>>>> Is it okay for trunk?
>>>>>
>>>>> Thanks,
>>>>> Dehao
>>>>>
>>>>> gcc/ChangeLog:
>>>>> 2010-11-05 Dehao Chen <[email protected]>
>>>>>
>>>>> * ipa-prop.c (ipa_modify_call_arguments): Set input_location so
>>>>> that
>>>>> gimplification routines can have right location.
>>>>> * emit-rtl.c (last_location): Remove unused variable.