This is no logic change (but technically still a functional change).

Ran into this when stepping thru combine code.
@newpat has some random garbage for a bit until it is actually set.
With the fix it remains 0 until actually set.

gcc/ChangeLog:
        * combine.cc (try_combine): Initialize newpat.

CC: Segher Boessenkool <seg...@kernel.crashing.org>
Signed-off-by: Vineet Gupta <vine...@rivosinc.com>
---
 gcc/combine.cc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gcc/combine.cc b/gcc/combine.cc
index 92b8d98e6c15..0b5fe00c8c5b 100644
--- a/gcc/combine.cc
+++ b/gcc/combine.cc
@@ -2522,7 +2522,7 @@ try_combine (rtx_insn *i3, rtx_insn *i2, rtx_insn *i1, 
rtx_insn *i0,
             bool *new_direct_jump_p, rtx_insn *last_combined_insn)
 {
   /* New patterns for I3 and I2, respectively.  */
-  rtx newpat, newi2pat = 0;
+  rtx newpat = 0, newi2pat = 0;
   rtvec newpat_vec_with_clobbers = 0;
   bool substed_i2 = false, substed_i1 = false, substed_i0 = false;
   /* Indicates need to preserve SET in I0, I1 or I2 in I3 if it is not
-- 
2.34.1

Reply via email to