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