[llvm] [llvm::transforms] Add overflow check in AllocaInst::getAllocationSize (PR #97170)

Tsz Chan via llvm-commits llvm-commits at lists.llvm.org
Sat Jun 29 12:17:05 PDT 2024


================
@@ -60,22 +61,33 @@ static cl::opt<bool> DisableI2pP2iOpt(
 std::optional<TypeSize>
 AllocaInst::getAllocationSize(const DataLayout &DL) const {
   TypeSize Size = DL.getTypeAllocSize(getAllocatedType());
-  if (isArrayAllocation()) {
-    auto *C = dyn_cast<ConstantInt>(getArraySize());
-    if (!C)
-      return std::nullopt;
-    assert(!Size.isScalable() && "Array elements cannot have a scalable size");
-    Size *= C->getZExtValue();
+  if (!isArrayAllocation()) {
----------------
tszhin-swe wrote:

Sure, it's my first time contributing to llvm, so I was just trying to conform to the coding standard which says to use early exit to minimize nested if's.

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


More information about the llvm-commits mailing list