diff gcc/valtrack.c @ 145:1830386684a0

gcc-9.2.0
author anatofuz
date Thu, 13 Feb 2020 11:34:05 +0900
parents 84e7813d76e9
children
line wrap: on
line diff
--- a/gcc/valtrack.c	Thu Oct 25 07:37:49 2018 +0900
+++ b/gcc/valtrack.c	Thu Feb 13 11:34:05 2020 +0900
@@ -1,6 +1,6 @@
 /* Infrastructure for tracking user variable locations and values
    throughout compilation.
-   Copyright (C) 2010-2018 Free Software Foundation, Inc.
+   Copyright (C) 2010-2020 Free Software Foundation, Inc.
    Contributed by Alexandre Oliva <aoliva@redhat.com>.
 
 This file is part of GCC.
@@ -56,8 +56,6 @@
 cleanup_auto_inc_dec (rtx src, machine_mode mem_mode ATTRIBUTE_UNUSED)
 {
   rtx x = src;
-  if (!AUTO_INC_DEC)
-    return copy_rtx (x);
 
   const RTX_CODE code = GET_CODE (x);
   int i;
@@ -659,22 +657,12 @@
 	{
 	  dest = SET_DEST (set);
 	  src = SET_SRC (set);
-	  /* Lose if the REG-setting insn is a CALL.  */
-	  if (GET_CODE (src) == CALL)
-	    {
-	      while (uses)
-		{
-		  cur = uses->next;
-		  XDELETE (uses);
-		  uses = cur;
-		}
-	      return 0;
-	    }
-	  /* Asm in DEBUG_INSN is never useful, we can't emit debug info for
-	     that.  And for volatile_insn_p, it is actually harmful
-	     - DEBUG_INSNs shouldn't have any side-effects.  */
-	  else if (GET_CODE (src) == ASM_OPERANDS
-		   || volatile_insn_p (src))
+	  /* Reset uses if the REG-setting insn is a CALL.  Asm in
+	     DEBUG_INSN is never useful, we can't emit debug info for
+	     that.  And for volatile_insn_p, it is actually harmful -
+	     DEBUG_INSNs shouldn't have any side-effects.  */
+	  if (GET_CODE (src) == CALL || GET_CODE (src) == ASM_OPERANDS
+	      || volatile_insn_p (src))
 	    set = NULL_RTX;
 	}