http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58679
--- Comment #11 from Eric Botcazou <ebotcazou at gcc dot gnu.org> --- > There is also a wider issue: the documentation in passes.texi is incorrect > now. > It says: > "Unlike the reload pass, intermediate LRA decisions are reflected in > RTL as much as possible." > Now, with the removal of REG_DEAD / REG_UNUSED notes, the complete opposite > is true. These notes are a bit fuzzy after reload, but their fuzzyness is > well-defined - i.e. the notes pertain to a death in the same BB, unless > superceded by a simultaneous (with use) or later set. Are you really sure these notes are still present after reload? The comment and the code at line 1170 of reload1.c are clear enough. Here's the result of "grep -c REG_READ" for a private target not using LRA: unwind-dw2-fde.i.150r.expand:0 unwind-dw2-fde.i.151r.sibling:0 unwind-dw2-fde.i.153r.initvals:0 unwind-dw2-fde.i.154r.unshare:0 unwind-dw2-fde.i.155r.vregs:0 unwind-dw2-fde.i.156r.into_cfglayout:0 unwind-dw2-fde.i.157r.jump:0 unwind-dw2-fde.i.158r.subreg1:0 unwind-dw2-fde.i.159r.dfinit:0 unwind-dw2-fde.i.160r.cse1:0 unwind-dw2-fde.i.161r.fwprop1:869 unwind-dw2-fde.i.162r.cprop1:869 unwind-dw2-fde.i.163r.pre:867 unwind-dw2-fde.i.165r.cprop2:865 unwind-dw2-fde.i.167r.cse_local:667 unwind-dw2-fde.i.168r.ce1:1627 unwind-dw2-fde.i.169r.reginfo:863 unwind-dw2-fde.i.170r.loop2:863 unwind-dw2-fde.i.171r.loop2_init:863 unwind-dw2-fde.i.172r.loop2_invariant:4402 unwind-dw2-fde.i.176r.loop2_done:863 unwind-dw2-fde.i.178r.cprop3:863 unwind-dw2-fde.i.179r.cse2:856 unwind-dw2-fde.i.180r.dse1:827 unwind-dw2-fde.i.181r.fwprop2:833 unwind-dw2-fde.i.183r.init-regs:833 unwind-dw2-fde.i.184r.ud_dce:833 unwind-dw2-fde.i.185r.combine:792 unwind-dw2-fde.i.186r.ce2:1045 unwind-dw2-fde.i.188r.regmove:731 unwind-dw2-fde.i.189r.outof_cfglayout:731 unwind-dw2-fde.i.190r.split1:731 unwind-dw2-fde.i.191r.subreg2:731 unwind-dw2-fde.i.195r.asmcons:731 unwind-dw2-fde.i.197r.sched1:731 unwind-dw2-fde.i.198r.ira:731 unwind-dw2-fde.i.199r.reload:0 unwind-dw2-fde.i.200r.postreload:0 unwind-dw2-fde.i.202r.split2:0 unwind-dw2-fde.i.206r.pro_and_epilogue:0 unwind-dw2-fde.i.207r.dse2:711 unwind-dw2-fde.i.208r.csa:697 unwind-dw2-fde.i.209r.peephole2:697 unwind-dw2-fde.i.210r.ce3:856 unwind-dw2-fde.i.212r.cprop_hardreg:697 unwind-dw2-fde.i.213r.rtl_dce:696 unwind-dw2-fde.i.214r.bbro:710 unwind-dw2-fde.i.216r.split4:710 unwind-dw2-fde.i.217r.sched2:703 unwind-dw2-fde.i.220r.alignments:703 unwind-dw2-fde.i.221r.compgotos:703 unwind-dw2-fde.i.225r.barriers:703 unwind-dw2-fde.i.226r.dbr:616 unwind-dw2-fde.i.227r.split5:616 unwind-dw2-fde.i.229r.shorten:616 unwind-dw2-fde.i.230r.nothrow:616 unwind-dw2-fde.i.232r.final:616 unwind-dw2-fde.i.233r.dfinish:616 unwind-dw2-fde.i.235r.mach2:616