Frank Winter via llvm-dev
2016-Feb-22 16:16 UTC
[llvm-dev] raw_pwrite_stream to string or stdout?
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 >
Rafael Espíndola via llvm-dev
2016-Feb-22 16:27 UTC
[llvm-dev] raw_pwrite_stream to string or stdout?
On 22 February 2016 at 11:16, Frank Winter <fwinter at jlab.org> wrote:> TargetMachine::CGFT_AssemblyFile is exactly what I am trying to write out.I see. For that I think we should be able to just change outs() to return a raw_fd_ostream. It is already implemented with one anyway. Cheers, Rafael
Yaron Keren via llvm-dev
2016-Feb-22 19:01 UTC
[llvm-dev] raw_pwrite_stream to string or stdout?
Note that raw_fd_ostream is not seekable, and hence will not be suitable as addPassesToEmitFile output stream. 2016-02-22 18:27 GMT+02:00 Rafael Espíndola <llvm-dev at lists.llvm.org>:> On 22 February 2016 at 11:16, Frank Winter <fwinter at jlab.org> wrote: > > TargetMachine::CGFT_AssemblyFile is exactly what I am trying to write > out. > > I see. > > For that I think we should be able to just change outs() to return a > raw_fd_ostream. It is already implemented with one anyway. > > Cheers, > Rafael > _______________________________________________ > LLVM Developers mailing list > llvm-dev at lists.llvm.org > http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev >-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20160222/6620c61e/attachment-0001.html>