[PATCH] D138238: [SROA] For non-speculatable `load`s of `select`s -- split block, insert then/else blocks, form two-entry PHI node

Mikael Holmén via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Dec 13 00:37:13 PST 2022


uabelho added a comment.

Hello,

I noticed that when compiling with gcc I get the following new warning with this patch:

  00:14:51 ../include/llvm/Transforms/Scalar/SROA.h:95:7: warning: 'llvm::SROAPass' declared with greater visibility than the type of its field 'llvm::SROAPass::SelectsToRewrite' [-Wattributes]
  00:14:51    95 | class SROAPass : public PassInfoMixin<SROAPass> {
  00:14:51       |       ^~~~~~~~

I guess it's because

  using PossiblySpeculatableLoad =
      PointerIntPair<LoadInst *, 2, sroa::SelectHandSpeculativity>;
  using PossiblySpeculatableLoads = SmallVector<PossiblySpeculatableLoad, 2>;

are declared inside

  namespace sroa LLVM_LIBRARY_VISIBILITY {

but then PossiblySpeculatableLoads is used in the SROAPass member

  SmallMapVector<SelectInst *, sroa::PossiblySpeculatableLoads, 8>
      SelectsToRewrite;

I've no idea if this is anythinig to care about though?


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D138238/new/

https://reviews.llvm.org/D138238



More information about the llvm-commits mailing list