--- gcc/rtlanal.c.jj 2015-06-15 04:55:41.027812458 +0200 +++ gcc/rtlanal.c 2015-06-15 05:11:58.921821778 +0200 @@ -42,6 +42,7 @@ along with GCC; see the file COPYING3. #include "emit-rtl.h" /* FIXME: Can go away once crtl is moved to rtl.h. */ #include "addresses.h" #include "rtl-iter.h" +#include "tree-pass.h" /* Forward declarations */ static void set_of_1 (rtx, const_rtx, void *); @@ -663,6 +664,15 @@ rtx_addr_can_trap_p_1 (const_rtx x, HOST if (offset >= low_bound && offset <= high_bound - size) return 0; + fprintf (stderr, "*** %s can trap: function=%s, pass=%s" + ", offset=%" PRId64 ", size=%" PRId64 + ", low_bound=%" PRId64 ", high_bound=%" PRId64 "\n", + x == frame_pointer_rtx ? "frame" + : x == hard_frame_pointer_rtx ? "fp" + : x == stack_pointer_rtx ? "sp" : "argp", + IDENTIFIER_POINTER (DECL_NAME (current_function_decl)), + current_pass->name, + offset, size, low_bound, high_bound); return 1; } /* All of the virtual frame registers are stack references. */