http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60648
--- Comment #3 from Jeffrey A. Law <law at redhat dot com> ---
We're getting non-canonical as part of the index computation in do_tablejump:
(gdb) p debug_rtx (index)
(plus:SI (mult:SI (const_int 0 [0])
(const_int 4 [0x4]))
(label_ref:SI 0))
Obviously memory_address and its children aren't prepared to deal with the
non-canonical RTL.
Not sure what this has to do with threading, other than perhaps threading
exposing "0" as the index
