diff --git a/clang/lib/CIR/Dialect/IR/CIRTypes.cpp b/clang/lib/CIR/Dialect/IR/CIRTypes.cpp index 125c9fe99f73..b3863a0fed24 100644 --- a/clang/lib/CIR/Dialect/IR/CIRTypes.cpp +++ b/clang/lib/CIR/Dialect/IR/CIRTypes.cpp @@ -441,15 +441,13 @@ RecordType::computeUnionSize(const mlir::DataLayout &dataLayout) const { // This is a similar algorithm to LLVM's StructLayout. unsigned recordSize = 0; llvm::Align recordAlignment{1}; - unsigned numElements = getNumElements(); - auto members = getMembers(); - unsigned largestMemberSize = 0; auto largestMember = getLargestMember(dataLayout); recordSize = dataLayout.getTypeSize(largestMember); // If the union is padded, add the padding to the size. if (getPadded()) { + unsigned numElements = getNumElements(); auto ty = getMembers()[numElements - 1]; recordSize += dataLayout.getTypeSize(ty); }