[Bug rtl-optimization/64557] get_addr in true_dependence_1 cannot handle VALUE inside an expr
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64557 --- Comment #10 from Jakub Jelinek --- Author: jakub Date: Thu Feb 11 09:23:06 2016 New Revision: 21 URL: https://gcc.gnu.org/viewcvs?rev=21&root=gcc&view=rev Log: Backported from mainline 2016-01-19 Jakub Jelinek PR rtl-optimization/68955 PR rtl-optimization/64557 * dse.c (record_store, check_mem_read_rtx): Don't call get_addr here. Fix up formatting. * alias.c (get_addr): Handle VALUE +/- CONST_SCALAR_INT_P. * gcc.dg/torture/pr68955.c: New test. Added: branches/gcc-4_9-branch/gcc/testsuite/gcc.dg/torture/pr68955.c Modified: branches/gcc-4_9-branch/gcc/ChangeLog branches/gcc-4_9-branch/gcc/alias.c branches/gcc-4_9-branch/gcc/dse.c branches/gcc-4_9-branch/gcc/testsuite/ChangeLog
[Bug rtl-optimization/64557] get_addr in true_dependence_1 cannot handle VALUE inside an expr
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64557 --- Comment #9 from Jakub Jelinek --- Author: jakub Date: Wed Feb 10 18:34:30 2016 New Revision: 233293 URL: https://gcc.gnu.org/viewcvs?rev=233293&root=gcc&view=rev Log: Backported from mainline 2016-01-19 Jakub Jelinek PR rtl-optimization/68955 PR rtl-optimization/64557 * dse.c (record_store, check_mem_read_rtx): Don't call get_addr here. Fix up formatting. * alias.c (get_addr): Handle VALUE +/- CONST_SCALAR_INT_P. * gcc.dg/torture/pr68955.c: New test. Added: branches/gcc-5-branch/gcc/testsuite/gcc.dg/torture/pr68955.c Modified: branches/gcc-5-branch/gcc/ChangeLog branches/gcc-5-branch/gcc/alias.c branches/gcc-5-branch/gcc/dse.c branches/gcc-5-branch/gcc/testsuite/ChangeLog
[Bug rtl-optimization/64557] get_addr in true_dependence_1 cannot handle VALUE inside an expr
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64557 --- Comment #8 from Jakub Jelinek --- Author: jakub Date: Tue Jan 19 12:34:45 2016 New Revision: 232554 URL: https://gcc.gnu.org/viewcvs?rev=232554&root=gcc&view=rev Log: PR rtl-optimization/68955 PR rtl-optimization/64557 * dse.c (record_store, check_mem_read_rtx): Don't call get_addr here. Fix up formatting. * alias.c (get_addr): Handle VALUE +/- CONST_SCALAR_INT_P. * gcc.dg/torture/pr68955.c: New test. Added: trunk/gcc/testsuite/gcc.dg/torture/pr68955.c Modified: trunk/gcc/ChangeLog trunk/gcc/alias.c trunk/gcc/dse.c trunk/gcc/testsuite/ChangeLog
[Bug rtl-optimization/64557] get_addr in true_dependence_1 cannot handle VALUE inside an expr
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64557 Dominik Vogt changed: What|Removed |Added CC||vogt at linux dot vnet.ibm.com --- Comment #7 from Dominik Vogt --- This fix causes a regression on s390. Please refer to bug 67443: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67443
[Bug rtl-optimization/64557] get_addr in true_dependence_1 cannot handle VALUE inside an expr
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64557 Uroš Bizjak changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution|--- |FIXED Target Milestone|--- |4.8.5 --- Comment #6 from Uroš Bizjak --- Fixed everywhere.
[Bug rtl-optimization/64557] get_addr in true_dependence_1 cannot handle VALUE inside an expr
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64557 --- Comment #5 from uros at gcc dot gnu.org --- Author: uros Date: Fri Feb 20 12:04:21 2015 New Revision: 220854 URL: https://gcc.gnu.org/viewcvs?rev=220854&root=gcc&view=rev Log: Backport from mainline 2015-01-22 Wei Mi PR rtl-optimization/64557 * dse.c (record_store): Call get_addr for mem_addr. (check_mem_read_rtx): Likewise. Backport from mainline 2014-10-20 Uros Bizjak * varasm.c (const_alias_set): Remove. (init_varasm_once): Remove initialization of const_alias_set. (build_constant_desc): Do not set alias set to const_alias_set. Backport from mainline 2014-10-14 Uros Bizjak PR rtl-optimization/63475 * alias.c (true_dependence_1): Always use get_addr to extract true address operands from x_addr and mem_addr. Use extracted address operands to check for references with alignment ANDs. Use extracted address operands with find_base_term and base_alias_check. For noncanonicalized operands call canon_rtx with extracted address operand. (write_dependence_1): Ditto. (may_alias_p): Ditto. Remove unused calls to canon_rtx. Backport from mainline 2014-10-10 Uros Bizjak PR rtl-optimization/63483 * alias.c (true_dependence_1): Do not exit early for MEM_READONLY_P references when alignment ANDs are involved. (write_dependence_p): Ditto. (may_alias_p): Ditto. Backport from mainline 2013-03-26 Richard Biener * alias.c (find_base_term): Avoid redundant and not used recursion. (base_alias_check): Get the initial base term from the caller. (true_dependence_1): Compute and pass base terms to base_alias_check. (write_dependence_p): Likewise. (may_alias_p): Likewise. Modified: branches/gcc-4_8-branch/gcc/ChangeLog branches/gcc-4_8-branch/gcc/alias.c branches/gcc-4_8-branch/gcc/dse.c branches/gcc-4_8-branch/gcc/varasm.c
[Bug rtl-optimization/64557] get_addr in true_dependence_1 cannot handle VALUE inside an expr
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64557 --- Comment #4 from wmi at gcc dot gnu.org --- Author: wmi Date: Fri Jan 23 17:55:32 2015 New Revision: 220051 URL: https://gcc.gnu.org/viewcvs?rev=220051&root=gcc&view=rev Log: Backported from trunk. 2015-01-22 Wei Mi PR rtl-optimization/64557 * dse.c (record_store): Call get_addr for mem_addr. (check_mem_read_rtx): Likewise. Modified: branches/gcc-4_9-branch/gcc/ChangeLog branches/gcc-4_9-branch/gcc/dse.c
[Bug rtl-optimization/64557] get_addr in true_dependence_1 cannot handle VALUE inside an expr
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64557 --- Comment #3 from wmi at gcc dot gnu.org --- Author: wmi Date: Thu Jan 22 17:59:23 2015 New Revision: 220010 URL: https://gcc.gnu.org/viewcvs?rev=220010&root=gcc&view=rev Log: 2015-01-22 Wei Mi PR rtl-optimization/64557 * dse.c (record_store): Call get_addr for mem_addr. (check_mem_read_rtx): Likewise. Modified: trunk/gcc/ChangeLog trunk/gcc/dse.c
[Bug rtl-optimization/64557] get_addr in true_dependence_1 cannot handle VALUE inside an expr
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64557 Paul Pluzhnikov changed: What|Removed |Added CC||ppluzhnikov at google dot com --- Comment #2 from Paul Pluzhnikov --- Google ref: b/18933287
[Bug rtl-optimization/64557] get_addr in true_dependence_1 cannot handle VALUE inside an expr
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64557 --- Comment #1 from wmi at google dot com --- The experimental patch is to call get_addr for VALUE of base before plus other constant, when creating mem_addr for dependence check and for store_info. bootstrap and regression on x86_64-linux-gnu are ok. Index: dse.c === --- dse.c(revision 219421) +++ dse.c(working copy) @@ -1564,6 +1564,7 @@ record_store (rtx body, bb_info_t bb_inf = rtx_group_vec[group_id]; mem_addr = group->canon_base_addr; } + mem_addr = get_addr (mem_addr); if (offset) mem_addr = plus_constant (get_address_mode (mem), mem_addr, offset); } @@ -2177,6 +2178,7 @@ check_mem_read_rtx (rtx *loc, bb_info_t = rtx_group_vec[group_id]; mem_addr = group->canon_base_addr; } + mem_addr = get_addr (mem_addr); if (offset) mem_addr = plus_constant (get_address_mode (mem), mem_addr, offset); }