combine: Ignore debug insns in volatile checks [PR127422]

A DEBUG_INSN can retain a volatile MEM after the corresponding ordinary
instruction has been deleted.  Do not treat that non-executing payload as an
intervening volatile access in can_combine_p.

Assisted-by: OpenAI Codex 5.6 Sol, co-reviewed by Claude and Yongqiang Tian.

	PR rtl-optimization/127422

gcc/ChangeLog:

	* combine.cc (can_combine_p): Ignore debug instructions when scanning
	for intervening volatile references.

gcc/testsuite/ChangeLog:

	* gcc.dg/pr127422.c: New test.

Signed-off-by: Yongqiang Tian <yqtian668@gmail.com>
2 files changed