Lines Matching +full:tie +full:- +full:off

1 //===--- Randstruct.cpp ---------------------------------------------------===//
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
7 //===----------------------------------------------------------------------===//
12 //===----------------------------------------------------------------------===//
39 // cache-line.
69 // All of the Buckets produced by best-effort cache-line algorithm. in randomizeStructureLayoutImpl()
72 // The current bucket of fields that we are trying to fill to a cache-line. in randomizeStructureLayoutImpl()
96 if (FD->isBitField() && !FD->isZeroLengthBitField(Context)) { in randomizeStructureLayoutImpl()
103 CurrentBitfieldRun->addField(FD, /*FieldSize is irrelevant here*/ 1); in randomizeStructureLayoutImpl()
117 uint64_t Width = Context.getTypeInfo(FD->getType()).Width; in randomizeStructureLayoutImpl()
120 OverSized->addField(FD, Width); in randomizeStructureLayoutImpl()
127 if (CurrentBucket->canFit(Width)) { in randomizeStructureLayoutImpl()
128 CurrentBucket->addField(FD, Width); in randomizeStructureLayoutImpl()
131 // If it's now full, tie off the bucket. in randomizeStructureLayoutImpl()
132 if (CurrentBucket->full()) { in randomizeStructureLayoutImpl()
147 // If we were filling a bucket, tie it off. in randomizeStructureLayoutImpl()
151 // If we were processing a bitfield run bucket, tie it off. in randomizeStructureLayoutImpl()
160 llvm::SmallVectorImpl<FieldDecl *> &RandFields = B->fields(); in randomizeStructureLayoutImpl()
161 if (!B->isBitfieldRun()) in randomizeStructureLayoutImpl()
181 for (Decl *D : RD->decls()) { in randomizeStructureLayout()
197 RD->hasFlexibleArrayMember() ? RandomizedFields.pop_back_val() : nullptr; in randomizeStructureLayout()
200 dyn_cast<ConstantArrayType>(RandomizedFields.back()->getType())) in randomizeStructureLayout()
201 if (CA->getSize().sle(2)) in randomizeStructureLayout()
206 Context.getLangOpts().RandstructSeed + RD->getNameAsString(); in randomizeStructureLayout()