Skip to content

Commit d5e20be

Browse files
committed
Simplify code by merging the ends of two paths.
1 parent 67af555 commit d5e20be

File tree

1 file changed

+7
-13
lines changed

1 file changed

+7
-13
lines changed

clang/lib/CodeGen/CGBuiltin.cpp

Lines changed: 7 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1386,21 +1386,15 @@ CodeGenFunction::emitCountedByMemberSize(const Expr *E, llvm::Value *EmittedE,
13861386
Value *Mul = Builder.CreateMul(Index, FieldBaseSize, "field_offset",
13871387
!IsSigned, IsSigned);
13881388
FieldOffset = Builder.CreateAdd(FieldOffset, Mul);
1389+
}
1390+
// Option (3) '&ptr->field', and Option (4) continuation.
13891391

1390-
// size_t offset_diff = flexible_array_member_offset - field_offset;
1391-
Value *OffsetDiff = Builder.CreateSub(SizeofStruct, FieldOffset,
1392-
"offset_diff", !IsSigned, IsSigned);
1393-
1394-
// return offset_diff + flexible_array_member_size;
1395-
Res = Builder.CreateAdd(FlexibleArrayMemberSize, OffsetDiff, "result");
1396-
} else { // Option (3) '&ptr->field'
1397-
// size_t offset_diff = flexible_array_member_offset - field_offset;
1398-
Value *OffsetDiff = Builder.CreateSub(SizeofStruct, FieldOffset,
1399-
"offset_diff", !IsSigned, IsSigned);
1392+
// size_t offset_diff = flexible_array_member_offset - field_offset;
1393+
Value *OffsetDiff = Builder.CreateSub(SizeofStruct, FieldOffset,
1394+
"offset_diff", !IsSigned, IsSigned);
14001395

1401-
// return flexible_array_member_size + offset_diff;
1402-
Res = Builder.CreateAdd(FlexibleArrayMemberSize, OffsetDiff, "result");
1403-
}
1396+
// return offset_diff + flexible_array_member_size;
1397+
Res = Builder.CreateAdd(FlexibleArrayMemberSize, OffsetDiff, "result");
14041398
}
14051399

14061400
Value *Cmp = Builder.CreateIsNotNeg(Res);

0 commit comments

Comments
 (0)