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 <[email protected]>
Signed-off-by: Vineet Gupta <[email protected]>
---
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