https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104680
--- Comment #3 from David Malcolm <dmalcolm at gcc dot gnu.org> ---
> trunk.git/gcc/config/mn10300/mn10300.cc:888:8: warning: Identical inner 'if'
> condition is always true. [identicalInnerCondition]
In mn10300_expand_prologue:
877 │ /* Consider alternative save_a0_merge only if we don't need a
878 │ frame pointer, size is nonzero and the user hasn't
879 │ changed the calling conventions of a0. */
880 │ if (! frame_pointer_needed && size
881 │ && call_used_regs[FIRST_ADDRESS_REGNUM]
882 │ && ! fixed_regs[FIRST_ADDRESS_REGNUM])
883 │ {
884 │ /* Insn: add -(size + 4 * num_regs_to_save), sp. */
885 │ this_strategy_size = SIZE_ADD_SP (-(size + 4 *
num_regs_to_save));
886 │ /* Insn: mov sp, a0. */
887 │ this_strategy_size++;
888 │ if (size)
889 │ {
890 │ /* Insn: add size, a0. */
891 │ this_strategy_size += SIZE_ADD_AX (size);
892 │ }
"size" is checked at line 880, then again at line 888.