Hi, this patch fixes PR 61047, where rtx_addr_can_trap_p_1 incorrectly assumes, that all SP-relative offsets can be safely read witout causing any traps. And therefore such references are safe to be moved out of an if-block.
This patch tries to get safe lower and upper bounds where accesses are always guaranteed to work. The goal is not to penalize reasonable written code: When boot-strapping the whole GCC only a few places were found, where this new check triggers. Boot-strapped and regression-tested on x86_64-linux-gnu. Additionally built a cross compiler for a stack-grows-upward-target (xstormy16-elf). Ok for trunk? Thanks Bernd.
changelog-pr60147.diff
Description: Binary data
patch-pr61047.diff
Description: Binary data