[PATCH v2][ARM] Disable code hoisting with -O3 (PR80155)

Richard Biener richard.guenther@gmail.com
Tue Nov 26 15:52:00 GMT 2019


On November 26, 2019 4:39:09 PM GMT+01:00, Christophe Lyon <christophe.lyon@linaro.org> wrote:
>On Tue, 26 Nov 2019 at 16:18, Wilco Dijkstra <Wilco.Dijkstra@arm.com>
>wrote:
>>
>> Hi,
>>
>> While code hoisting generally improves codesize, it can affect
>performance
>> negatively. Benchmarking shows it doesn't help SPEC and negatively
>affects
>> embedded benchmarks. Since the impact is relatively small with -O2
>and mainly
>> affects -O3, the simplest option is to disable code hoisting for -O3
>and higher.
>>
>> OK for commit?
>>
>
>Hi,
>
>Some time ago, you proposed to enable code hoisting for -Os instead,
>and this is the approach that was chosen
>in arm-9-branch. Why are you proposing a different setting for trunk?

These kind of tweaks also single out targets in intransparent ways for the user and for debugging code generation issues.

But it's your target... 

Richard 

>Thanks,
>
>Christophe
>
>> ChangeLog:
>> 2019-11-26  Wilco Dijkstra  <wdijkstr@arm.com>
>>
>>         PR tree-optimization/80155
>>         * common/config/arm/arm-common.c
>(arm_option_optimization_table):
>>         Disable -fcode-hoisting with -O3.
>> --
>>
>> diff --git a/gcc/common/config/arm/arm-common.c
>b/gcc/common/config/arm/arm-common.c
>> index
>b761d3abd670a144a593c4b410b1e7fbdcb52f56..3e11f21b7dd76cc071b645c32a6fdb4a92511279
>100644
>> --- a/gcc/common/config/arm/arm-common.c
>> +++ b/gcc/common/config/arm/arm-common.c
>> @@ -39,6 +39,8 @@ static const struct default_options
>arm_option_optimization_table[] =
>>      /* Enable section anchors by default at -O1 or higher.  */
>>      { OPT_LEVELS_1_PLUS, OPT_fsection_anchors, NULL, 1 },
>>      { OPT_LEVELS_FAST, OPT_fsched_pressure, NULL, 1 },
>> +    /* Disable code hoisting with -O3 or higher.  */
>> +    { OPT_LEVELS_3_PLUS, OPT_fcode_hoisting, NULL, 0 },
>>      { OPT_LEVELS_NONE, 0, NULL, 0 }
>>    };
>>



More information about the Gcc-patches mailing list