From: Maciej W. Rozycki Date: Fri, 30 Jun 2017 23:42:19 +0000 (+0100) Subject: MIPS/GAS: Use a switch on relaxation type in microMIPS fixup creation X-Git-Url: http://drtracing.org/?a=commitdiff_plain;h=834a65aadfda9755d8bd6ec76ba8b3a6d20a1beb;p=deliverable%2Fbinutils-gdb.git MIPS/GAS: Use a switch on relaxation type in microMIPS fixup creation Use a switch on the relaxation type rather than a chain of conditionals in microMIPS fixup creation, improving source code structure and aiding the compiler with code generation. gas/ * config/tc-mips.c (md_convert_frag): Use a switch on the microMIPS relaxation type rather than a chain of conditionals. --- diff --git a/gas/ChangeLog b/gas/ChangeLog index 94a6a68651..31de3e9961 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,8 @@ +2017-06-30 Maciej W. Rozycki + + * config/tc-mips.c (md_convert_frag): Use a switch on the + microMIPS relaxation type rather than a chain of conditionals. + 2017-06-30 Maciej W. Rozycki * config/tc-mips.c (md_convert_frag): Rewrite `fix_new_exp' diff --git a/gas/config/tc-mips.c b/gas/config/tc-mips.c index a58c484f1f..4eeb5ee6b2 100644 --- a/gas/config/tc-mips.c +++ b/gas/config/tc-mips.c @@ -18342,16 +18342,21 @@ md_convert_frag (bfd *abfd ATTRIBUTE_UNUSED, segT asec, fragS *fragp) /* We generate a fixup instead of applying it right now, because if there is linker relaxation, we're going to need the relocations. */ - if (type == 'D') - fixp = fix_new (fragp, buf - fragp->fr_literal, 2, - fragp->fr_symbol, fragp->fr_offset, - TRUE, BFD_RELOC_MICROMIPS_10_PCREL_S1); - else if (type == 'E') - fixp = fix_new (fragp, buf - fragp->fr_literal, 2, - fragp->fr_symbol, fragp->fr_offset, - TRUE, BFD_RELOC_MICROMIPS_7_PCREL_S1); - else - abort (); + switch (type) + { + case 'D': + fixp = fix_new (fragp, buf - fragp->fr_literal, 2, + fragp->fr_symbol, fragp->fr_offset, + TRUE, BFD_RELOC_MICROMIPS_10_PCREL_S1); + break; + case 'E': + fixp = fix_new (fragp, buf - fragp->fr_literal, 2, + fragp->fr_symbol, fragp->fr_offset, + TRUE, BFD_RELOC_MICROMIPS_7_PCREL_S1); + break; + default: + abort (); + } fixp->fx_file = fragp->fr_file; fixp->fx_line = fragp->fr_line;