Hi! Similarly to the previous patch, this one is the second spot where nonoverlapping_memrefs_p is called with FUNCTION_DECLs without DECL_RTL. With both patches in the only case this happens in bootstrap/regtest is the pr77834.c testcase.
Same questions as for the DSE patch apply. 2016-11-04 Jakub Jelinek <ja...@redhat.com> PR target/77834 * sched-deps.c (sched_analyze_2): Don't recurse in CALL first argument if it is a MEM, just on its address. --- gcc/sched-deps.c.jj 2016-10-31 13:28:12.000000000 +0100 +++ gcc/sched-deps.c 2016-11-04 09:59:28.192249487 +0100 @@ -2808,6 +2808,19 @@ sched_analyze_2 (struct deps_desc *deps, return; + case CALL: + /* Don't consider MEM in CALL's first argument + as a memory read, that is the first byte of + the function to be called. Only look at its + address. */ + if (MEM_P (XEXP (x, 0))) + { + sched_analyze_2 (deps, XEXP (XEXP (x, 0), 0), insn); + sched_analyze_2 (deps, XEXP (x, 1), insn); + return; + } + break; + default: break; } Jakub