mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-03-07 21:37:29 +08:00
pa.c (legitimize_pic_address): Clarify comments.
* pa.c (legitimize_pic_address): Clarify comments. Do not call the pic_load_label generator directly. * pa.md (pic_load_label): Clarify comments. Remove modes on operands. No longer a named pattern. From-SVN: r28401
This commit is contained in:
parent
62cce9f627
commit
b3d9ecf00b
@ -1,3 +1,10 @@
|
||||
Mon Aug 2 03:38:33 1999 Jeffrey A Law (law@cygnus.com)
|
||||
|
||||
* pa.c (legitimize_pic_address): Clarify comments. Do not call the
|
||||
pic_load_label generator directly.
|
||||
* pa.md (pic_load_label): Clarify comments. Remove modes on operands.
|
||||
No longer a named pattern.
|
||||
|
||||
Mon Aug 2 09:38:10 1999 Nick Clifton <nickc@cygnus.com>
|
||||
|
||||
* explow.c (force_reg): Call force_operand if X does not
|
||||
|
@ -628,7 +628,16 @@ legitimize_pic_address (orig, mode, reg)
|
||||
/* Labels need special handling. */
|
||||
if (pic_label_operand (orig))
|
||||
{
|
||||
emit_insn (gen_pic_load_label (reg, orig));
|
||||
/* We do not want to go through the movXX expanders here since that
|
||||
would create recursion.
|
||||
|
||||
Nor do we really want to call a generator for a named pattern
|
||||
since that requires multiple patterns if we want to support
|
||||
multiple word sizes.
|
||||
|
||||
So instead we just emit the raw set, which avoids the movXX
|
||||
expanders completely. */
|
||||
emit_insn (gen_rtx_SET (VOIDmode, reg, orig));
|
||||
current_function_uses_pic_offset_table = 1;
|
||||
return reg;
|
||||
}
|
||||
|
@ -1568,12 +1568,12 @@
|
||||
[(set_attr "type" "store")
|
||||
(set_attr "length" "4")])
|
||||
|
||||
;; For pic
|
||||
;; For loading the address of a label while generating PIC code.
|
||||
;; Note since this pattern can be created at reload time (via movsi), all
|
||||
;; the same rules for movsi apply here. (no new pseudos, no temporaries).
|
||||
(define_insn "pic_load_label"
|
||||
[(set (match_operand:SI 0 "register_operand" "=a")
|
||||
(match_operand:SI 1 "pic_label_operand" ""))]
|
||||
(define_insn ""
|
||||
[(set (match_operand 0 "register_operand" "=a")
|
||||
(match_operand 1 "pic_label_operand" ""))]
|
||||
""
|
||||
"*
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user