On 01/21/15 15:32, Wei Mi wrote:
Hi,
The patch is to address the bug here:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64557
It is to call get_addr for VALUE before forming a mem_addr expr with
the VALUE and an offset. This is to avoid the problem that get_addr
can only handle VALUE but cannot handle an expr like: (VALUE +
offset). With the fix, find_base_term can always get the base of the
original addr.
bootstrap and regression test on x86_64-linux-gnu are ok. regression
tests on aarch64-linux-gnu and powerpc64-linux-gnu are also ok. Is it
ok for trunk?
Thanks,
Wei.
gcc/ChangeLog:
2015-01-21 Wei Mi <w...@google.com>
* dse.c (record_store): Call get_addr for mem_addr.
(check_mem_read_rtx): Likewise.
Please add a PR marker to the ChangeLog entry. A testcase would be
great, but from reading the PR that doesn't seem possible without some
heroic efforts.
OK with the PR marker and a comment before the two calls indicating why
those two calls are necessary.
jeff