forked from OSchip/llvm-project
Use MemoryBuffer::getBufferIdentifier() in the AsmPrinter instead
of requiring a name be passed in. This makes it use "<stdin>" instead of "-" and makes it more consistent with the Bitcode reader. llvm-svn: 81256
This commit is contained in:
parent
a3fbf36004
commit
e6a80ced1c
|
@ -55,7 +55,6 @@ Module *ParseAssemblyString(
|
||||||
/// takes ownership of the MemoryBuffer.
|
/// takes ownership of the MemoryBuffer.
|
||||||
Module *ParseAssembly(
|
Module *ParseAssembly(
|
||||||
MemoryBuffer *F, ///< The MemoryBuffer containing assembly
|
MemoryBuffer *F, ///< The MemoryBuffer containing assembly
|
||||||
const std::string &Name, ///< The name of the original source file
|
|
||||||
Module *M, ///< A module to add the assembly too.
|
Module *M, ///< A module to add the assembly too.
|
||||||
SMDiagnostic &Err, ///< Error result info.
|
SMDiagnostic &Err, ///< Error result info.
|
||||||
LLVMContext &Context
|
LLVMContext &Context
|
||||||
|
|
|
@ -33,7 +33,6 @@ namespace llvm {
|
||||||
/// ModuleProvider. This function *always* takes ownership of the given
|
/// ModuleProvider. This function *always* takes ownership of the given
|
||||||
/// MemoryBuffer.
|
/// MemoryBuffer.
|
||||||
inline ModuleProvider *getIRModuleProvider(MemoryBuffer *Buffer,
|
inline ModuleProvider *getIRModuleProvider(MemoryBuffer *Buffer,
|
||||||
const std::string &Filename,
|
|
||||||
SMDiagnostic &Err,
|
SMDiagnostic &Err,
|
||||||
LLVMContext &Context) {
|
LLVMContext &Context) {
|
||||||
if (isBitcode((const unsigned char *)Buffer->getBufferStart(),
|
if (isBitcode((const unsigned char *)Buffer->getBufferStart(),
|
||||||
|
@ -41,7 +40,7 @@ namespace llvm {
|
||||||
std::string ErrMsg;
|
std::string ErrMsg;
|
||||||
ModuleProvider *MP = getBitcodeModuleProvider(Buffer, Context, &ErrMsg);
|
ModuleProvider *MP = getBitcodeModuleProvider(Buffer, Context, &ErrMsg);
|
||||||
if (MP == 0) {
|
if (MP == 0) {
|
||||||
Err = SMDiagnostic(Filename, -1, -1, ErrMsg, "");
|
Err = SMDiagnostic(Buffer->getBufferIdentifier(), -1, -1, ErrMsg, "");
|
||||||
// ParseBitcodeFile does not take ownership of the Buffer in the
|
// ParseBitcodeFile does not take ownership of the Buffer in the
|
||||||
// case of an error.
|
// case of an error.
|
||||||
delete Buffer;
|
delete Buffer;
|
||||||
|
@ -49,7 +48,7 @@ namespace llvm {
|
||||||
return MP;
|
return MP;
|
||||||
}
|
}
|
||||||
|
|
||||||
Module *M = ParseAssembly(Buffer, Filename, 0, Err, Context);
|
Module *M = ParseAssembly(Buffer, 0, Err, Context);
|
||||||
if (M == 0)
|
if (M == 0)
|
||||||
return 0;
|
return 0;
|
||||||
return new ExistingModuleProvider(M);
|
return new ExistingModuleProvider(M);
|
||||||
|
@ -70,7 +69,7 @@ namespace llvm {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
return getIRModuleProvider(F, Filename, Err, Context);
|
return getIRModuleProvider(F, Err, Context);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// If the given MemoryBuffer holds a bitcode image, return a Module
|
/// If the given MemoryBuffer holds a bitcode image, return a Module
|
||||||
|
@ -78,7 +77,6 @@ namespace llvm {
|
||||||
/// a Module for it. This function *always* takes ownership of the given
|
/// a Module for it. This function *always* takes ownership of the given
|
||||||
/// MemoryBuffer.
|
/// MemoryBuffer.
|
||||||
inline Module *ParseIR(MemoryBuffer *Buffer,
|
inline Module *ParseIR(MemoryBuffer *Buffer,
|
||||||
const std::string &Filename,
|
|
||||||
SMDiagnostic &Err,
|
SMDiagnostic &Err,
|
||||||
LLVMContext &Context) {
|
LLVMContext &Context) {
|
||||||
if (isBitcode((const unsigned char *)Buffer->getBufferStart(),
|
if (isBitcode((const unsigned char *)Buffer->getBufferStart(),
|
||||||
|
@ -88,11 +86,11 @@ namespace llvm {
|
||||||
// ParseBitcodeFile does not take ownership of the Buffer.
|
// ParseBitcodeFile does not take ownership of the Buffer.
|
||||||
delete Buffer;
|
delete Buffer;
|
||||||
if (M == 0)
|
if (M == 0)
|
||||||
Err = SMDiagnostic(Filename, -1, -1, ErrMsg, "");
|
Err = SMDiagnostic(Buffer->getBufferIdentifier(), -1, -1, ErrMsg, "");
|
||||||
return M;
|
return M;
|
||||||
}
|
}
|
||||||
|
|
||||||
return ParseAssembly(Buffer, Filename, 0, Err, Context);
|
return ParseAssembly(Buffer, 0, Err, Context);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// If the given file holds a bitcode image, return a Module for it.
|
/// If the given file holds a bitcode image, return a Module for it.
|
||||||
|
@ -109,7 +107,7 @@ namespace llvm {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
return ParseIR(F, Filename, Err, Context);
|
return ParseIR(F, Err, Context);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -22,7 +22,6 @@
|
||||||
using namespace llvm;
|
using namespace llvm;
|
||||||
|
|
||||||
Module *llvm::ParseAssembly(MemoryBuffer *F,
|
Module *llvm::ParseAssembly(MemoryBuffer *F,
|
||||||
const std::string &Name,
|
|
||||||
Module *M,
|
Module *M,
|
||||||
SMDiagnostic &Err,
|
SMDiagnostic &Err,
|
||||||
LLVMContext &Context) {
|
LLVMContext &Context) {
|
||||||
|
@ -34,7 +33,7 @@ Module *llvm::ParseAssembly(MemoryBuffer *F,
|
||||||
return LLParser(F, SM, Err, M).Run() ? 0 : M;
|
return LLParser(F, SM, Err, M).Run() ? 0 : M;
|
||||||
|
|
||||||
// Otherwise create a new module.
|
// Otherwise create a new module.
|
||||||
OwningPtr<Module> M2(new Module(Name, Context));
|
OwningPtr<Module> M2(new Module(F->getBufferIdentifier(), Context));
|
||||||
if (LLParser(F, SM, Err, M2.get()).Run())
|
if (LLParser(F, SM, Err, M2.get()).Run())
|
||||||
return 0;
|
return 0;
|
||||||
return M2.take();
|
return M2.take();
|
||||||
|
@ -50,7 +49,7 @@ Module *llvm::ParseAssemblyFile(const std::string &Filename, SMDiagnostic &Err,
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
return ParseAssembly(F, Filename, 0, Err, Context);
|
return ParseAssembly(F, 0, Err, Context);
|
||||||
}
|
}
|
||||||
|
|
||||||
Module *llvm::ParseAssemblyString(const char *AsmString, Module *M,
|
Module *llvm::ParseAssemblyString(const char *AsmString, Module *M,
|
||||||
|
@ -59,5 +58,5 @@ Module *llvm::ParseAssemblyString(const char *AsmString, Module *M,
|
||||||
MemoryBuffer::getMemBuffer(AsmString, AsmString+strlen(AsmString),
|
MemoryBuffer::getMemBuffer(AsmString, AsmString+strlen(AsmString),
|
||||||
"<string>");
|
"<string>");
|
||||||
|
|
||||||
return ParseAssembly(F, "<string>", M, Err, Context);
|
return ParseAssembly(F, M, Err, Context);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue