diff options
| author | Heejin Ahn <aheejin@gmail.com> | 2019-02-04 19:13:39 +0000 |
|---|---|---|
| committer | Heejin Ahn <aheejin@gmail.com> | 2019-02-04 19:13:39 +0000 |
| commit | 18c56a07623e496480854f4927bcf1ba5213d177 (patch) | |
| tree | cec8a82b24bff109a543144afe8f7b580841d0c2 /llvm/lib/MC | |
| parent | 2e862c7555e35e13850f321d754b658d93375b67 (diff) | |
| download | bcm5719-llvm-18c56a07623e496480854f4927bcf1ba5213d177.tar.gz bcm5719-llvm-18c56a07623e496480854f4927bcf1ba5213d177.zip | |
[WebAssembly] clang-tidy (NFC)
Summary:
This patch fixes clang-tidy warnings on wasm-only files.
The list of checks used is:
`-*,clang-diagnostic-*,llvm-*,misc-*,-misc-unused-parameters,readability-identifier-naming,modernize-*`
(LLVM's default .clang-tidy list is the same except it does not have
`modernize-*`. But I've seen in multiple CLs in LLVM the modernize style
was recommended and code was fixed based on the style, so I added it as
well.)
The common fixes are:
- Variable names start with an uppercase letter
- Function names start with a lowercase letter
- Use `auto` when you use casts so the type is evident
- Use inline initialization for class member variables
- Use `= default` for empty constructors / destructors
- Use `using` in place of `typedef`
Reviewers: sbc100, tlively, aardappel
Subscribers: dschuff, sunfish, jgravelle-google, yurydelendik, kripken, MatzeB, mgorny, rupprecht, llvm-commits
Differential Revision: https://reviews.llvm.org/D57500
llvm-svn: 353075
Diffstat (limited to 'llvm/lib/MC')
| -rw-r--r-- | llvm/lib/MC/MCParser/WasmAsmParser.cpp | 47 | ||||
| -rw-r--r-- | llvm/lib/MC/MCSectionWasm.cpp | 6 | ||||
| -rw-r--r-- | llvm/lib/MC/MCWasmObjectTargetWriter.cpp | 4 | ||||
| -rw-r--r-- | llvm/lib/MC/MCWasmStreamer.cpp | 14 | ||||
| -rw-r--r-- | llvm/lib/MC/WasmObjectWriter.cpp | 62 |
5 files changed, 63 insertions, 70 deletions
diff --git a/llvm/lib/MC/MCParser/WasmAsmParser.cpp b/llvm/lib/MC/MCParser/WasmAsmParser.cpp index 485be2285b0..17d86aa0d64 100644 --- a/llvm/lib/MC/MCParser/WasmAsmParser.cpp +++ b/llvm/lib/MC/MCParser/WasmAsmParser.cpp @@ -32,8 +32,8 @@ using namespace llvm; namespace { class WasmAsmParser : public MCAsmParserExtension { - MCAsmParser *Parser; - MCAsmLexer *Lexer; + MCAsmParser *Parser = nullptr; + MCAsmLexer *Lexer = nullptr; template<bool (WasmAsmParser::*HandlerMethod)(StringRef, SMLoc)> void addDirectiveHandler(StringRef Directive) { @@ -44,9 +44,7 @@ class WasmAsmParser : public MCAsmParserExtension { } public: - WasmAsmParser() : Parser(nullptr), Lexer(nullptr) { - BracketExpressionsSupported = true; - } + WasmAsmParser() { BracketExpressionsSupported = true; } void Initialize(MCAsmParser &P) override { Parser = &P; @@ -60,19 +58,20 @@ public: addDirectiveHandler<&WasmAsmParser::parseDirectiveType>(".type"); } - bool Error(const StringRef &msg, const AsmToken &tok) { - return Parser->Error(tok.getLoc(), msg + tok.getString()); + bool error(const StringRef &Msg, const AsmToken &Tok) { + return Parser->Error(Tok.getLoc(), Msg + Tok.getString()); } - bool IsNext(AsmToken::TokenKind Kind) { - auto ok = Lexer->is(Kind); - if (ok) Lex(); - return ok; + bool isNext(AsmToken::TokenKind Kind) { + auto Ok = Lexer->is(Kind); + if (Ok) + Lex(); + return Ok; } - bool Expect(AsmToken::TokenKind Kind, const char *KindName) { - if (!IsNext(Kind)) - return Error(std::string("Expected ") + KindName + ", instead got: ", + bool expect(AsmToken::TokenKind Kind, const char *KindName) { + if (!isNext(Kind)) + return error(std::string("Expected ") + KindName + ", instead got: ", Lexer->getTok()); return false; } @@ -87,9 +86,9 @@ public: if (Parser->parseIdentifier(Name)) return TokError("expected identifier in directive"); // FIXME: currently requiring this very fixed format. - if (Expect(AsmToken::Comma, ",") || Expect(AsmToken::String, "string") || - Expect(AsmToken::Comma, ",") || Expect(AsmToken::At, "@") || - Expect(AsmToken::EndOfStatement, "eol")) + if (expect(AsmToken::Comma, ",") || expect(AsmToken::String, "string") || + expect(AsmToken::Comma, ",") || expect(AsmToken::At, "@") || + expect(AsmToken::EndOfStatement, "eol")) return true; // This is done automatically by the assembler for text sections currently, // so we don't need to emit that here. This is what it would do (and may @@ -106,12 +105,12 @@ public: if (Parser->parseIdentifier(Name)) return TokError("expected identifier in directive"); auto Sym = getContext().getOrCreateSymbol(Name); - if (Expect(AsmToken::Comma, ",")) + if (expect(AsmToken::Comma, ",")) return true; const MCExpr *Expr; if (Parser->parseExpression(Expr)) return true; - if (Expect(AsmToken::EndOfStatement, "eol")) + if (expect(AsmToken::EndOfStatement, "eol")) return true; // This is done automatically by the assembler for functions currently, // so we don't need to emit that here. This is what it would do: @@ -124,24 +123,24 @@ public: // This could be the start of a function, check if followed by // "label,@function" if (!Lexer->is(AsmToken::Identifier)) - return Error("Expected label after .type directive, got: ", + return error("Expected label after .type directive, got: ", Lexer->getTok()); auto WasmSym = cast<MCSymbolWasm>( getStreamer().getContext().getOrCreateSymbol( Lexer->getTok().getString())); Lex(); - if (!(IsNext(AsmToken::Comma) && IsNext(AsmToken::At) && + if (!(isNext(AsmToken::Comma) && isNext(AsmToken::At) && Lexer->is(AsmToken::Identifier))) - return Error("Expected label,@type declaration, got: ", Lexer->getTok()); + return error("Expected label,@type declaration, got: ", Lexer->getTok()); auto TypeName = Lexer->getTok().getString(); if (TypeName == "function") WasmSym->setType(wasm::WASM_SYMBOL_TYPE_FUNCTION); else if (TypeName == "global") WasmSym->setType(wasm::WASM_SYMBOL_TYPE_GLOBAL); else - return Error("Unknown WASM symbol type: ", Lexer->getTok()); + return error("Unknown WASM symbol type: ", Lexer->getTok()); Lex(); - return Expect(AsmToken::EndOfStatement, "EOL"); + return expect(AsmToken::EndOfStatement, "EOL"); } }; diff --git a/llvm/lib/MC/MCSectionWasm.cpp b/llvm/lib/MC/MCSectionWasm.cpp index c1deef4880b..a8f56897ee1 100644 --- a/llvm/lib/MC/MCSectionWasm.cpp +++ b/llvm/lib/MC/MCSectionWasm.cpp @@ -14,11 +14,11 @@ using namespace llvm; -MCSectionWasm::~MCSectionWasm() {} // anchor. +MCSectionWasm::~MCSectionWasm() = default; // anchor. // Decides whether a '.section' directive // should be printed before the section name. -bool MCSectionWasm::ShouldOmitSectionDirective(StringRef Name, +bool MCSectionWasm::shouldOmitSectionDirective(StringRef Name, const MCAsmInfo &MAI) const { return MAI.shouldOmitSectionDirective(Name); } @@ -50,7 +50,7 @@ void MCSectionWasm::PrintSwitchToSection(const MCAsmInfo &MAI, const Triple &T, raw_ostream &OS, const MCExpr *Subsection) const { - if (ShouldOmitSectionDirective(SectionName, MAI)) { + if (shouldOmitSectionDirective(SectionName, MAI)) { OS << '\t' << getSectionName(); if (Subsection) { OS << '\t'; diff --git a/llvm/lib/MC/MCWasmObjectTargetWriter.cpp b/llvm/lib/MC/MCWasmObjectTargetWriter.cpp index 5f10ce1824f..e46257823e3 100644 --- a/llvm/lib/MC/MCWasmObjectTargetWriter.cpp +++ b/llvm/lib/MC/MCWasmObjectTargetWriter.cpp @@ -10,8 +10,8 @@ using namespace llvm; -MCWasmObjectTargetWriter::MCWasmObjectTargetWriter(bool Is64Bit_) - : Is64Bit(Is64Bit_) {} +MCWasmObjectTargetWriter::MCWasmObjectTargetWriter(bool Is64Bit) + : Is64Bit(Is64Bit) {} // Pin the vtable to this object file MCWasmObjectTargetWriter::~MCWasmObjectTargetWriter() = default; diff --git a/llvm/lib/MC/MCWasmStreamer.cpp b/llvm/lib/MC/MCWasmStreamer.cpp index 6695a5202af..36571fce062 100644 --- a/llvm/lib/MC/MCWasmStreamer.cpp +++ b/llvm/lib/MC/MCWasmStreamer.cpp @@ -34,15 +34,15 @@ using namespace llvm; -MCWasmStreamer::~MCWasmStreamer() {} +MCWasmStreamer::~MCWasmStreamer() = default; // anchor. void MCWasmStreamer::mergeFragment(MCDataFragment *DF, MCDataFragment *EF) { flushPendingLabels(DF, DF->getContents().size()); - for (unsigned i = 0, e = EF->getFixups().size(); i != e; ++i) { - EF->getFixups()[i].setOffset(EF->getFixups()[i].getOffset() + + for (unsigned I = 0, E = EF->getFixups().size(); I != E; ++I) { + EF->getFixups()[I].setOffset(EF->getFixups()[I].getOffset() + DF->getContents().size()); - DF->getFixups().push_back(EF->getFixups()[i]); + DF->getFixups().push_back(EF->getFixups()[I]); } if (DF->getSubtargetInfo() == nullptr && EF->getSubtargetInfo()) DF->setHasInstructions(*EF->getSubtargetInfo()); @@ -179,9 +179,9 @@ void MCWasmStreamer::EmitInstToData(const MCInst &Inst, MCDataFragment *DF = getOrCreateDataFragment(); // Add the fixups and data. - for (unsigned i = 0, e = Fixups.size(); i != e; ++i) { - Fixups[i].setOffset(Fixups[i].getOffset() + DF->getContents().size()); - DF->getFixups().push_back(Fixups[i]); + for (unsigned I = 0, E = Fixups.size(); I != E; ++I) { + Fixups[I].setOffset(Fixups[I].getOffset() + DF->getContents().size()); + DF->getFixups().push_back(Fixups[I]); } DF->setHasInstructions(STI); DF->getContents().append(Code.begin(), Code.end()); diff --git a/llvm/lib/MC/WasmObjectWriter.cpp b/llvm/lib/MC/WasmObjectWriter.cpp index 65bc2b5c0ba..b5260bbceae 100644 --- a/llvm/lib/MC/WasmObjectWriter.cpp +++ b/llvm/lib/MC/WasmObjectWriter.cpp @@ -40,7 +40,7 @@ namespace { // Went we ceate the indirect function table we start at 1, so that there is // and emtpy slot at 0 and therefore calling a null function pointer will trap. -static const uint32_t kInitialTableOffset = 1; +static const uint32_t InitialTableOffset = 1; // For patching purposes, we need to remember where each section starts, both // for patching up the section size field, and for patching up references to @@ -60,7 +60,7 @@ struct SectionBookkeeping { // TODO: Consider using wasm::WasmSignature directly instead. struct WasmSignature { // Support empty and tombstone instances, needed by DenseMap. - enum { Plain, Empty, Tombstone } State; + enum { Plain, Empty, Tombstone } State = Plain; // The return types of the function. SmallVector<wasm::ValType, 1> Returns; @@ -68,8 +68,6 @@ struct WasmSignature { // The parameter types of the function. SmallVector<wasm::ValType, 4> Params; - WasmSignature() : State(Plain) {} - bool operator==(const WasmSignature &Other) const { return State == Other.State && Returns == Other.Returns && Params == Other.Params; @@ -172,7 +170,7 @@ struct WasmRelocationEntry { #endif }; -static const uint32_t INVALID_INDEX = -1; +static const uint32_t InvalidIndex = -1; struct WasmCustomSection { @@ -184,7 +182,7 @@ struct WasmCustomSection { WasmCustomSection(StringRef Name, MCSectionWasm *Section) : Name(Name), Section(Section), OutputContentsOffset(0), - OutputIndex(INVALID_INDEX) {} + OutputIndex(InvalidIndex) {} }; #if !defined(NDEBUG) @@ -196,7 +194,7 @@ raw_ostream &operator<<(raw_ostream &OS, const WasmRelocationEntry &Rel) { // Write X as an (unsigned) LEB value at offset Offset in Stream, padded // to allow patching. -static void WritePatchableLEB(raw_pwrite_stream &Stream, uint32_t X, +static void writePatchableLEB(raw_pwrite_stream &Stream, uint32_t X, uint64_t Offset) { uint8_t Buffer[5]; unsigned SizeLen = encodeULEB128(X, Buffer, 5); @@ -206,7 +204,7 @@ static void WritePatchableLEB(raw_pwrite_stream &Stream, uint32_t X, // Write X as an signed LEB value at offset Offset in Stream, padded // to allow patching. -static void WritePatchableSLEB(raw_pwrite_stream &Stream, int32_t X, +static void writePatchableSLEB(raw_pwrite_stream &Stream, int32_t X, uint64_t Offset) { uint8_t Buffer[5]; unsigned SizeLen = encodeSLEB128(X, Buffer, 5); @@ -215,7 +213,7 @@ static void WritePatchableSLEB(raw_pwrite_stream &Stream, int32_t X, } // Write X as a plain integer value at offset Offset in Stream. -static void WriteI32(raw_pwrite_stream &Stream, uint32_t X, uint64_t Offset) { +static void writeI32(raw_pwrite_stream &Stream, uint32_t X, uint64_t Offset) { uint8_t Buffer[4]; support::endian::write32le(Buffer, X); Stream.pwrite((char *)Buffer, sizeof(Buffer), Offset); @@ -282,8 +280,6 @@ public: raw_pwrite_stream &OS) : W(OS, support::little), TargetObjectWriter(std::move(MOTW)) {} - ~WasmObjectWriter() override; - private: void reset() override { CodeRelocations.clear(); @@ -360,8 +356,6 @@ private: } // end anonymous namespace -WasmObjectWriter::~WasmObjectWriter() {} - // Write out a section header and a patchable section size field. void WasmObjectWriter::startSection(SectionBookkeeping &Section, unsigned SectionId) { @@ -412,7 +406,7 @@ void WasmObjectWriter::endSection(SectionBookkeeping &Section) { // Write the final section size to the payload_len field, which follows // the section id byte. - WritePatchableLEB(static_cast<raw_pwrite_stream &>(W.OS), Size, + writePatchableLEB(static_cast<raw_pwrite_stream &>(W.OS), Size, Section.SizeOffset); } @@ -562,7 +556,7 @@ void WasmObjectWriter::recordRelocation(MCAssembler &Asm, } } -static const MCSymbolWasm *ResolveSymbol(const MCSymbolWasm &Symbol) { +static const MCSymbolWasm *resolveSymbol(const MCSymbolWasm &Symbol) { if (Symbol.isVariable()) { const MCExpr *Expr = Symbol.getVariableValue(); auto *Inner = cast<MCSymbolRefExpr>(Expr); @@ -581,7 +575,7 @@ WasmObjectWriter::getProvisionalValue(const WasmRelocationEntry &RelEntry) { case wasm::R_WASM_TABLE_INDEX_SLEB: case wasm::R_WASM_TABLE_INDEX_I32: { // Provisional value is table address of the resolved symbol itself - const MCSymbolWasm *Sym = ResolveSymbol(*RelEntry.Symbol); + const MCSymbolWasm *Sym = resolveSymbol(*RelEntry.Symbol); assert(Sym->isFunction()); return TableIndices[Sym]; } @@ -606,7 +600,7 @@ WasmObjectWriter::getProvisionalValue(const WasmRelocationEntry &RelEntry) { case wasm::R_WASM_MEMORY_ADDR_I32: case wasm::R_WASM_MEMORY_ADDR_SLEB: { // Provisional value is address of the global - const MCSymbolWasm *Sym = ResolveSymbol(*RelEntry.Symbol); + const MCSymbolWasm *Sym = resolveSymbol(*RelEntry.Symbol); // For undefined symbols, use zero if (!Sym->isDefined()) return 0; @@ -689,17 +683,17 @@ void WasmObjectWriter::applyRelocations( case wasm::R_WASM_GLOBAL_INDEX_LEB: case wasm::R_WASM_MEMORY_ADDR_LEB: case wasm::R_WASM_EVENT_INDEX_LEB: - WritePatchableLEB(Stream, Value, Offset); + writePatchableLEB(Stream, Value, Offset); break; case wasm::R_WASM_TABLE_INDEX_I32: case wasm::R_WASM_MEMORY_ADDR_I32: case wasm::R_WASM_FUNCTION_OFFSET_I32: case wasm::R_WASM_SECTION_OFFSET_I32: - WriteI32(Stream, Value, Offset); + writeI32(Stream, Value, Offset); break; case wasm::R_WASM_TABLE_INDEX_SLEB: case wasm::R_WASM_MEMORY_ADDR_SLEB: - WritePatchableSLEB(Stream, Value, Offset); + writePatchableSLEB(Stream, Value, Offset); break; default: llvm_unreachable("invalid relocation type"); @@ -854,7 +848,7 @@ void WasmObjectWriter::writeElemSection(ArrayRef<uint32_t> TableElems) { // init expr for starting offset W.OS << char(wasm::WASM_OPCODE_I32_CONST); - encodeSLEB128(kInitialTableOffset, W.OS); + encodeSLEB128(InitialTableOffset, W.OS); W.OS << char(wasm::WASM_OPCODE_END); encodeULEB128(TableElems.size(), W.OS); @@ -1087,7 +1081,7 @@ void WasmObjectWriter::registerFunctionType(const MCSymbolWasm &Symbol) { assert(Symbol.isFunction()); WasmSignature S; - const MCSymbolWasm *ResolvedSym = ResolveSymbol(Symbol); + const MCSymbolWasm *ResolvedSym = resolveSymbol(Symbol); if (auto *Sig = ResolvedSym->getSignature()) { S.Returns = Sig->Returns; S.Params = Sig->Params; @@ -1164,7 +1158,7 @@ uint64_t WasmObjectWriter::writeObject(MCAssembler &Asm, // For now, always emit the memory import, since loads and stores are not // valid without it. In the future, we could perhaps be more clever and omit // it if there are no loads or stores. - MCSymbolWasm *MemorySym = + auto *MemorySym = cast<MCSymbolWasm>(Ctx.getOrCreateSymbol("__linear_memory")); wasm::WasmImport MemImport; MemImport.Module = MemorySym->getImportModule(); @@ -1175,7 +1169,7 @@ uint64_t WasmObjectWriter::writeObject(MCAssembler &Asm, // For now, always emit the table section, since indirect calls are not // valid without it. In the future, we could perhaps be more clever and omit // it if there are no indirect calls. - MCSymbolWasm *TableSym = + auto *TableSym = cast<MCSymbolWasm>(Ctx.getOrCreateSymbol("__indirect_function_table")); wasm::WasmImport TableImport; TableImport.Module = TableSym->getImportModule(); @@ -1325,7 +1319,7 @@ uint64_t WasmObjectWriter::writeObject(MCAssembler &Asm, report_fatal_error( "function sections must contain one function each"); - if (WS.getSize() == 0) + if (WS.getSize() == nullptr) report_fatal_error( "function symbols must have a size set with .size"); @@ -1422,7 +1416,7 @@ uint64_t WasmObjectWriter::writeObject(MCAssembler &Asm, // Find the target symbol of this weak alias and export that index const auto &WS = static_cast<const MCSymbolWasm &>(S); - const MCSymbolWasm *ResolvedSym = ResolveSymbol(WS); + const MCSymbolWasm *ResolvedSym = resolveSymbol(WS); LLVM_DEBUG(dbgs() << WS.getName() << ": weak alias of '" << *ResolvedSym << "'\n"); @@ -1446,7 +1440,7 @@ uint64_t WasmObjectWriter::writeObject(MCAssembler &Asm, for (const MCSymbol &S : Asm.symbols()) { const auto &WS = static_cast<const MCSymbolWasm &>(S); if (!isInSymtab(WS)) { - WS.setIndex(INVALID_INDEX); + WS.setIndex(InvalidIndex); continue; } LLVM_DEBUG(dbgs() << "adding to symtab: " << WS << "\n"); @@ -1485,9 +1479,9 @@ uint64_t WasmObjectWriter::writeObject(MCAssembler &Asm, Rel.Type != wasm::R_WASM_TABLE_INDEX_SLEB) return; assert(Rel.Symbol->isFunction()); - const MCSymbolWasm &WS = *ResolveSymbol(*Rel.Symbol); + const MCSymbolWasm &WS = *resolveSymbol(*Rel.Symbol); uint32_t FunctionIndex = WasmIndices.find(&WS)->second; - uint32_t TableIndex = TableElems.size() + kInitialTableOffset; + uint32_t TableIndex = TableElems.size() + InitialTableOffset; if (TableIndices.try_emplace(&WS, TableIndex).second) { LLVM_DEBUG(dbgs() << " -> adding " << WS.getName() << " to table: " << TableIndex << "\n"); @@ -1546,10 +1540,10 @@ uint64_t WasmObjectWriter::writeObject(MCAssembler &Asm, const auto &DataFrag = cast<MCDataFragment>(Frag); const SmallVectorImpl<char> &Contents = DataFrag.getContents(); for (const uint8_t * - p = (const uint8_t *)Contents.data(), - *end = (const uint8_t *)Contents.data() + Contents.size(); - p != end; ++p) { - if (*p != 0) + P = (const uint8_t *)Contents.data(), + *End = (const uint8_t *)Contents.data() + Contents.size(); + P != End; ++P) { + if (*P != 0) report_fatal_error("non-symbolic data in .init_array section"); } for (const MCFixup &Fixup : DataFrag.getFixups()) { @@ -1561,7 +1555,7 @@ uint64_t WasmObjectWriter::writeObject(MCAssembler &Asm, report_fatal_error("fixups in .init_array should be symbol references"); if (Sym->getKind() != MCSymbolRefExpr::VK_WebAssembly_FUNCTION) report_fatal_error("symbols in .init_array should be for functions"); - if (Sym->getSymbol().getIndex() == INVALID_INDEX) + if (Sym->getSymbol().getIndex() == InvalidIndex) report_fatal_error("symbols in .init_array should exist in symbtab"); InitFuncs.push_back( std::make_pair(Priority, Sym->getSymbol().getIndex())); |

