mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-10-06 14:57:41 +00:00
Use a raw_svector_ostream instead of a raw_string_ostream.
It saves a bit of copying. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@234507 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
e4053cd377
commit
440f0b28a8
@ -183,7 +183,9 @@ void LLVMSetTargetMachineAsmVerbosity(LLVMTargetMachineRef T,
|
|||||||
}
|
}
|
||||||
|
|
||||||
static LLVMBool LLVMTargetMachineEmit(LLVMTargetMachineRef T, LLVMModuleRef M,
|
static LLVMBool LLVMTargetMachineEmit(LLVMTargetMachineRef T, LLVMModuleRef M,
|
||||||
formatted_raw_ostream &OS, LLVMCodeGenFileType codegen, char **ErrorMessage) {
|
formatted_raw_ostream &OS,
|
||||||
|
LLVMCodeGenFileType codegen,
|
||||||
|
char **ErrorMessage) {
|
||||||
TargetMachine* TM = unwrap(T);
|
TargetMachine* TM = unwrap(T);
|
||||||
Module* Mod = unwrap(M);
|
Module* Mod = unwrap(M);
|
||||||
|
|
||||||
@ -238,15 +240,15 @@ LLVMBool LLVMTargetMachineEmitToFile(LLVMTargetMachineRef T, LLVMModuleRef M,
|
|||||||
LLVMBool LLVMTargetMachineEmitToMemoryBuffer(LLVMTargetMachineRef T,
|
LLVMBool LLVMTargetMachineEmitToMemoryBuffer(LLVMTargetMachineRef T,
|
||||||
LLVMModuleRef M, LLVMCodeGenFileType codegen, char** ErrorMessage,
|
LLVMModuleRef M, LLVMCodeGenFileType codegen, char** ErrorMessage,
|
||||||
LLVMMemoryBufferRef *OutMemBuf) {
|
LLVMMemoryBufferRef *OutMemBuf) {
|
||||||
std::string CodeString;
|
SmallString<0> CodeString;
|
||||||
raw_string_ostream OStream(CodeString);
|
raw_svector_ostream OStream(CodeString);
|
||||||
formatted_raw_ostream Out(OStream);
|
formatted_raw_ostream Out(OStream);
|
||||||
bool Result = LLVMTargetMachineEmit(T, M, Out, codegen, ErrorMessage);
|
bool Result = LLVMTargetMachineEmit(T, M, Out, codegen, ErrorMessage);
|
||||||
OStream.flush();
|
OStream.flush();
|
||||||
|
|
||||||
std::string &Data = OStream.str();
|
StringRef Data = OStream.str();
|
||||||
*OutMemBuf = LLVMCreateMemoryBufferWithMemoryRangeCopy(Data.c_str(),
|
*OutMemBuf =
|
||||||
Data.length(), "");
|
LLVMCreateMemoryBufferWithMemoryRangeCopy(Data.data(), Data.size(), "");
|
||||||
return Result;
|
return Result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user