Home | History | Annotate | Download | only in Linker

Lines Matching full:structtype

37   SmallVector<StructType *, 16> SpeculativeDstOpaqueTypes;
41 SmallVector<StructType *, 16> SrcDefinitionsToResolve;
45 SmallPtrSet<StructType *, 16> DstResolvedOpaqueTypes;
63 Type *get(Type *SrcTy, SmallPtrSet<StructType *, 8> &Visited);
65 void finishType(StructType *DTy, StructType *STy, ArrayRef<Type *> ETypes);
92 for (StructType *Ty : SpeculativeDstOpaqueTypes)
96 if (auto *STy = dyn_cast<StructType>(Ty))
126 if (StructType *SSTy = dyn_cast<StructType>(SrcTy)) {
138 if (cast<StructType>(DstTy)->isOpaque()) {
140 if (!DstResolvedOpaqueTypes.insert(cast<StructType>(DstTy)).second)
144 SpeculativeDstOpaqueTypes.push_back(cast<StructType>(DstTy));
164 } else if (StructType *DSTy = dyn_cast<StructType>(DstTy)) {
165 StructType *SSTy = cast<StructType>(SrcTy);
193 for (StructType *SrcSTy : SrcDefinitionsToResolve) {
194 StructType *DstSTy = cast<StructType>(MappedTypes[SrcSTy]);
209 void TypeMapTy::finishType(StructType *DTy, StructType *STy,
224 SmallPtrSet<StructType *, 8> Visited;
228 Type *TypeMapTy::get(Type *Ty, SmallPtrSet<StructType *, 8> &Visited) {
235 bool IsUniqued = !isa<StructType>(Ty) || cast<StructType>(Ty)->isLiteral();
246 if (!IsUniqued && !Visited.insert(cast<StructType>(Ty)).second) {
247 StructType *DTy = StructType::create(Ty->getContext());
271 if (auto *DTy = dyn_cast<StructType>(*Entry)) {
273 auto *STy = cast<StructType>(Ty);
303 auto *STy = cast<StructType>(Ty);
306 return *Entry = StructType::get(Ty->getContext(), ElementTypes, IsPacked);
314 if (StructType *OldT =
325 StructType *DTy = StructType::create(Ty->getContext());
795 std::vector<StructType *> Types = SrcM.getIdentifiedStructTypes();
796 for (StructType *ST : Types) {
808 StructType *DST = DstM.getTypeByName(ST->getName().substr(0, DotPos));
857 if (cast<StructType>(EltTy)->getNumElements() == 3)
865 auto &ST = *cast<StructType>(EltTy);
867 EltTy = StructType
961 ConstantStruct::get(cast<StructType>(EltTy), E1, E2, Null, nullptr);
1549 IRMover::StructTypeKeyInfo::KeyTy::KeyTy(const StructType *ST)
1564 StructType *IRMover::StructTypeKeyInfo::getEmptyKey() {
1565 return DenseMapInfo<StructType *>::getEmptyKey();
1568 StructType *IRMover::StructTypeKeyInfo::getTombstoneKey() {
1569 return DenseMapInfo<StructType *>::getTombstoneKey();
1577 unsigned IRMover::StructTypeKeyInfo::getHashValue(const StructType *ST) {
1582 const StructType *RHS) {
1588 bool IRMover::StructTypeKeyInfo::isEqual(const StructType *LHS,
1589 const StructType *RHS) {
1599 void IRMover::IdentifiedStructTypeSet::addNonOpaque(StructType *Ty) {
1604 void IRMover::IdentifiedStructTypeSet::switchToNonOpaque(StructType *Ty) {
1612 void IRMover::IdentifiedStructTypeSet::addOpaque(StructType *Ty) {
1617 StructType *
1627 bool IRMover::IdentifiedStructTypeSet::hasType(StructType *Ty) {
1639 for (StructType *Ty : StructTypes) {