mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-07-23 14:25:07 +00:00
Fix minor mips16 issues in directives for function prologue. Probably this does
not matter but makes it more gcc compatible which avoids possible subtle problems. Also, turned back on a disabled check in helloworld.ll. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175237 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -236,10 +236,11 @@ void MipsAsmPrinter::EmitFunctionBodyStart() {
|
||||
raw_svector_ostream OS(Str);
|
||||
printSavedRegsBitmask(OS);
|
||||
OutStreamer.EmitRawText(OS.str());
|
||||
|
||||
OutStreamer.EmitRawText(StringRef("\t.set\tnoreorder"));
|
||||
OutStreamer.EmitRawText(StringRef("\t.set\tnomacro"));
|
||||
OutStreamer.EmitRawText(StringRef("\t.set\tnoat"));
|
||||
if (!Subtarget->inMips16Mode()) {
|
||||
OutStreamer.EmitRawText(StringRef("\t.set\tnoreorder"));
|
||||
OutStreamer.EmitRawText(StringRef("\t.set\tnomacro"));
|
||||
OutStreamer.EmitRawText(StringRef("\t.set\tnoat"));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -250,9 +251,11 @@ void MipsAsmPrinter::EmitFunctionBodyEnd() {
|
||||
// always be at the function end, and we can't emit and
|
||||
// break with BB logic.
|
||||
if (OutStreamer.hasRawTextSupport()) {
|
||||
OutStreamer.EmitRawText(StringRef("\t.set\tat"));
|
||||
OutStreamer.EmitRawText(StringRef("\t.set\tmacro"));
|
||||
OutStreamer.EmitRawText(StringRef("\t.set\treorder"));
|
||||
if (!Subtarget->inMips16Mode()) {
|
||||
OutStreamer.EmitRawText(StringRef("\t.set\tat"));
|
||||
OutStreamer.EmitRawText(StringRef("\t.set\tmacro"));
|
||||
OutStreamer.EmitRawText(StringRef("\t.set\treorder"));
|
||||
}
|
||||
OutStreamer.EmitRawText("\t.end\t" + Twine(CurrentFnSym->getName()));
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user