[llvm] [Analysis] Add Scalable field in MemoryLocation.h (PR #69716)

Nikita Popov via llvm-commits llvm-commits at lists.llvm.org
Mon Oct 23 05:50:45 PDT 2023


================
@@ -101,22 +101,22 @@ bool BasicAAResult::invalidate(Function &Fn, const PreservedAnalyses &PA,
 //===----------------------------------------------------------------------===//
 
 /// Returns the size of the object specified by V or UnknownSize if unknown.
-static uint64_t getObjectSize(const Value *V, const DataLayout &DL,
-                              const TargetLibraryInfo &TLI,
-                              bool NullIsValidLoc,
+/// getObjectSize does not support scalable Value
+static TypeSize getObjectSize(const Value *V, const DataLayout &DL,
+                              const TargetLibraryInfo &TLI, bool NullIsValidLoc,
                               bool RoundToAlign = false) {
   uint64_t Size;
   ObjectSizeOpts Opts;
   Opts.RoundToAlign = RoundToAlign;
   Opts.NullIsUnknownSize = NullIsValidLoc;
   if (getObjectSize(V, Size, DL, &TLI, Opts))
-    return Size;
-  return MemoryLocation::UnknownSize;
+    return TypeSize(Size, false);
+  return TypeSize(MemoryLocation::UnknownSize, false);
----------------
nikic wrote:

```suggestion
    return TypeSize::getFixed(Size);
  return TypeSize::getFixed(MemoryLocation::UnknownSize);
```

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


More information about the llvm-commits mailing list