[PATCH] D141056: [SVE][CGBuiltins] Remove need for instcombine from ACLE tests.
    Paul Walker via Phabricator via cfe-commits 
    cfe-commits at lists.llvm.org
       
    Wed Jan 11 16:25:50 PST 2023
    
    
  
paulwalker-arm marked an inline comment as done.
paulwalker-arm added inline comments.
================
Comment at: clang/lib/CodeGen/CGBuiltin.cpp:9092
+      if (BytesPerElt > 1) {
+        Value *Scale = ConstantInt::get(Int64Ty, Log2_32(BytesPerElt));
+        Ops[2] = Builder.CreateShl(Ops[2], Scale);
----------------
david-arm wrote:
> Given this seems a frequent idiom is it worth putting this into a helper routine? i.e. something like
> 
>   Ops[2] = getScaledOffset(Ops[2], BytesPerElt);
> 
> where
> 
>   Value *getScaledOffset(SDValue Offset, unsigned Bytes) {
>     Value *Scale = ConstantInt::get(Int64Ty, Log2_32(Bytes));
>     return Builder.CreateShl(Offset, Scale);
>   }
Thanks Dave. It turns out IRBuilder has such a helper (well almost) function so I've used that instead.
Repository:
  rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D141056/new/
https://reviews.llvm.org/D141056
    
    
More information about the cfe-commits
mailing list