Commit a22449bd by Wei Mi Committed by Wei Mi

sched-rgn.c (add_branch_dependences): Keep insns in a SCHED_GROUP at the end of…

sched-rgn.c (add_branch_dependences): Keep insns in a SCHED_GROUP at the end of BB to remain their location.

2013-11-04  Wei Mi  <wmi@google.com>

        * sched-rgn.c (add_branch_dependences): Keep insns in
        a SCHED_GROUP at the end of BB to remain their location.

From-SVN: r204371
parent 0dc41f28
2013-11-04 Wei Mi <wmi@google.com> 2013-11-04 Wei Mi <wmi@google.com>
* sched-rgn.c (add_branch_dependences): Keep insns in
a SCHED_GROUP at the end of BB to remain their location.
2013-11-04 Wei Mi <wmi@google.com>
* gcc/config/i386/i386.c (memory_address_length): Extract a part * gcc/config/i386/i386.c (memory_address_length): Extract a part
of code to rip_relative_addr_p. of code to rip_relative_addr_p.
(rip_relative_addr_p): New Function. (rip_relative_addr_p): New Function.
...@@ -2443,6 +2443,8 @@ add_branch_dependences (rtx head, rtx tail) ...@@ -2443,6 +2443,8 @@ add_branch_dependences (rtx head, rtx tail)
cc0 setters remain at the end because they can't be moved away from cc0 setters remain at the end because they can't be moved away from
their cc0 user. their cc0 user.
Predecessors of SCHED_GROUP_P instructions at the end remain at the end.
COND_EXEC insns cannot be moved past a branch (see e.g. PR17808). COND_EXEC insns cannot be moved past a branch (see e.g. PR17808).
Insns setting TARGET_CLASS_LIKELY_SPILLED_P registers (usually return Insns setting TARGET_CLASS_LIKELY_SPILLED_P registers (usually return
...@@ -2465,7 +2467,8 @@ add_branch_dependences (rtx head, rtx tail) ...@@ -2465,7 +2467,8 @@ add_branch_dependences (rtx head, rtx tail)
#endif #endif
|| (!reload_completed || (!reload_completed
&& sets_likely_spilled (PATTERN (insn))))) && sets_likely_spilled (PATTERN (insn)))))
|| NOTE_P (insn)) || NOTE_P (insn)
|| (last != 0 && SCHED_GROUP_P (last)))
{ {
if (!NOTE_P (insn)) if (!NOTE_P (insn))
{ {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment