On Wed, Jul 17, 2019 at 8:52 AM bin.cheng <bin.ch...@linux.alibaba.com> wrote: > > Hi, > This patch fixes PR91137 by finding base objects with walk_tree utility. > Note we specially return > integer_zero_node when a tree expression contains multiple base objects. > This works since the > special node is compared unequal to any real base object, thus skipped in > candidate selection. > This is intended to avoid propagating multiple base objects (maybe introduced > by programmer). > > Bootstrap and test on x86_64. Is it OK?
OK. Thanks, Richard. > Thanks, > bin > 2019-07-15 Bin Cheng <bin.li...@linux.alibaba.com> > > PR tree-optimization/91137 > * tree-ssa-loop-ivopts.c (struct ivopts_data): New field. > (tree_ssa_iv_optimize_init, alloc_iv, tree_ssa_iv_optimize_finalize): > Init, use and fini the above new field. > (determine_base_object_1): New function. > (determine_base_object): Reimplement using walk_tree. > > gcc/testsuite > 2019-07-15 Bin Cheng <bin.li...@linux.alibaba.com> > > PR tree-optimization/91137 > * gcc.c-torture/execute/pr91137.c: New test.