[llvm-dev] raw_pwrite_stream to string or stdout?

Frank Winter via llvm-dev llvm-dev at lists.llvm.org
Mon Feb 22 08:16:17 PST 2016


TargetMachine::CGFT_AssemblyFile is exactly what I am trying to write out.

Frank


On 02/22/2016 11:06 AM, Rafael EspĂ­ndola wrote:
> On 19 February 2016 at 16:16, Frank Winter via llvm-dev
> <llvm-dev at lists.llvm.org> wrote:
>> TargetMachine::addPassesToEmitFile(..)
>> requires as its 2nd argument an raw_pwrite_stream.
>>
>> Is it possible to create such a thing which either writes into a standard
>> string or streams to outs() ?
>
>
> I would suggest doing what llc does:
>
>    if ((FileType != TargetMachine::CGFT_AssemblyFile &&
>           !Out->os().supportsSeeking()) ||
>          CompileTwice) {
>        BOS = make_unique<raw_svector_ostream>(Buffer);
>        OS = BOS.get();
> }
>
> That will work even with redirects.
>
> Cheers,
> Rafael
>



More information about the llvm-dev mailing list