arm.md (sibcall, [...]): Add use of link register.
authorRichard Earnshaw <rearnsha@arm.com>
Wed, 29 Nov 2000 15:53:46 +0000 (15:53 +0000)
committerRichard Earnshaw <rearnsha@gcc.gnu.org>
Wed, 29 Nov 2000 15:53:46 +0000 (15:53 +0000)
* arm.md (sibcall, sibcall_value, sibcall_insn, sibcall_value_insn):
Add use of link register.

From-SVN: r37848

gcc/ChangeLog
gcc/config/arm/arm.md

index 42a9f7003699b11494301a0c356af90ab124de3d..5e50ceb97c5df71fa7788d11073dfa0b31401c57 100644 (file)
@@ -1,3 +1,8 @@
+2000-11-29  Richard Earnshaw  <rearnsha@arm.com>
+
+       * arm.md (sibcall, sibcall_value, sibcall_insn, sibcall_value_insn):
+       Add use of link register.
+
 2000-11-29  Joseph S. Myers  <jsm28@cam.ac.uk>
 
        * extend.texi: Update documentation for default format attributes.
index 22991b3a1c5793e0553e2877fbdf86024401303c..3cb7dfa585380ea46137ec48b5aca17645b2b1ed 100644 (file)
 (define_expand "sibcall"
   [(parallel [(call (match_operand 0 "memory_operand" "")
                    (match_operand 1 "general_operand" ""))
-             (use (match_operand 2 "" ""))])]
+             (use (match_operand 2 "" ""))
+             (use (reg:SI LR_REGNUM))])]
   "TARGET_ARM"
   "
   {
   [(parallel [(set (match_operand 0 "register_operand" "")
                   (call (match_operand 1 "memory_operand" "")
                         (match_operand 2 "general_operand" "")))
-             (use (match_operand 3 "" ""))])]
+             (use (match_operand 3 "" ""))
+             (use (reg:SI LR_REGNUM))])]
   "TARGET_ARM"
   "
   {
 (define_insn "*sibcall_insn"
  [(call (mem:SI (match_operand:SI 0 "" "X"))
        (match_operand 1 "" ""))
-  (use (match_operand 2 "" ""))]
+  (use (match_operand 2 "" ""))
+  (use (reg:SI LR_REGNUM))]
   "TARGET_ARM && GET_CODE (operands[0]) == SYMBOL_REF"
   "*
   return NEED_PLT_RELOC ? \"b%?\\t%a0(PLT)\" : \"b%?\\t%a0\";
  [(set (match_operand 0 "s_register_operand" "=r,f")
        (call (mem:SI (match_operand:SI 1 "" "X,X"))
             (match_operand 2 "" "")))
-  (use (match_operand 3 "" ""))]
+  (use (match_operand 3 "" ""))
+  (use (reg:SI LR_REGNUM))]
   "TARGET_ARM && GET_CODE (operands[1]) == SYMBOL_REF"
   "*
   return NEED_PLT_RELOC ? \"b%?\\t%a1(PLT)\" : \"b%?\\t%a1\";