diff options
author | Georg-Johann Lay <avr@gjlay.de> | 2023-08-01 13:49:17 +0200 |
---|---|---|
committer | Georg-Johann Lay <avr@gjlay.de> | 2023-08-01 13:50:50 +0200 |
commit | 1d379bb1191390c3be1fdd0f2fb8e8b1e2c44cd7 (patch) | |
tree | 490dffbf464fd66e2cf06ff07ab29539a4c6eef1 /gcc | |
parent | 1762957384c659a2e6827939ce4b1f1d1ad40003 (diff) | |
download | gcc-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.cc | 8 |
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(); |