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.

Reply via email to