Remove superfluous clobber of cc in arm_emit_call_insn
authorvries <vries@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 25 Jun 2014 19:23:02 +0000 (19:23 +0000)
committervries <vries@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 25 Jun 2014 19:23:02 +0000 (19:23 +0000)
2014-06-25  Tom de Vries  <tom@codesourcery.com>

* config/arm/arm.c (arm_emit_call_insn): Remove clobber of CC_REGNUM.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211990 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/config/arm/arm.c

index 33c5b48..fba575e 100644 (file)
@@ -1,3 +1,7 @@
+2014-06-25  Tom de Vries  <tom@codesourcery.com>
+
+       * config/arm/arm.c (arm_emit_call_insn): Remove clobber of CC_REGNUM.
+
 2014-06-25  Bernd Edlinger  <bernd.edlinger@hotmail.de>
 
        * tree-ssa-forwprop.c (associate_plusminus): For widening conversions
index 464dec1..0146fe8 100644 (file)
@@ -17642,11 +17642,11 @@ arm_emit_call_insn (rtx pat, rtx addr, bool sibcall)
   if (TARGET_AAPCS_BASED)
     {
       /* For AAPCS, IP and CC can be clobbered by veneers inserted by the
-        linker.  We need to add these to allow setting
-        TARGET_CALL_FUSAGE_CONTAINS_NON_CALLEE_CLOBBERS to true.  */
+        linker.  We need to add an IP clobber to allow setting
+        TARGET_CALL_FUSAGE_CONTAINS_NON_CALLEE_CLOBBERS to true.  A CC clobber
+        is not needed since it's a fixed register.  */
       rtx *fusage = &CALL_INSN_FUNCTION_USAGE (insn);
       clobber_reg (fusage, gen_rtx_REG (word_mode, IP_REGNUM));
-      clobber_reg (fusage, gen_rtx_REG (word_mode, CC_REGNUM));
     }
 }