[binutils-gdb] MIPS/GAS: Use a switch on relaxation type in microMIPS fixup creation
Maciej W.Rozycki
macro@sourceware.org
Fri Jun 30 23:43:00 GMT 2017
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=834a65aadfda9755d8bd6ec76ba8b3a6d20a1beb
commit 834a65aadfda9755d8bd6ec76ba8b3a6d20a1beb
Author: Maciej W. Rozycki <macro@imgtec.com>
Date: Sat Jul 1 00:42:19 2017 +0100
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:
---
gas/ChangeLog | 5 +++++
gas/config/tc-mips.c | 25 +++++++++++++++----------
2 files changed, 20 insertions(+), 10 deletions(-)
diff --git a/gas/ChangeLog b/gas/ChangeLog
index 94a6a68..31de3e9 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,5 +1,10 @@
2017-06-30 Maciej W. Rozycki <macro@imgtec.com>
+ * 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 <macro@imgtec.com>
+
* config/tc-mips.c (md_convert_frag): Rewrite `fix_new_exp'
calls in terms of `fix_new'.
diff --git a/gas/config/tc-mips.c b/gas/config/tc-mips.c
index a58c484..4eeb5ee 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;
More information about the Binutils-cvs
mailing list