Lines Matching refs:Init
85 DenseMap<std::pair<RecTy *, Init *>, VarInit *> TheVarInitPool;
88 DenseMap<std::pair<Init *, StringInit *>, FieldInit *> TheFieldInitPool;
344 void Init::anchor() {} in anchor()
347 LLVM_DUMP_METHOD void Init::dump() const { return print(errs()); } in dump()
350 RecordKeeper &Init::getRecordKeeper() const { in getRecordKeeper()
362 Init *UnsetInit::getCastTo(RecTy *Ty) const { in getCastTo()
366 Init *UnsetInit::convertInitializerTo(RecTy *Ty) const { in convertInitializerTo()
370 static void ProfileArgumentInit(FoldingSetNodeID &ID, Init *Value, in ProfileArgumentInit()
385 ArgumentInit *ArgumentInit::get(Init *Value, ArgAuxType Aux) { in get()
400 Init *ArgumentInit::resolveReferences(Resolver &R) const { in resolveReferences()
401 Init *NewValue = Value->resolveReferences(R); in resolveReferences()
412 Init *BitInit::convertInitializerTo(RecTy *Ty) const { in convertInitializerTo()
429 ProfileBitsInit(FoldingSetNodeID &ID, ArrayRef<Init *> Range) { in ProfileBitsInit()
432 for (Init *I : Range) in ProfileBitsInit()
436 BitsInit *BitsInit::get(RecordKeeper &RK, ArrayRef<Init *> Range) { in get()
445 void *Mem = RKImpl.Allocator.Allocate(totalSizeToAlloc<Init *>(Range.size()), in get()
449 I->getTrailingObjects<Init *>()); in get()
455 ProfileBitsInit(ID, ArrayRef(getTrailingObjects<Init *>(), NumBits)); in Profile()
458 Init *BitsInit::convertInitializerTo(RecTy *Ty) const { in convertInitializerTo()
484 Init *
486 SmallVector<Init *, 16> NewBits(Bits.size()); in convertInitializerBitRange()
508 if (Init *Bit = getBit(e-i-1)) in getAsString()
518 Init *BitsInit::resolveReferences(Resolver &R) const { in resolveReferences()
520 SmallVector<Init *, 16> NewBits(getNumBits()); in resolveReferences()
522 Init *CachedBitVarRef = nullptr; in resolveReferences()
523 Init *CachedBitVarResolved = nullptr; in resolveReferences()
526 Init *CurBit = getBit(i); in resolveReferences()
527 Init *NewBit = CurBit; in resolveReferences()
570 Init *IntInit::convertInitializerTo(RecTy *Ty) const { in convertInitializerTo()
586 SmallVector<Init *, 16> NewBits(BRT->getNumBits()); in convertInitializerTo()
597 Init *
599 SmallVector<Init *, 16> NewBits(Bits.size()); in convertInitializerBitRange()
623 Init *AnonymousNameInit::resolveReferences(Resolver &R) const { in resolveReferences()
624 auto *Old = const_cast<Init *>(static_cast<const Init *>(this)); in resolveReferences()
643 Init *StringInit::convertInitializerTo(RecTy *Ty) const { in convertInitializerTo()
651 ArrayRef<Init *> Range, in ProfileListInit()
656 for (Init *I : Range) in ProfileListInit()
660 ListInit *ListInit::get(ArrayRef<Init *> Range, RecTy *EltTy) { in get()
672 void *Mem = RK.Allocator.Allocate(totalSizeToAlloc<Init *>(Range.size()), in get()
676 I->getTrailingObjects<Init *>()); in get()
687 Init *ListInit::convertInitializerTo(RecTy *Ty) const { in convertInitializerTo()
692 SmallVector<Init*, 8> Elements; in convertInitializerTo()
699 for (Init *I : getValues()) in convertInitializerTo()
700 if (Init *CI = I->convertInitializerTo(ElementType)) { in convertInitializerTo()
723 Init *ListInit::resolveReferences(Resolver &R) const { in resolveReferences()
724 SmallVector<Init*, 8> Resolved; in resolveReferences()
728 for (Init *CurElt : getValues()) { in resolveReferences()
729 Init *E = CurElt->resolveReferences(R); in resolveReferences()
740 for (Init *Element : *this) { in isComplete()
748 for (Init *Element : *this) { in isConcrete()
758 for (Init *Element : *this) { in getAsString()
766 Init *OpInit::getBit(unsigned Bit) const { in getBit()
773 ProfileUnOpInit(FoldingSetNodeID &ID, unsigned Opcode, Init *Op, RecTy *Type) { in ProfileUnOpInit()
779 UnOpInit *UnOpInit::get(UnaryOp Opc, Init *LHS, RecTy *Type) { in get()
797 Init *UnOpInit::Fold(Record *CurRec, bool IsFinal) const { in Fold()
880 if (Init *NewInit = LHS->convertInitializerTo(getType())) in Fold()
960 Init *UnOpInit::resolveReferences(Resolver &R) const { in resolveReferences()
961 Init *lhs = LHS->resolveReferences(R); in resolveReferences()
994 ProfileBinOpInit(FoldingSetNodeID &ID, unsigned Opcode, Init *LHS, Init *RHS, in ProfileBinOpInit()
1002 BinOpInit *BinOpInit::get(BinaryOp Opc, Init *LHS, Init *RHS, RecTy *Type) { in get()
1072 Init *BinOpInit::getStrConcat(Init *I0, Init *I1) { in getStrConcat()
1083 SmallVector<Init *, 8> Args; in ConcatListInits()
1089 Init *BinOpInit::getListConcat(TypedInit *LHS, Init *RHS) { in getListConcat()
1099 std::optional<bool> BinOpInit::CompareInit(unsigned Opc, Init *LHS, in CompareInit()
1100 Init *RHS) const { in CompareInit()
1176 static std::optional<unsigned> getDagArgNoByKey(DagInit *Dag, Init *Key, in getDagArgNoByKey()
1209 Init *BinOpInit::Fold(Record *CurRec) const { in Fold()
1225 Init *Op = LOp ? LOp : ROp; in Fold()
1229 SmallVector<Init*, 8> Args; in Fold()
1247 SmallVector<Init *, 8> Args; in Fold()
1258 SmallVector<Init *, 8> Args(Size->getValue(), Value); in Fold()
1267 SmallVector<Init *, 8> Args; in Fold()
1268 for (Init *EltLHS : *LHSs) { in Fold()
1270 for (Init *EltRHS : *RHSs) { in Fold()
1300 SmallVector<Init *, 8> Args; in Fold()
1321 SmallVector<Init *, 8> Args; in Fold()
1386 Init *Arg = Dag->getArg(*ArgNo); in Fold()
1406 Init *ArgName = Dag->getArgName(Pos); in Fold()
1417 SmallVector<Init*, 8> Args; in Fold()
1475 Init *BinOpInit::resolveReferences(Resolver &R) const { in resolveReferences()
1476 Init *lhs = LHS->resolveReferences(R); in resolveReferences()
1477 Init *rhs = RHS->resolveReferences(R); in resolveReferences()
1529 ProfileTernOpInit(FoldingSetNodeID &ID, unsigned Opcode, Init *LHS, Init *MHS, in ProfileTernOpInit()
1530 Init *RHS, RecTy *Type) { in ProfileTernOpInit()
1538 TernOpInit *TernOpInit::get(TernaryOp Opc, Init *LHS, Init *MHS, Init *RHS, in get()
1557 static Init *ItemApply(Init *LHS, Init *MHSe, Init *RHS, Record *CurRec) { in ItemApply()
1563 static Init *ForeachDagApply(Init *LHS, DagInit *MHSd, Init *RHS, in ForeachDagApply()
1566 Init *Val = ItemApply(LHS, MHSd->getOperator(), RHS, CurRec); in ForeachDagApply()
1570 SmallVector<std::pair<Init *, StringInit *>, 8> NewArgs; in ForeachDagApply()
1572 Init *Arg = MHSd->getArg(i); in ForeachDagApply()
1573 Init *NewArg; in ForeachDagApply()
1592 static Init *ForeachHelper(Init *LHS, Init *MHS, Init *RHS, RecTy *Type, in ForeachHelper()
1598 SmallVector<Init *, 8> NewList(MHSl->begin(), MHSl->end()); in ForeachHelper()
1600 for (Init *&Item : NewList) { in ForeachHelper()
1601 Init *NewItem = ItemApply(LHS, Item, RHS, CurRec); in ForeachHelper()
1613 static Init *FilterHelper(Init *LHS, Init *MHS, Init *RHS, RecTy *Type, in FilterHelper()
1616 SmallVector<Init *, 8> NewList; in FilterHelper()
1618 for (Init *Item : MHSl->getValues()) { in FilterHelper()
1619 Init *Include = ItemApply(LHS, Item, RHS, CurRec); in FilterHelper()
1637 Init *TernOpInit::Fold(Record *CurRec) const { in Fold()
1685 if (Init *Result = ForeachHelper(LHS, MHS, RHS, getType(), CurRec)) in Fold()
1691 if (Init *Result = FilterHelper(LHS, MHS, RHS, getType(), CurRec)) in Fold()
1716 SmallVector<std::pair<Init *, StringInit *>, 8> Children; in Fold()
1719 Init *Node = MHSl ? MHSl->getElement(i) : UnsetInit::get(RK); in Fold()
1720 Init *Name = RHSl ? RHSl->getElement(i) : UnsetInit::get(RK); in Fold()
1743 SmallVector<Init *, 8> Args; in Fold()
1809 SmallVector<Init *, 8> Args(Dag->getArgs()); in Fold()
1827 SmallVector<Init *, 8> Args(Dag->getArgs()); in Fold()
1839 Init *TernOpInit::resolveReferences(Resolver &R) const { in resolveReferences()
1840 Init *lhs = LHS->resolveReferences(R); in resolveReferences()
1852 Init *mhs = MHS->resolveReferences(R); in resolveReferences()
1853 Init *rhs; in resolveReferences()
1895 static void ProfileFoldOpInit(FoldingSetNodeID &ID, Init *Start, Init *List, in ProfileFoldOpInit()
1896 Init *A, Init *B, Init *Expr, RecTy *Type) { in ProfileFoldOpInit()
1905 FoldOpInit *FoldOpInit::get(Init *Start, Init *List, Init *A, Init *B, in get()
1906 Init *Expr, RecTy *Type) { in get()
1924 Init *FoldOpInit::Fold(Record *CurRec) const { in Fold()
1926 Init *Accum = Start; in Fold()
1927 for (Init *Elt : *LI) { in Fold()
1938 Init *FoldOpInit::resolveReferences(Resolver &R) const { in resolveReferences()
1939 Init *NewStart = Start->resolveReferences(R); in resolveReferences()
1940 Init *NewList = List->resolveReferences(R); in resolveReferences()
1944 Init *NewExpr = Expr->resolveReferences(SR); in resolveReferences()
1953 Init *FoldOpInit::getBit(unsigned Bit) const { in getBit()
1965 Init *Expr) { in ProfileIsAOpInit()
1970 IsAOpInit *IsAOpInit::get(RecTy *CheckType, Init *Expr) { in get()
1989 Init *IsAOpInit::Fold() const { in Fold()
2009 Init *IsAOpInit::resolveReferences(Resolver &R) const { in resolveReferences()
2010 Init *NewExpr = Expr->resolveReferences(R); in resolveReferences()
2016 Init *IsAOpInit::getBit(unsigned Bit) const { in getBit()
2027 Init *Expr) { in ProfileExistsOpInit()
2032 ExistsOpInit *ExistsOpInit::get(RecTy *CheckType, Init *Expr) { in get()
2050 Init *ExistsOpInit::Fold(Record *CurRec, bool IsFinal) const { in Fold()
2084 Init *ExistsOpInit::resolveReferences(Resolver &R) const { in resolveReferences()
2085 Init *NewExpr = Expr->resolveReferences(R); in resolveReferences()
2091 Init *ExistsOpInit::getBit(unsigned Bit) const { in getBit()
2111 Init *
2123 Init *TypedInit::convertInitializerBitRange(ArrayRef<unsigned> Bits) const { in convertInitializerBitRange()
2128 SmallVector<Init *, 16> NewBits; in convertInitializerBitRange()
2139 Init *TypedInit::getCastTo(RecTy *Ty) const { in getCastTo()
2144 if (Init *Converted = convertInitializerTo(Ty)) { in getCastTo()
2158 Init *Value = StringInit::get(T->getRecordKeeper(), VN); in get()
2162 VarInit *VarInit::get(Init *VN, RecTy *T) { in get()
2175 Init *VarInit::getBit(unsigned Bit) const { in getBit()
2181 Init *VarInit::resolveReferences(Resolver &R) const { in resolveReferences()
2182 if (Init *Val = R.resolve(VarName)) in resolveReferences()
2199 Init *VarBitInit::resolveReferences(Resolver &R) const { in resolveReferences()
2200 Init *I = TI->resolveReferences(R); in resolveReferences()
2214 Init *DefInit::convertInitializerTo(RecTy *Ty) const { in convertInitializerTo()
2234 for (Init *I : Args) in ProfileVarDefInit()
2283 ArrayRef<Init *> TArgs = Class->getTemplateArgs(); in instantiate()
2325 Init *VarDefInit::resolveReferences(Resolver &R) const { in resolveReferences()
2346 Init *VarDefInit::Fold() const { in Fold()
2351 for (Init *Arg : args()) in Fold()
2362 for (Init *Arg : args()) { in getAsString()
2370 FieldInit *FieldInit::get(Init *R, StringInit *FN) { in get()
2378 Init *FieldInit::getBit(unsigned Bit) const { in getBit()
2384 Init *FieldInit::resolveReferences(Resolver &R) const { in resolveReferences()
2385 Init *NewRec = Rec->resolveReferences(R); in resolveReferences()
2391 Init *FieldInit::Fold(Record *CurRec) const { in Fold()
2399 Init *FieldVal = Def->getValue(FieldName)->getValue(); in Fold()
2408 Init *FieldVal = DI->getDef()->getValue(FieldName)->getValue(); in isConcrete()
2415 ArrayRef<Init *> CondRange, in ProfileCondOpInit()
2416 ArrayRef<Init *> ValRange, in ProfileCondOpInit()
2421 ArrayRef<Init *>::iterator Case = CondRange.begin(); in ProfileCondOpInit()
2422 ArrayRef<Init *>::iterator Val = ValRange.begin(); in ProfileCondOpInit()
2431 ProfileCondOpInit(ID, ArrayRef(getTrailingObjects<Init *>(), NumConds), in Profile()
2432 ArrayRef(getTrailingObjects<Init *>() + NumConds, NumConds), in Profile()
2436 CondOpInit *CondOpInit::get(ArrayRef<Init *> CondRange, in get()
2437 ArrayRef<Init *> ValRange, RecTy *Ty) { in get()
2450 totalSizeToAlloc<Init *>(2 * CondRange.size()), alignof(BitsInit)); in get()
2454 I->getTrailingObjects<Init *>()); in get()
2456 I->getTrailingObjects<Init *>()+CondRange.size()); in get()
2461 Init *CondOpInit::resolveReferences(Resolver &R) const { in resolveReferences()
2462 SmallVector<Init*, 4> NewConds; in resolveReferences()
2464 for (const Init *Case : getConds()) { in resolveReferences()
2465 Init *NewCase = Case->resolveReferences(R); in resolveReferences()
2470 SmallVector<Init*, 4> NewVals; in resolveReferences()
2471 for (const Init *Val : getVals()) { in resolveReferences()
2472 Init *NewVal = Val->resolveReferences(R); in resolveReferences()
2484 Init *CondOpInit::Fold(Record *CurRec) const { in Fold()
2487 Init *Cond = getCond(i); in Fold()
2488 Init *Val = getVal(i); in Fold()
2507 for (const Init *Case : getConds()) in isConcrete()
2511 for (const Init *Val : getVals()) in isConcrete()
2519 for (const Init *Case : getConds()) in isComplete()
2523 for (const Init *Val : getVals()) in isComplete()
2541 Init *CondOpInit::getBit(unsigned Bit) const { in getBit()
2545 static void ProfileDagInit(FoldingSetNodeID &ID, Init *V, StringInit *VN, in ProfileDagInit()
2546 ArrayRef<Init *> ArgRange, in ProfileDagInit()
2551 ArrayRef<Init *>::iterator Arg = ArgRange.begin(); in ProfileDagInit()
2561 DagInit *DagInit::get(Init *V, StringInit *VN, ArrayRef<Init *> ArgRange, in get()
2573 totalSizeToAlloc<Init *, StringInit *>(ArgRange.size(), NameRange.size()), in get()
2577 I->getTrailingObjects<Init *>()); in get()
2585 DagInit::get(Init *V, StringInit *VN, in get()
2586 ArrayRef<std::pair<Init*, StringInit*>> args) { in get() argument
2587 SmallVector<Init *, 8> Args; in get()
2600 ArrayRef(getTrailingObjects<Init *>(), NumArgs), in Profile()
2620 Init *DagInit::resolveReferences(Resolver &R) const { in resolveReferences()
2621 SmallVector<Init*, 8> NewArgs; in resolveReferences()
2624 for (const Init *Arg : getArgs()) { in resolveReferences()
2625 Init *NewArg = Arg->resolveReferences(R); in resolveReferences()
2630 Init *Op = Val->resolveReferences(R); in resolveReferences()
2640 for (const Init *Elt : getArgs()) { in isConcrete()
2666 RecordVal::RecordVal(Init *N, RecTy *T, FieldKind K) in RecordVal()
2674 RecordVal::RecordVal(Init *N, SMLoc Loc, RecTy *T, FieldKind K) in RecordVal()
2699 bool RecordVal::setValue(Init *V) { in setValue()
2707 SmallVector<Init *, 64> Bits; in setValue()
2723 bool RecordVal::setValue(Init *V, SMLoc NewLoc) { in setValue()
2732 SmallVector<Init *, 64> Bits; in setValue()
2795 void Record::setName(Init *NewName) { in setName()
2840 Init *OldName = getNameInit(); in resolveReferences()
2841 Init *NewName = Name->resolveReferences(R); in resolveReferences()
2851 if (Init *V = Value.getValue()) { in resolveReferences()
2852 Init *VR = V->resolveReferences(R); in resolveReferences()
2871 Init *Value = Assertion.Condition->resolveReferences(R); in resolveReferences()
2878 Init *Value = Dump.Message->resolveReferences(R); in resolveReferences()
2883 void Record::resolveReferences(Init *NewName) { in resolveReferences()
2897 ArrayRef<Init *> TArgs = R.getTemplateArgs(); in operator <<()
2901 for (const Init *TA : TArgs) { in operator <<()
2938 Init *Record::getValueInit(StringRef FieldName) const { in getValueInit()
2998 for (Init *I : List->getValues()) { in getValueAsListOfDefs()
3026 for (Init *I : List->getValues()) { in getValueAsListOfInts()
3042 for (Init *I : List->getValues()) { in getValueAsListOfStrings()
3131 Init *Condition = Assertion.Condition->resolveReferences(R); in checkRecordAssertions()
3132 Init *Message = Assertion.Message->resolveReferences(R); in checkRecordAssertions()
3142 Init *Message = Dump.Message->resolveReferences(R); in emitRecordDumps()
3149 for (const Init *TA : getTemplateArgs()) { in checkUnusedTemplateArgs()
3178 Init *RecordKeeper::getNewAnonymousName() { in getNewAnonymousName()
3267 Init *MapResolver::resolve(Init *VarName) { in resolve()
3272 Init *I = It->second.V; in resolve()
3285 Init *RecordResolver::resolve(Init *VarName) { in resolve()
3286 Init *Val = Cache.lookup(VarName); in resolve()
3310 Init *TrackUnresolvedResolver::resolve(Init *VarName) { in resolve()
3311 Init *I = nullptr; in resolve()
3330 Init *HasReferenceResolver::resolve(Init *VarName) in resolve()