Thanks for catching, Jakub! 

The update listed below, will integrate it with next revision patch.

gcc/ChangeLog

2019-04-24  Kewen Lin  <li...@gcc.gnu.org>

        PR middle-end/80791
        * target.def (predict_doloop_p): New hook.
        * targhooks.h (default_predict_doloop_p): New declaration.
        * targhooks.c (default_predict_doloop_p): New function.
        * doc/tm.texi.in (TARGET_PREDICT_DOLOOP_P): New hook.
        * doc/tm.texi: Regenerate.
        * config/rs6000/rs6000.c (invalid_insn_for_doloop_p): New function.
        (costly_iter_for_doloop_p): Likewise.
        (rs6000_predict_doloop_p): Likewise.
        (TARGET_PREDICT_DOLOOP_P): New macro.
        * expr.c (produce_memory_decl_rtl): New function.
        (prepare_decl_rtl): Likewise.
        * expr.h (produce_memory_decl_rtl): New declaration.
        (prepare_decl_rtl): Likewise.
        * tree-ssa-loop-ivopts.c (tree_ssa_iv_optimize_loop): Call
        predict_doloop_p hook.
        (tailor_cmp_uses): New function.
        (preserve_ivs_for_use): New function.
        (computation_cost): Call refactored prepare_decl_rtl, consider
        zero cost iv use.
        (dump_use): Dump zero_cost_p field.
        (record_use): Init zero_cost_p field.
        (produce_memory_decl_rtl): Remove.
        (prepare_decl_rtl): Remove.

gcc/testsuite/ChangeLog

2019-04-24  Kewen Lin  <li...@gcc.gnu.org>

        PR middle-end/80791
        * gcc.dg/tree-ssa/ivopts-lt.c : Adjust.


on 2019/4/24 下午4:48, Jakub Jelinek wrote:
> On Wed, Apr 24, 2019 at 04:41:01PM +0800, Kewen.Lin wrote:
>> gcc/ChangeLog
> 
> Not a review, just ChangeLog nits.
> 
>> 2019-04-24  Kewen Lin  <li...@gcc.gnu.org>
>>
>>      PR middle-end/80791
>>      * target.def (predict_doloop_p): New.
>>      * targhooks.h (default_predict_doloop_p): New.
>>      * targhooks.c (default_predict_doloop_p): Likewise.
>>      * doc/tm.texi.in (TARGET_PREDICT_DOLOOP_P): New.
>>      * doc/tm.texi: Regenerate.
>>      * config/rs6000/rs6000.c (invalid_insn_for_doloop_p): New.
>>        (costly_iter_for_doloop_p): New.
>>        (rs6000_predict_doloop_p): New.
> 
> There should be no leading spaces after the tab on the lines that don't 
> contain
> a filename, so:
>       * config/rs6000/rs6000.c (invalid_insn_for_doloop_p): New.
>       (costly_iter_for_doloop_p): New.
>       (rs6000_predict_doloop_p): New.
> instead (and instead of saying just New. usually we write what kind of
> new thing it is, so New function., New declaration. (or Declare.), New
> macro. (or Define.), New method. etc.
> 
>>      * gcc/expr.c (produce_memory_decl_rtl): New.
> 
> The gcc/ prefixes don't belong into gcc/ChangeLog, the filenames are always
> relative to the ChangeLog file referencing those.
> 
>       Jakub
> 

Reply via email to