[PATCH PR91137]Find base object for ivopts via walk_tree
bin.cheng
bin.cheng@linux.alibaba.com
Wed Jul 17 07:01:00 GMT 2019
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?
Thanks,
bin
2019-07-15 Bin Cheng <bin.linux@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.linux@linux.alibaba.com>
PR tree-optimization/91137
* gcc.c-torture/execute/pr91137.c: New test.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-pr91137-20190715.patch
Type: application/octet-stream
Size: 5399 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20190717/212c6595/attachment.obj>
More information about the Gcc-patches
mailing list