[llvm] [MemoryBuiltins] Add getBaseObjectSize() (NFCI) (PR #155911)

Nikita Popov via llvm-commits llvm-commits at lists.llvm.org
Fri Aug 29 07:31:21 PDT 2025


================
@@ -589,6 +589,59 @@ bool llvm::getObjectSize(const Value *Ptr, uint64_t &Size, const DataLayout &DL,
   return true;
 }
 
+std::optional<TypeSize> llvm::getBaseObjectSize(const Value *Ptr,
+                                                const DataLayout &DL,
+                                                const TargetLibraryInfo *TLI,
+                                                ObjectSizeOpts Opts) {
+  assert(Opts.EvalMode == ObjectSizeOpts::Mode::ExactSizeFromOffset &&
----------------
nikic wrote:

We're already doing that here: https://github.com/llvm/llvm-project/blob/f474f76fb285204cfcb0746776adc12dd735cf34/llvm/lib/Analysis/BasicAliasAnalysis.cpp#L142

There's another usage in isObjectSize() without the guard: https://github.com/llvm/llvm-project/blob/f474f76fb285204cfcb0746776adc12dd735cf34/llvm/lib/Analysis/BasicAliasAnalysis.cpp#L179C7-L179C20 I could try updating that one, but I expect the answer is going to be "no".

https://github.com/llvm/llvm-project/pull/155911


More information about the llvm-commits mailing list