diff options
Diffstat (limited to 'contrib/llvm/lib/MC/MCSectionWasm.cpp')
-rw-r--r-- | contrib/llvm/lib/MC/MCSectionWasm.cpp | 94 |
1 files changed, 0 insertions, 94 deletions
diff --git a/contrib/llvm/lib/MC/MCSectionWasm.cpp b/contrib/llvm/lib/MC/MCSectionWasm.cpp deleted file mode 100644 index 8633c10a73fd..000000000000 --- a/contrib/llvm/lib/MC/MCSectionWasm.cpp +++ /dev/null @@ -1,94 +0,0 @@ -//===- lib/MC/MCSectionWasm.cpp - Wasm Code Section Representation --------===// -// -// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. -// See https://llvm.org/LICENSE.txt for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//===----------------------------------------------------------------------===// - -#include "llvm/MC/MCSectionWasm.h" -#include "llvm/MC/MCAsmInfo.h" -#include "llvm/MC/MCExpr.h" -#include "llvm/MC/MCSymbol.h" -#include "llvm/Support/raw_ostream.h" - -using namespace llvm; - -// Decides whether a '.section' directive -// should be printed before the section name. -bool MCSectionWasm::shouldOmitSectionDirective(StringRef Name, - const MCAsmInfo &MAI) const { - return MAI.shouldOmitSectionDirective(Name); -} - -static void printName(raw_ostream &OS, StringRef Name) { - if (Name.find_first_not_of("0123456789_." - "abcdefghijklmnopqrstuvwxyz" - "ABCDEFGHIJKLMNOPQRSTUVWXYZ") == Name.npos) { - OS << Name; - return; - } - OS << '"'; - for (const char *B = Name.begin(), *E = Name.end(); B < E; ++B) { - if (*B == '"') // Unquoted " - OS << "\\\""; - else if (*B != '\\') // Neither " or backslash - OS << *B; - else if (B + 1 == E) // Trailing backslash - OS << "\\\\"; - else { - OS << B[0] << B[1]; // Quoted character - ++B; - } - } - OS << '"'; -} - -void MCSectionWasm::PrintSwitchToSection(const MCAsmInfo &MAI, const Triple &T, - raw_ostream &OS, - const MCExpr *Subsection) const { - - if (shouldOmitSectionDirective(SectionName, MAI)) { - OS << '\t' << getSectionName(); - if (Subsection) { - OS << '\t'; - Subsection->print(OS, &MAI); - } - OS << '\n'; - return; - } - - OS << "\t.section\t"; - printName(OS, getSectionName()); - OS << ",\""; - - if (IsPassive) - OS << "passive"; - - OS << '"'; - - OS << ','; - - // If comment string is '@', e.g. as on ARM - use '%' instead - if (MAI.getCommentString()[0] == '@') - OS << '%'; - else - OS << '@'; - - // TODO: Print section type. - - if (isUnique()) - OS << ",unique," << UniqueID; - - OS << '\n'; - - if (Subsection) { - OS << "\t.subsection\t"; - Subsection->print(OS, &MAI); - OS << '\n'; - } -} - -bool MCSectionWasm::UseCodeAlign() const { return false; } - -bool MCSectionWasm::isVirtualSection() const { return false; } |