Mercurial > hg > CbC > CbC_gcc
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; }