i386.md (nonlocal_goto_receiver): Delete insn if it is not needed after split.

gcc/

2013-07-22  Uros Bizjak  <ubizjak@gmail.com>

	* config/i386/i386.md (nonlocal_goto_receiver): Delete insn if
	it is not needed after split.

From-SVN: r201118
This commit is contained in:
Uros Bizjak 2013-07-22 10:27:25 +02:00 committed by Iain Sandoe
parent b2b0bf396e
commit d9e7115468
2 changed files with 10 additions and 6 deletions

View File

@ -1,3 +1,8 @@
2013-07-22 Uros Bizjak <ubizjak@gmail.com>
* config/i386/i386.md (nonlocal_goto_receiver): Delete insn if
it is not needed after split.
2013-07-20 Iain Sandoe <iain@codesourcery.com>
PR target/51784

View File

@ -16233,12 +16233,7 @@
(define_insn_and_split "nonlocal_goto_receiver"
[(unspec_volatile [(const_int 0)] UNSPECV_NLGR)]
"TARGET_MACHO && !TARGET_64BIT && flag_pic"
{
if (crtl->uses_pic_offset_table)
return "#";
else
return ""; /* No pic reg restore needed. */
}
"#"
"&& reload_completed"
[(const_int 0)]
{
@ -16258,6 +16253,10 @@
xops[2] = gen_rtx_CONST (Pmode, tmp);
ix86_expand_binary_operator (MINUS, SImode, xops);
}
else
/* No pic reg restore needed. */
emit_note (NOTE_INSN_DELETED);
DONE;
})