sched-deps.c (sched_analyze_2): Also force pending loads from memory.
* sched-deps.c (sched_analyze_2) <case TRAP_IF>: Also force pending loads from memory. From-SVN: r236481
This commit is contained in:
parent
4f45da44cd
commit
3e009bf0e9
2 changed files with 12 additions and 5 deletions
|
@ -1,3 +1,8 @@
|
|||
2016-05-19 Uros Bizjak <ubizjak@gmail.com>
|
||||
|
||||
* sched-deps.c (sched_analyze_2) <case TRAP_IF>: Also
|
||||
force pending loads from memory.
|
||||
|
||||
2016-05-19 Kelvin Nilsen <kelvin@gcc.gnu.org>
|
||||
|
||||
* config/rs6000/altivec.md (UNSPEC_DARN): New unspec constant.
|
||||
|
@ -39,7 +44,7 @@
|
|||
|
||||
2016-05-19 Jan Hubicka <hubicka@ucw.cz>
|
||||
|
||||
* tree-vect-loop.c (vect_analyze_loop_2): Use also
|
||||
* tree-vect-loop.c (vect_analyze_loop_2): Use also
|
||||
max_loop_iterations_int.
|
||||
|
||||
2016-05-19 Marek Polacek <polacek@redhat.com>
|
||||
|
@ -97,8 +102,7 @@
|
|||
2016-05-19 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||||
|
||||
* config/arm/arm.c (arm_new_rtx_costs, SIGN_EXTEND case):
|
||||
Don't add cost of inner memory when handling sign-extended
|
||||
loads.
|
||||
Don't add cost of inner memory when handling sign-extended loads.
|
||||
|
||||
2016-05-19 Ilya Enkovich <ilya.enkovich@intel.com>
|
||||
|
||||
|
|
|
@ -2709,9 +2709,12 @@ sched_analyze_2 (struct deps_desc *deps, rtx x, rtx_insn *insn)
|
|||
return;
|
||||
}
|
||||
|
||||
/* Force pending stores to memory in case a trap handler needs them. */
|
||||
/* Force pending stores to memory in case a trap handler needs them.
|
||||
Also force pending loads from memory; loads and stores can segfault
|
||||
and the signal handler won't be triggered if the trap insn was moved
|
||||
above load or store insn. */
|
||||
case TRAP_IF:
|
||||
flush_pending_lists (deps, insn, true, false);
|
||||
flush_pending_lists (deps, insn, true, true);
|
||||
break;
|
||||
|
||||
case PREFETCH:
|
||||
|
|
Loading…
Add table
Reference in a new issue