From: Rafael Espindola Date: Mon, 18 Aug 2014 22:28:28 +0000 (+0000) Subject: These classes only need a StringRef, not a MemoryBuffer. X-Git-Url: http://plrg.eecs.uci.edu/git/?a=commitdiff_plain;h=02822390510359b0ec307c2c5d3e7ea5f635f6fe;p=oota-llvm.git These classes only need a StringRef, not a MemoryBuffer. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@215945 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/AsmParser/LLLexer.cpp b/lib/AsmParser/LLLexer.cpp index 4a03440caaa..cb4a9557d43 100644 --- a/lib/AsmParser/LLLexer.cpp +++ b/lib/AsmParser/LLLexer.cpp @@ -161,10 +161,10 @@ static const char *isLabelTail(const char *CurPtr) { // Lexer definition. //===----------------------------------------------------------------------===// -LLLexer::LLLexer(MemoryBuffer *StartBuf, SourceMgr &sm, SMDiagnostic &Err, +LLLexer::LLLexer(StringRef StartBuf, SourceMgr &sm, SMDiagnostic &Err, LLVMContext &C) : CurBuf(StartBuf), ErrorInfo(Err), SM(sm), Context(C), APFloatVal(0.0) { - CurPtr = CurBuf->getBufferStart(); + CurPtr = CurBuf.begin(); } int LLLexer::getNextChar() { @@ -174,7 +174,7 @@ int LLLexer::getNextChar() { case 0: // A nul character in the stream is either the end of the current buffer or // a random nul in the file. Disambiguate that here. - if (CurPtr-1 != CurBuf->getBufferEnd()) + if (CurPtr-1 != CurBuf.end()) return 0; // Just whitespace. // Otherwise, return end of file. diff --git a/lib/AsmParser/LLLexer.h b/lib/AsmParser/LLLexer.h index 683939fe62d..219827fd330 100644 --- a/lib/AsmParser/LLLexer.h +++ b/lib/AsmParser/LLLexer.h @@ -28,7 +28,7 @@ namespace llvm { class LLLexer { const char *CurPtr; - MemoryBuffer *CurBuf; + StringRef CurBuf; SMDiagnostic &ErrorInfo; SourceMgr &SM; LLVMContext &Context; @@ -43,7 +43,7 @@ namespace llvm { APSInt APSIntVal; public: - explicit LLLexer(MemoryBuffer *StartBuf, SourceMgr &SM, SMDiagnostic &, + explicit LLLexer(StringRef StartBuf, SourceMgr &SM, SMDiagnostic &, LLVMContext &C); ~LLLexer() {} diff --git a/lib/AsmParser/LLParser.h b/lib/AsmParser/LLParser.h index 6a7ff9f9242..a3eb8d3ed38 100644 --- a/lib/AsmParser/LLParser.h +++ b/lib/AsmParser/LLParser.h @@ -136,7 +136,7 @@ namespace llvm { std::map NumberedAttrBuilders; public: - LLParser(MemoryBuffer *F, SourceMgr &SM, SMDiagnostic &Err, Module *m) : + LLParser(StringRef F, SourceMgr &SM, SMDiagnostic &Err, Module *m) : Context(m->getContext()), Lex(F, SM, Err, m->getContext()), M(m) {} bool Run(); diff --git a/lib/AsmParser/Parser.cpp b/lib/AsmParser/Parser.cpp index 4cc94cb270d..6cae013b129 100644 --- a/lib/AsmParser/Parser.cpp +++ b/lib/AsmParser/Parser.cpp @@ -29,11 +29,11 @@ Module *llvm::ParseAssembly(std::unique_ptr F, Module *M, // If we are parsing into an existing module, do it. if (M) - return LLParser(Buf, SM, Err, M).Run() ? nullptr : M; + return LLParser(Buf->getBuffer(), SM, Err, M).Run() ? nullptr : M; // Otherwise create a new module. std::unique_ptr M2(new Module(Buf->getBufferIdentifier(), Context)); - if (LLParser(Buf, SM, Err, M2.get()).Run()) + if (LLParser(Buf->getBuffer(), SM, Err, M2.get()).Run()) return nullptr; return M2.release(); }