aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Sehr <sehr@chromium.org>2012-11-26 16:18:56 -0800
committerDavid Sehr <sehr@chromium.org>2012-11-26 16:18:56 -0800
commitd520c31fc882d628b4cb3f4eab883487c33c5025 (patch)
treeb226b1e693ad055ed999dadfe828a8160cab51e7
parent6e1ee29aa7b61ab68d71d08433ac249ef0586ab2 (diff)
Make aligning by 2**4 dependent on NaCl for Mips.
Also, make emission of mips16/nomips16 not dependent on NaCl. BUG= http://code.google.com/p/nativeclient/issues/detail?id=1711 Review URL: https://codereview.chromium.org/11308210
-rw-r--r--lib/Target/Mips/MipsAsmPrinter.cpp17
1 files changed, 8 insertions, 9 deletions
diff --git a/lib/Target/Mips/MipsAsmPrinter.cpp b/lib/Target/Mips/MipsAsmPrinter.cpp
index 9bb39a424c..3611828cdc 100644
--- a/lib/Target/Mips/MipsAsmPrinter.cpp
+++ b/lib/Target/Mips/MipsAsmPrinter.cpp
@@ -215,21 +215,20 @@ void MipsAsmPrinter::EmitFunctionEntryLabel() {
// @LOCALMOD-START
// make sure function entry is aligned. We use XmagicX as our basis
// for alignment decisions (c.f. assembler sfi macros).
- int alignment = MF->getAlignment();
- if (alignment < 4) alignment = 4;
- EmitAlignment(alignment);
- if (Subtarget->isTargetNaCl() && OutStreamer.hasRawTextSupport()) {
+ if (Subtarget->isTargetNaCl()) {
+ EmitAlignment(std::max(MF->getAlignment(), 4u));
+ if (OutStreamer.hasRawTextSupport()) {
+ OutStreamer.EmitRawText(StringRef("\t.set XmagicX, .\n"));
+ }
+ }
+ // @LOCALMOD-END
+ if (OutStreamer.hasRawTextSupport()) {
if (Subtarget->inMips16Mode())
OutStreamer.EmitRawText(StringRef("\t.set\tmips16"));
else
OutStreamer.EmitRawText(StringRef("\t.set\tnomips16"));
// leave out until FSF available gas has micromips changes
// OutStreamer.EmitRawText(StringRef("\t.set\tnomicromips"));
- OutStreamer.EmitRawText(StringRef("\t.set XmagicX, .\n"));
- }
- // @LOCALMOD-END
-
- if (OutStreamer.hasRawTextSupport()) {
OutStreamer.EmitRawText("\t.ent\t" + Twine(CurrentFnSym->getName()));
}
OutStreamer.EmitLabel(CurrentFnSym);