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:
Jeffrey A Law 1999-08-02 09:45:16 +00:00 committed by Jeff Law
parent 62cce9f627
commit b3d9ecf00b
3 changed files with 21 additions and 5 deletions

View File

@ -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

View File

@ -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;
}

View File

@ -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" ""))]
""
"*
{