OSDN Git Service
(root)
/
pf3gnuchains
/
gcc-fork.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
b5d8f44
)
* pa.c (hppa_expand_epilogue): Emit a "blockage" insn
author
law
<law@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 27 Apr 1993 16:21:12 +0000
(16:21 +0000)
committer
law
<law@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 27 Apr 1993 16:21:12 +0000
(16:21 +0000)
to keepthe stack and frame pointer adjustments at the
end of the epilogue.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@4248
138bc75d
-0d04-0410-961f-
82ee72b054a4
gcc/config/pa/pa.c
patch
|
blob
|
history
diff --git
a/gcc/config/pa/pa.c
b/gcc/config/pa/pa.c
index
1ee230a
..
7e01981
100644
(file)
--- a/
gcc/config/pa/pa.c
+++ b/
gcc/config/pa/pa.c
@@
-2098,6
+2098,10
@@
hppa_expand_epilogue()
??? What race condition?!? */
else if (frame_pointer_needed)
{
+ /* Emit a blockage insn here to keep these insns from being moved
+ to the beginning of the prologue or into the main instruction
+ stream, doing so avoids some very obscure problems. */
+ emit_insn (gen_blockage ());
set_reg_plus_d (STACK_POINTER_REGNUM, FRAME_POINTER_REGNUM, 64);
emit_insn (gen_pre_ldwm (stack_pointer_rtx, stack_pointer_rtx,
GEN_INT (-64), frame_pointer_rtx));