Lines Matching defs:BD
36 BinarySection::hash(const BinaryData &BD,
38 auto Itr = Cache.find(&BD);
43 hash_combine(hash_value(BD.getSize()), hash_value(BD.getSectionName()));
45 Cache[&BD] = Hash;
47 if (!containsRange(BD.getAddress(), BD.getSize()))
50 uint64_t Offset = BD.getAddress() - getAddress();
51 const uint64_t EndOffset = BD.getEndAddress() - getAddress();
68 Cache[&BD] = Hash;
233 BinaryData *BD = BC.getBinaryDataContainingAddress(RelAddr);
234 BD = BD->getAtomicRoot();
235 assert(BD);
237 if ((!BD->isMoved() && !Inplace) || BD->isJumpTable())
241 uint64_t RelOffset = RelAddr - BD->getAddress();
242 NewRel.Offset = BD->getOutputOffset() + RelOffset;
261 for (BinaryData *BD : Order) {
262 assert((BD->isMoved() || !Inplace) && !BD->isJumpTable());
263 assert(BD->isAtomic() && BD->isMoveable());
264 const uint64_t SrcOffset = BD->getAddress() - getAddress();
266 assert(SrcOffset == BD->getOffset());
267 while (OS.tell() < BD->getOutputOffset())
269 LLVM_DEBUG(dbgs() << "BOLT-DEBUG: " << BD->getName() << " @ " << OS.tell()
271 OS.write(&Src[SrcOffset], BD->getOutputSize());