aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorGeorg-Johann Lay <avr@gjlay.de>2023-08-01 13:49:17 +0200
committerGeorg-Johann Lay <avr@gjlay.de>2023-08-01 13:50:50 +0200
commit1d379bb1191390c3be1fdd0f2fb8e8b1e2c44cd7 (patch)
tree490dffbf464fd66e2cf06ff07ab29539a4c6eef1 /gcc
parent1762957384c659a2e6827939ce4b1f1d1ad40003 (diff)
downloadgcc-1d379bb1191390c3be1fdd0f2fb8e8b1e2c44cd7.zip
gcc-1d379bb1191390c3be1fdd0f2fb8e8b1e2c44cd7.tar.gz
gcc-1d379bb1191390c3be1fdd0f2fb8e8b1e2c44cd7.tar.bz2
target/110220: Set JUMP_LABEL and LABEL_NUSES of new branch insn generated by
target specific RTL optimization pass .avr-casesi. gcc/ PR target/110220 * config/avr/avr.cc (avr_optimize_casesi): Set JUMP_LABEL and LABEL_NUSES of new conditional branch instruction.
Diffstat (limited to 'gcc')
-rw-r--r--gcc/config/avr/avr.cc8
1 files changed, 5 insertions, 3 deletions
diff --git a/gcc/config/avr/avr.cc b/gcc/config/avr/avr.cc
index 0447641..25f3f4c 100644
--- a/gcc/config/avr/avr.cc
+++ b/gcc/config/avr/avr.cc
@@ -644,9 +644,11 @@ avr_optimize_casesi (rtx_insn *insns[5], rtx *xop)
emit_insn (gen_add (reg, reg, gen_int_mode (-low_idx, mode)));
rtx op0 = reg; rtx op1 = gen_int_mode (num_idx, mode);
rtx labelref = copy_rtx (xop[4]);
- emit_jump_insn (gen_cbranch (gen_rtx_fmt_ee (GTU, VOIDmode, op0, op1),
- op0, op1,
- labelref));
+ rtx xbranch = gen_cbranch (gen_rtx_fmt_ee (GTU, VOIDmode, op0, op1),
+ op0, op1, labelref);
+ rtx_insn *cbranch = emit_jump_insn (xbranch);
+ JUMP_LABEL (cbranch) = xop[4];
+ ++LABEL_NUSES (xop[4]);
seq1 = get_insns();
last1 = get_last_insn();