From: Akira Hatanaka Date: Thu, 24 May 2012 18:37:43 +0000 (+0000) Subject: Turn on mips16 pseudo op when compiling for mips16. X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=a649cc75b37387df759f5d128582b4aa99f59041;p=platform%2Fupstream%2Fllvm.git Turn on mips16 pseudo op when compiling for mips16. Expand test case for this. Patch by Reed Kotler. llvm-svn: 157410 --- diff --git a/llvm/lib/Target/Mips/MipsAsmPrinter.cpp b/llvm/lib/Target/Mips/MipsAsmPrinter.cpp index d62df4d..dfeae9a 100644 --- a/llvm/lib/Target/Mips/MipsAsmPrinter.cpp +++ b/llvm/lib/Target/Mips/MipsAsmPrinter.cpp @@ -274,8 +274,14 @@ const char *MipsAsmPrinter::getCurrentABIString() const { } void MipsAsmPrinter::EmitFunctionEntryLabel() { - if (OutStreamer.hasRawTextSupport()) + if (OutStreamer.hasRawTextSupport()) { + if (Subtarget->inMips16Mode()) + OutStreamer.EmitRawText(StringRef("\t.set\tmips16")); + else + OutStreamer.EmitRawText(StringRef("\t.set\tnomips16")); + OutStreamer.EmitRawText(StringRef("\t.set\tnomicromips")); OutStreamer.EmitRawText("\t.ent\t" + Twine(CurrentFnSym->getName())); + } OutStreamer.EmitLabel(CurrentFnSym); } diff --git a/llvm/test/CodeGen/Mips/null.ll b/llvm/test/CodeGen/Mips/null.ll index a5e2c06..f34f6a4 100644 --- a/llvm/test/CodeGen/Mips/null.ll +++ b/llvm/test/CodeGen/Mips/null.ll @@ -5,6 +5,9 @@ define i32 @main() nounwind { entry: ret i32 0 +; 16: .set mips16 # @main +; 16: .set nomicromips + ; 16: jr $ra }