[PATCH] D45736: [SimplifyLibcalls] Replace locked IO with unlocked IO

Roman Lebedev via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Apr 17 15:26:14 PDT 2018


lebedev.ri added a comment.

In https://reviews.llvm.org/D45736#1070328, @xbolva00 wrote:

> In https://reviews.llvm.org/D45736#1070249, @lebedev.ri wrote:
>
> > > to gain better speed
> >
> > Out of curiosity, what are the motivational cases, benchmarks?
> >
> > > if we know, that there is no fork or pthread_create calls in the current module.
> >
> > I'm not sure this is sufficient.
> >  I'll be super surprised if this could be done outside of a LTO build with no dynamic linking.
>
>
> Motivation? I tried to "getchar and putchar" 2 MB file and using unlocked variants I got time difference around 0,1 s.
>
> I believe there are more reasons to apply such optimizations, if possible. If we can have faster IO code, why not?
>
> Why not sufficient?
>  Can you explain it more?




> Static function can be called only from module and if there is no fork or pthread_create, why we cant say that all static functions are not called from multiple threads/processes?

And what about said static function being [indirectly] called from some non-static function?


Repository:
  rL LLVM

https://reviews.llvm.org/D45736





More information about the llvm-commits mailing list