Anastasia added a comment.

In https://reviews.llvm.org/D36327#833891, @yaxunl wrote:

> In https://reviews.llvm.org/D36327#833653, @bader wrote:
>
> > Hi Sam,
> >
> > What do you think about implementing this optimization in target specific 
> > optimization pass? Since size/alignment is saved as function parameter in 
> > LLVM IR, the optimization can be done in target specific components w/o 
> > adding additional conditions to generic library.
> >
> > Thanks,
> > Alexey
>
>
> Hi Alexey,
>
> The optimization of the power-of-2 type size is implemented as a library 
> function. Our backend lacks the capability to link in library code at ISA 
> level, so linking of the optimized library function has to be done before any 
> target-specific passes. It seems the only place to do this is Clang codegen 
> since Clang/llvm does not support target-specific pre-linking passes.


My general feeling is that it doesn't look like a generic enough change for the 
frontend. Even though it is implemented in a generic way, not every target 
might have a special support for the power of 2 size and also if there is such 
a support not every implementation would handle it as a library function. But I 
can see that perhaps LLVM is missing flexibility in the flow to accommodate 
these needs. Any change we could try to extend the compilation flow such that 
this target specific optimization could happen before the IR linking?


https://reviews.llvm.org/D36327



_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to