reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

Derived Classes

include/llvm/TableGen/Record.h
  425 class TypedInit : public Init {
  457 class UnsetInit : public Init {

Declarations

include/llvm/TableGen/SetTheory.h
   61 class Init;
lib/TableGen/TGParser.h
   28   class Init;
utils/TableGen/CodeGenDAGPatterns.h
   38 class Init;

References

include/llvm/ADT/ArrayRef.h
  108         const ArrayRef<U *> &A,
  110            std::is_convertible<U *const *, T const *>::value>::type * = nullptr)
  118       const SmallVectorTemplateCommon<U *, DummyT> &Vec,
  120           std::is_convertible<U *const *, T const *>::value>::type * = nullptr)
  127     ArrayRef(const std::vector<U *, A> &Vec,
  129                  std::is_convertible<U *const *, T const *>::value>::type* = 0)
include/llvm/ADT/DenseMapInfo.h
   39   static inline T* getEmptyKey() {
   41     Val <<= PointerLikeTypeTraits<T*>::NumLowBitsAvailable;
   45   static inline T* getTombstoneKey() {
   47     Val <<= PointerLikeTypeTraits<T*>::NumLowBitsAvailable;
   51   static unsigned getHashValue(const T *PtrVal) {
   56   static bool isEqual(const T *LHS, const T *RHS) { return LHS == RHS; }
   56   static bool isEqual(const T *LHS, const T *RHS) { return LHS == RHS; }
include/llvm/Support/Casting.h
   57   static inline bool doit(const From &Val) {
  104   static inline bool doit(const From *Val) {
  106     return isa_impl<To, From>::doit(*Val);
  263 inline typename cast_retty<X, Y *>::ret_type cast(Y *Val) {
  263 inline typename cast_retty<X, Y *>::ret_type cast(Y *Val) {
  265   return cast_convert_val<X, Y*,
  266                           typename simplify_type<Y*>::SimpleType>::doit(Val);
  342 LLVM_NODISCARD inline typename cast_retty<X, Y *>::ret_type dyn_cast(Y *Val) {
  342 LLVM_NODISCARD inline typename cast_retty<X, Y *>::ret_type dyn_cast(Y *Val) {
  366 LLVM_NODISCARD inline typename cast_retty<X, Y *>::ret_type
  367 dyn_cast_or_null(Y *Val) {
include/llvm/Support/PointerLikeTypeTraits.h
   56   static inline void *getAsVoidPointer(T *P) { return P; }
   57   static inline T *getFromVoidPointer(void *P) { return static_cast<T *>(P); }
   59   enum { NumLowBitsAvailable = detail::ConstantLog2<alignof(T)>::value };
include/llvm/TableGen/Record.h
  346   Init(const Init &) = delete;
  347   Init &operator=(const Init &) = delete;
  347   Init &operator=(const Init &) = delete;
  376   virtual Init *getCastTo(RecTy *Ty) const = 0;
  381   virtual Init *convertInitializerTo(RecTy *Ty) const = 0;
  387   virtual Init *convertInitializerBitRange(ArrayRef<unsigned> Bits) const {
  395   virtual Init *convertInitListSlice(ArrayRef<unsigned> Elements) const {
  410   virtual Init *resolveReferences(Resolver &R) const {
  416   virtual Init *getBit(unsigned Bit) const = 0;
  419 inline raw_ostream &operator<<(raw_ostream &OS, const Init &I) {
  425 class TypedInit : public Init {
  436   static bool classof(const Init *I) {
  443   Init *getCastTo(RecTy *Ty) const override;
  444   Init *convertInitializerTo(RecTy *Ty) const override;
  446   Init *convertInitializerBitRange(ArrayRef<unsigned> Bits) const override;
  447   Init *convertInitListSlice(ArrayRef<unsigned> Elements) const override;
  457 class UnsetInit : public Init {
  464   static bool classof(const Init *I) {
  470   Init *getCastTo(RecTy *Ty) const override;
  471   Init *convertInitializerTo(RecTy *Ty) const override;
  473   Init *getBit(unsigned Bit) const override {
  492   static bool classof(const Init *I) {
  500   Init *convertInitializerTo(RecTy *Ty) const override;
  502   Init *getBit(unsigned Bit) const override {
  514                        public TrailingObjects<BitsInit, Init *> {
  527   static bool classof(const Init *I) {
  531   static BitsInit *get(ArrayRef<Init *> Range);
  537   Init *convertInitializerTo(RecTy *Ty) const override;
  538   Init *convertInitializerBitRange(ArrayRef<unsigned> Bits) const override;
  555   Init *resolveReferences(Resolver &R) const override;
  557   Init *getBit(unsigned Bit) const override {
  559     return getTrailingObjects<Init *>()[Bit];
  574   static bool classof(const Init *I) {
  582   Init *convertInitializerTo(RecTy *Ty) const override;
  583   Init *convertInitializerBitRange(ArrayRef<unsigned> Bits) const override;
  588   Init *getBit(unsigned Bit) const override {
  604   static bool classof(const Init *I) {
  612   Init *convertInitializerTo(RecTy *Ty) const override;
  619   Init *getBit(unsigned Bit) const override {
  636   static bool classof(const Init *I) {
  645   Init *convertInitializerTo(RecTy *Ty) const override;
  654   Init *getBit(unsigned Bit) const override {
  662                        public TrailingObjects<ListInit, Init *> {
  666   using const_iterator = Init *const *;
  679   static bool classof(const Init *I) {
  682   static ListInit *get(ArrayRef<Init *> Range, RecTy *EltTy);
  686   Init *getElement(unsigned i) const {
  688     return getTrailingObjects<Init *>()[i];
  696   Init *convertInitListSlice(ArrayRef<unsigned> Elements) const override;
  698   Init *convertInitializerTo(RecTy *Ty) const override;
  705   Init *resolveReferences(Resolver &R) const override;
  710   ArrayRef<Init*> getValues() const {
  711     return makeArrayRef(getTrailingObjects<Init *>(), NumValues);
  714   const_iterator begin() const { return getTrailingObjects<Init *>(); }
  720   Init *getBit(unsigned Bit) const override {
  736   static bool classof(const Init *I) {
  742   virtual OpInit *clone(ArrayRef<Init *> Operands) const = 0;
  745   virtual Init *getOperand(unsigned i) const = 0;
  747   Init *getBit(unsigned Bit) const override;
  757   Init *LHS;
  759   UnOpInit(UnaryOp opc, Init *lhs, RecTy *Type)
  766   static bool classof(const Init *I) {
  770   static UnOpInit *get(UnaryOp opc, Init *lhs, RecTy *Type);
  775   OpInit *clone(ArrayRef<Init *> Operands) const override {
  783   Init *getOperand(unsigned i) const override {
  789   Init *getOperand() const { return LHS; }
  793   Init *Fold(Record *CurRec, bool IsFinal = false) const;
  795   Init *resolveReferences(Resolver &R) const override;
  808   Init *LHS, *RHS;
  810   BinOpInit(BinaryOp opc, Init *lhs, Init *rhs, RecTy *Type) :
  810   BinOpInit(BinaryOp opc, Init *lhs, Init *rhs, RecTy *Type) :
  817   static bool classof(const Init *I) {
  821   static BinOpInit *get(BinaryOp opc, Init *lhs, Init *rhs,
  821   static BinOpInit *get(BinaryOp opc, Init *lhs, Init *rhs,
  823   static Init *getStrConcat(Init *lhs, Init *rhs);
  823   static Init *getStrConcat(Init *lhs, Init *rhs);
  823   static Init *getStrConcat(Init *lhs, Init *rhs);
  824   static Init *getListConcat(TypedInit *lhs, Init *rhs);
  824   static Init *getListConcat(TypedInit *lhs, Init *rhs);
  825   static Init *getListSplat(TypedInit *lhs, Init *rhs);
  825   static Init *getListSplat(TypedInit *lhs, Init *rhs);
  830   OpInit *clone(ArrayRef<Init *> Operands) const override {
  837   Init *getOperand(unsigned i) const override {
  846   Init *getLHS() const { return LHS; }
  847   Init *getRHS() const { return RHS; }
  851   Init *Fold(Record *CurRec) const;
  853   Init *resolveReferences(Resolver &R) const override;
  864   Init *LHS, *MHS, *RHS;
  866   TernOpInit(TernaryOp opc, Init *lhs, Init *mhs, Init *rhs,
  866   TernOpInit(TernaryOp opc, Init *lhs, Init *mhs, Init *rhs,
  866   TernOpInit(TernaryOp opc, Init *lhs, Init *mhs, Init *rhs,
  874   static bool classof(const Init *I) {
  878   static TernOpInit *get(TernaryOp opc, Init *lhs,
  879                          Init *mhs, Init *rhs,
  879                          Init *mhs, Init *rhs,
  885   OpInit *clone(ArrayRef<Init *> Operands) const override {
  893   Init *getOperand(unsigned i) const override {
  903   Init *getLHS() const { return LHS; }
  904   Init *getMHS() const { return MHS; }
  905   Init *getRHS() const { return RHS; }
  909   Init *Fold(Record *CurRec) const;
  915   Init *resolveReferences(Resolver &R) const override;
  924                       public TrailingObjects<CondOpInit, Init *> {
  932   size_t numTrailingObjects(OverloadToken<Init *>) const {
  940   static bool classof(const Init *I) {
  944   static CondOpInit *get(ArrayRef<Init*> C, ArrayRef<Init*> V,
  944   static CondOpInit *get(ArrayRef<Init*> C, ArrayRef<Init*> V,
  953   Init *getCond(unsigned Num) const {
  955     return getTrailingObjects<Init *>()[Num];
  958   Init *getVal(unsigned Num) const {
  960     return getTrailingObjects<Init *>()[Num+NumConds];
  963   ArrayRef<Init *> getConds() const {
  964     return makeArrayRef(getTrailingObjects<Init *>(), NumConds);
  967   ArrayRef<Init *> getVals() const {
  968     return makeArrayRef(getTrailingObjects<Init *>()+NumConds, NumConds);
  971   Init *Fold(Record *CurRec) const;
  973   Init *resolveReferences(Resolver &R) const override;
  979   using const_case_iterator = SmallVectorImpl<Init*>::const_iterator;
  980   using const_val_iterator = SmallVectorImpl<Init*>::const_iterator;
  994   Init *getBit(unsigned Bit) const override;
 1000   Init *Start;
 1001   Init *List;
 1002   Init *A;
 1003   Init *B;
 1004   Init *Expr;
 1006   FoldOpInit(Init *Start, Init *List, Init *A, Init *B, Init *Expr, RecTy *Type)
 1006   FoldOpInit(Init *Start, Init *List, Init *A, Init *B, Init *Expr, RecTy *Type)
 1006   FoldOpInit(Init *Start, Init *List, Init *A, Init *B, Init *Expr, RecTy *Type)
 1006   FoldOpInit(Init *Start, Init *List, Init *A, Init *B, Init *Expr, RecTy *Type)
 1006   FoldOpInit(Init *Start, Init *List, Init *A, Init *B, Init *Expr, RecTy *Type)
 1014   static bool classof(const Init *I) { return I->getKind() == IK_FoldOpInit; }
 1016   static FoldOpInit *get(Init *Start, Init *List, Init *A, Init *B, Init *Expr,
 1016   static FoldOpInit *get(Init *Start, Init *List, Init *A, Init *B, Init *Expr,
 1016   static FoldOpInit *get(Init *Start, Init *List, Init *A, Init *B, Init *Expr,
 1016   static FoldOpInit *get(Init *Start, Init *List, Init *A, Init *B, Init *Expr,
 1016   static FoldOpInit *get(Init *Start, Init *List, Init *A, Init *B, Init *Expr,
 1023   Init *Fold(Record *CurRec) const;
 1027   Init *resolveReferences(Resolver &R) const override;
 1029   Init *getBit(unsigned Bit) const override;
 1038   Init *Expr;
 1040   IsAOpInit(RecTy *CheckType, Init *Expr)
 1048   static bool classof(const Init *I) { return I->getKind() == IK_IsAOpInit; }
 1050   static IsAOpInit *get(RecTy *CheckType, Init *Expr);
 1056   Init *Fold() const;
 1060   Init *resolveReferences(Resolver &R) const override;
 1062   Init *getBit(unsigned Bit) const override;
 1069   Init *VarName;
 1071   explicit VarInit(Init *VN, RecTy *T)
 1078   static bool classof(const Init *I) {
 1083   static VarInit *get(Init *VN, RecTy *T);
 1086   Init *getNameInit() const { return VarName; }
 1097   Init *resolveReferences(Resolver &R) const override;
 1099   Init *getBit(unsigned Bit) const override;
 1122   static bool classof(const Init *I) {
 1128   Init *getBitVar() const { return TI; }
 1132   Init *resolveReferences(Resolver &R) const override;
 1134   Init *getBit(unsigned B) const override {
 1158   static bool classof(const Init *I) {
 1168   Init *resolveReferences(Resolver &R) const override;
 1170   Init *getBit(unsigned Bit) const override;
 1185   static bool classof(const Init *I) {
 1191   Init *convertInitializerTo(RecTy *Ty) const override;
 1202   Init *getBit(unsigned Bit) const override {
 1210                          public TrailingObjects<VarDefInit, Init *> {
 1227   static bool classof(const Init *I) {
 1230   static VarDefInit *get(Record *Class, ArrayRef<Init *> Args);
 1234   Init *resolveReferences(Resolver &R) const override;
 1235   Init *Fold() const;
 1239   Init *getArg(unsigned i) const {
 1241     return getTrailingObjects<Init *>()[i];
 1244   using const_iterator = Init *const *;
 1246   const_iterator args_begin() const { return getTrailingObjects<Init *>(); }
 1252   ArrayRef<Init *> args() const { return makeArrayRef(args_begin(), NumArgs); }
 1254   Init *getBit(unsigned Bit) const override {
 1261   Init *Rec;                // Record we are referring to
 1264   FieldInit(Init *R, StringInit *FN)
 1280   static bool classof(const Init *I) {
 1284   static FieldInit *get(Init *R, StringInit *FN);
 1286   Init *getRecord() const { return Rec; }
 1289   Init *getBit(unsigned Bit) const override;
 1291   Init *resolveReferences(Resolver &R) const override;
 1292   Init *Fold(Record *CurRec) const;
 1303                       public TrailingObjects<DagInit, Init *, StringInit *> {
 1306   Init *Val;
 1311   DagInit(Init *V, StringInit *VN, unsigned NumArgs, unsigned NumArgNames)
 1315   size_t numTrailingObjects(OverloadToken<Init *>) const { return NumArgs; }
 1321   static bool classof(const Init *I) {
 1325   static DagInit *get(Init *V, StringInit *VN, ArrayRef<Init *> ArgRange,
 1325   static DagInit *get(Init *V, StringInit *VN, ArrayRef<Init *> ArgRange,
 1327   static DagInit *get(Init *V, StringInit *VN,
 1328                       ArrayRef<std::pair<Init*, StringInit*>> Args);
 1332   Init *getOperator() const { return Val; }
 1343   Init *getArg(unsigned Num) const {
 1345     return getTrailingObjects<Init *>()[Num];
 1358   ArrayRef<Init *> getArgs() const {
 1359     return makeArrayRef(getTrailingObjects<Init *>(), NumArgs);
 1366   Init *resolveReferences(Resolver &R) const override;
 1371   using const_arg_iterator = SmallVectorImpl<Init*>::const_iterator;
 1386   Init *getBit(unsigned Bit) const override {
 1398   Init *Name;
 1400   Init *Value;
 1403   RecordVal(Init *N, RecTy *T, bool P);
 1406   Init *getNameInit() const { return Name; }
 1414   Init *getValue() const { return Value; }
 1416   bool setValue(Init *V);
 1430   Init *Name;
 1434   SmallVector<Init *, 0> TemplateArgs;
 1456   explicit Record(Init *N, ArrayRef<SMLoc> locs, RecordKeeper &records,
 1482   Init *getNameInit() const {
 1490   void setName(Init *Name);      // Also updates RecordKeeper.
 1503   ArrayRef<Init *> getTemplateArgs() const {
 1516   bool isTemplateArg(Init *Name) const {
 1517     for (Init *TA : TemplateArgs)
 1522   const RecordVal *getValue(const Init *Name) const {
 1532   RecordVal *getValue(const Init *Name) {
 1540   void addTemplateArg(Init *Name) {
 1550   void removeValue(Init *Name) {
 1624   Init *getValueInit(StringRef FieldName) const;
 1700   std::map<std::string, Init *, std::less<>> ExtraGlobals;
 1717   Init *getGlobal(StringRef Name) const {
 1738   void addExtraGlobal(StringRef Name, Init *I) {
 1745   Init *getNewAnonymousName();
 1882   virtual Init *resolve(Init *VarName) = 0;
 1882   virtual Init *resolve(Init *VarName) = 0;
 1900     Init *V;
 1904     MappedValue(Init *V, bool Resolved) : V(V), Resolved(Resolved) {}
 1907   DenseMap<Init *, MappedValue> Map;
 1912   void set(Init *Key, Init *Value) { Map[Key] = {Value, false}; }
 1912   void set(Init *Key, Init *Value) { Map[Key] = {Value, false}; }
 1914   Init *resolve(Init *VarName) override;
 1914   Init *resolve(Init *VarName) override;
 1919   DenseMap<Init *, Init *> Cache;
 1919   DenseMap<Init *, Init *> Cache;
 1920   SmallVector<Init *, 4> Stack;
 1925   Init *resolve(Init *VarName) override;
 1925   Init *resolve(Init *VarName) override;
 1942   Init *resolve(Init *VarName) override {
 1942   Init *resolve(Init *VarName) override {
 1952   DenseSet<Init *> Shadowed;
 1960   void addShadow(Init *Key) { Shadowed.insert(Key); }
 1962   Init *resolve(Init *VarName) override {
 1962   Init *resolve(Init *VarName) override {
 1981   Init *resolve(Init *VarName) override;
 1981   Init *resolve(Init *VarName) override;
 1987   Init *VarNameToTrack;
 1991   explicit HasReferenceResolver(Init *VarNameToTrack)
 1996   Init *resolve(Init *VarName) override;
 1996   Init *resolve(Init *VarName) override;
include/llvm/TableGen/SetTheory.h
  127   void evaluate(Init *Expr, RecSet &Elts, ArrayRef<SMLoc> Loc);
lib/TableGen/JSONBackend.cpp
   31   json::Value translateInit(const Init &I);
   44 json::Value JSONEmitter::translateInit(const Init &I) {
lib/TableGen/Record.cpp
  303 Init *UnsetInit::getCastTo(RecTy *Ty) const {
  307 Init *UnsetInit::convertInitializerTo(RecTy *Ty) const {
  318 Init *BitInit::convertInitializerTo(RecTy *Ty) const {
  335 ProfileBitsInit(FoldingSetNodeID &ID, ArrayRef<Init *> Range) {
  338   for (Init *I : Range)
  342 BitsInit *BitsInit::get(ArrayRef<Init *> Range) {
  352   void *Mem = Allocator.Allocate(totalSizeToAlloc<Init *>(Range.size()),
  356                           I->getTrailingObjects<Init *>());
  362   ProfileBitsInit(ID, makeArrayRef(getTrailingObjects<Init *>(), NumBits));
  365 Init *BitsInit::convertInitializerTo(RecTy *Ty) const {
  391 Init *
  393   SmallVector<Init *, 16> NewBits(Bits.size());
  415     if (Init *Bit = getBit(e-i-1))
  425 Init *BitsInit::resolveReferences(Resolver &R) const {
  427   SmallVector<Init *, 16> NewBits(getNumBits());
  429   Init *CachedBitVarRef = nullptr;
  430   Init *CachedBitVarResolved = nullptr;
  433     Init *CurBit = getBit(i);
  434     Init *NewBit = CurBit;
  478 Init *IntInit::convertInitializerTo(RecTy *Ty) const {
  494     SmallVector<Init *, 16> NewBits(BRT->getNumBits());
  504 Init *
  506   SmallVector<Init *, 16> NewBits(Bits.size());
  542 Init *StringInit::convertInitializerTo(RecTy *Ty) const {
  551 Init *CodeInit::convertInitializerTo(RecTy *Ty) const {
  561                             ArrayRef<Init *> Range,
  566   for (Init *I : Range)
  570 ListInit *ListInit::get(ArrayRef<Init *> Range, RecTy *EltTy) {
  583   void *Mem = Allocator.Allocate(totalSizeToAlloc<Init *>(Range.size()),
  587                           I->getTrailingObjects<Init *>());
  598 Init *ListInit::convertInitializerTo(RecTy *Ty) const {
  603     SmallVector<Init*, 8> Elements;
  610     for (Init *I : getValues())
  611       if (Init *CI = I->convertInitializerTo(ElementType)) {
  626 Init *ListInit::convertInitListSlice(ArrayRef<unsigned> Elements) const {
  627   SmallVector<Init*, 8> Vals;
  645 Init *ListInit::resolveReferences(Resolver &R) const {
  646   SmallVector<Init*, 8> Resolved;
  650   for (Init *CurElt : getValues()) {
  651     Init *E = CurElt->resolveReferences(R);
  662   for (Init *Element : *this) {
  672   for (Init *Element : *this) {
  680 Init *OpInit::getBit(unsigned Bit) const {
  687 ProfileUnOpInit(FoldingSetNodeID &ID, unsigned Opcode, Init *Op, RecTy *Type) {
  693 UnOpInit *UnOpInit::get(UnaryOp Opc, Init *LHS, RecTy *Type) {
  712 Init *UnOpInit::Fold(Record *CurRec, bool IsFinal) const {
  760     if (Init *NewInit = LHS->convertInitializerTo(getType()))
  795 Init *UnOpInit::resolveReferences(Resolver &R) const {
  796   Init *lhs = LHS->resolveReferences(R);
  817 ProfileBinOpInit(FoldingSetNodeID &ID, unsigned Opcode, Init *LHS, Init *RHS,
  817 ProfileBinOpInit(FoldingSetNodeID &ID, unsigned Opcode, Init *LHS, Init *RHS,
  825 BinOpInit *BinOpInit::get(BinaryOp Opc, Init *LHS,
  826                           Init *RHS, RecTy *Type) {
  852 Init *BinOpInit::getStrConcat(Init *I0, Init *I1) {
  852 Init *BinOpInit::getStrConcat(Init *I0, Init *I1) {
  852 Init *BinOpInit::getStrConcat(Init *I0, Init *I1) {
  862   SmallVector<Init *, 8> Args;
  868 Init *BinOpInit::getListConcat(TypedInit *LHS, Init *RHS) {
  868 Init *BinOpInit::getListConcat(TypedInit *LHS, Init *RHS) {
  878 Init *BinOpInit::getListSplat(TypedInit *LHS, Init *RHS) {
  878 Init *BinOpInit::getListSplat(TypedInit *LHS, Init *RHS) {
  882 Init *BinOpInit::Fold(Record *CurRec) const {
  897       SmallVector<Init*, 8> Args;
  915       SmallVector<Init *, 8> Args;
  926       SmallVector<Init *, 8> Args(Size->getValue(), Value);
 1010 Init *BinOpInit::resolveReferences(Resolver &R) const {
 1011   Init *lhs = LHS->resolveReferences(R);
 1012   Init *rhs = RHS->resolveReferences(R);
 1045 ProfileTernOpInit(FoldingSetNodeID &ID, unsigned Opcode, Init *LHS, Init *MHS,
 1045 ProfileTernOpInit(FoldingSetNodeID &ID, unsigned Opcode, Init *LHS, Init *MHS,
 1046                   Init *RHS, RecTy *Type) {
 1054 TernOpInit *TernOpInit::get(TernaryOp Opc, Init *LHS, Init *MHS, Init *RHS,
 1054 TernOpInit *TernOpInit::get(TernaryOp Opc, Init *LHS, Init *MHS, Init *RHS,
 1054 TernOpInit *TernOpInit::get(TernaryOp Opc, Init *LHS, Init *MHS, Init *RHS,
 1074 static Init *ForeachApply(Init *LHS, Init *MHSe, Init *RHS, Record *CurRec) {
 1074 static Init *ForeachApply(Init *LHS, Init *MHSe, Init *RHS, Record *CurRec) {
 1074 static Init *ForeachApply(Init *LHS, Init *MHSe, Init *RHS, Record *CurRec) {
 1074 static Init *ForeachApply(Init *LHS, Init *MHSe, Init *RHS, Record *CurRec) {
 1080 static Init *ForeachDagApply(Init *LHS, DagInit *MHSd, Init *RHS,
 1080 static Init *ForeachDagApply(Init *LHS, DagInit *MHSd, Init *RHS,
 1080 static Init *ForeachDagApply(Init *LHS, DagInit *MHSd, Init *RHS,
 1083   Init *Val = ForeachApply(LHS, MHSd->getOperator(), RHS, CurRec);
 1087   SmallVector<std::pair<Init *, StringInit *>, 8> NewArgs;
 1089     Init *Arg = MHSd->getArg(i);
 1090     Init *NewArg;
 1109 static Init *ForeachHelper(Init *LHS, Init *MHS, Init *RHS, RecTy *Type,
 1109 static Init *ForeachHelper(Init *LHS, Init *MHS, Init *RHS, RecTy *Type,
 1109 static Init *ForeachHelper(Init *LHS, Init *MHS, Init *RHS, RecTy *Type,
 1109 static Init *ForeachHelper(Init *LHS, Init *MHS, Init *RHS, RecTy *Type,
 1115     SmallVector<Init *, 8> NewList(MHSl->begin(), MHSl->end());
 1117     for (Init *&Item : NewList) {
 1118       Init *NewItem = ForeachApply(LHS, Item, RHS, CurRec);
 1128 Init *TernOpInit::Fold(Record *CurRec) const {
 1174     if (Init *Result = ForeachHelper(LHS, MHS, RHS, getType(), CurRec))
 1199       SmallVector<std::pair<Init *, StringInit *>, 8> Children;
 1202         Init *Node = MHSl ? MHSl->getElement(i) : UnsetInit::get();
 1203         Init *Name = RHSl ? RHSl->getElement(i) : UnsetInit::get();
 1217 Init *TernOpInit::resolveReferences(Resolver &R) const {
 1218   Init *lhs = LHS->resolveReferences(R);
 1230   Init *mhs = MHS->resolveReferences(R);
 1231   Init *rhs;
 1261 static void ProfileFoldOpInit(FoldingSetNodeID &ID, Init *A, Init *B,
 1261 static void ProfileFoldOpInit(FoldingSetNodeID &ID, Init *A, Init *B,
 1262                               Init *Start, Init *List, Init *Expr,
 1262                               Init *Start, Init *List, Init *Expr,
 1262                               Init *Start, Init *List, Init *Expr,
 1272 FoldOpInit *FoldOpInit::get(Init *Start, Init *List, Init *A, Init *B,
 1272 FoldOpInit *FoldOpInit::get(Init *Start, Init *List, Init *A, Init *B,
 1272 FoldOpInit *FoldOpInit::get(Init *Start, Init *List, Init *A, Init *B,
 1272 FoldOpInit *FoldOpInit::get(Init *Start, Init *List, Init *A, Init *B,
 1273                             Init *Expr, RecTy *Type) {
 1292 Init *FoldOpInit::Fold(Record *CurRec) const {
 1294     Init *Accum = Start;
 1295     for (Init *Elt : *LI) {
 1306 Init *FoldOpInit::resolveReferences(Resolver &R) const {
 1307   Init *NewStart = Start->resolveReferences(R);
 1308   Init *NewList = List->resolveReferences(R);
 1312   Init *NewExpr = Expr->resolveReferences(SR);
 1321 Init *FoldOpInit::getBit(unsigned Bit) const {
 1333                              Init *Expr) {
 1338 IsAOpInit *IsAOpInit::get(RecTy *CheckType, Init *Expr) {
 1357 Init *IsAOpInit::Fold() const {
 1377 Init *IsAOpInit::resolveReferences(Resolver &R) const {
 1378   Init *NewExpr = Expr->resolveReferences(R);
 1384 Init *IsAOpInit::getBit(unsigned Bit) const {
 1404 Init *
 1416 Init *TypedInit::convertInitializerBitRange(ArrayRef<unsigned> Bits) const {
 1421   SmallVector<Init *, 16> NewBits;
 1432 Init *TypedInit::getCastTo(RecTy *Ty) const {
 1437   if (Init *Converted = convertInitializerTo(Ty)) {
 1450 Init *TypedInit::convertInitListSlice(ArrayRef<unsigned> Elements) const {
 1457   SmallVector<Init*, 8> ListInits;
 1467   Init *Value = StringInit::get(VN);
 1471 VarInit *VarInit::get(Init *VN, RecTy *T) {
 1472   using Key = std::pair<RecTy *, Init *>;
 1488 Init *VarInit::getBit(unsigned Bit) const {
 1494 Init *VarInit::resolveReferences(Resolver &R) const {
 1495   if (Init *Val = R.resolve(VarName))
 1516 Init *VarBitInit::resolveReferences(Resolver &R) const {
 1517   Init *I = TI->resolveReferences(R);
 1540 Init *VarListElementInit::resolveReferences(Resolver &R) const {
 1541   Init *NewTI = TI->resolveReferences(R);
 1553 Init *VarListElementInit::getBit(unsigned Bit) const {
 1566 Init *DefInit::convertInitializerTo(RecTy *Ty) const {
 1585                               ArrayRef<Init *> Args) {
 1589   for (Init *I : Args)
 1593 VarDefInit *VarDefInit::get(Record *Class, ArrayRef<Init *> Args) {
 1603   void *Mem = Allocator.Allocate(totalSizeToAlloc<Init *>(Args.size()),
 1607                           I->getTrailingObjects<Init *>());
 1629     ArrayRef<Init *> TArgs = Class->getTemplateArgs();
 1662 Init *VarDefInit::resolveReferences(Resolver &R) const {
 1665   SmallVector<Init *, 8> NewArgs;
 1668   for (Init *Arg : args()) {
 1669     Init *NewArg = Arg->resolveReferences(UR);
 1683 Init *VarDefInit::Fold() const {
 1688   for (Init *Arg : args())
 1699   for (Init *Arg : args()) {
 1707 FieldInit *FieldInit::get(Init *R, StringInit *FN) {
 1708   using Key = std::pair<Init *, StringInit *>;
 1718 Init *FieldInit::getBit(unsigned Bit) const {
 1724 Init *FieldInit::resolveReferences(Resolver &R) const {
 1725   Init *NewRec = Rec->resolveReferences(R);
 1731 Init *FieldInit::Fold(Record *CurRec) const {
 1739     Init *FieldVal = Def->getValue(FieldName)->getValue();
 1747                              ArrayRef<Init *> CondRange,
 1748                              ArrayRef<Init *> ValRange,
 1753   ArrayRef<Init *>::iterator Case = CondRange.begin();
 1754   ArrayRef<Init *>::iterator Val = ValRange.begin();
 1764       makeArrayRef(getTrailingObjects<Init *>(), NumConds),
 1765       makeArrayRef(getTrailingObjects<Init *>() + NumConds, NumConds),
 1770 CondOpInit::get(ArrayRef<Init *> CondRange,
 1771                 ArrayRef<Init *> ValRange, RecTy *Ty) {
 1783   void *Mem = Allocator.Allocate(totalSizeToAlloc<Init *>(2*CondRange.size()),
 1788                           I->getTrailingObjects<Init *>());
 1790                           I->getTrailingObjects<Init *>()+CondRange.size());
 1795 Init *CondOpInit::resolveReferences(Resolver &R) const {
 1796   SmallVector<Init*, 4> NewConds;
 1798   for (const Init *Case : getConds()) {
 1799     Init *NewCase = Case->resolveReferences(R);
 1804   SmallVector<Init*, 4> NewVals;
 1805   for (const Init *Val : getVals()) {
 1806     Init *NewVal = Val->resolveReferences(R);
 1818 Init *CondOpInit::Fold(Record *CurRec) const {
 1820     Init *Cond = getCond(i);
 1821     Init *Val = getVal(i);
 1839   for (const Init *Case : getConds())
 1843   for (const Init *Val : getVals())
 1851   for (const Init *Case : getConds())
 1855   for (const Init *Val : getVals())
 1873 Init *CondOpInit::getBit(unsigned Bit) const {
 1877 static void ProfileDagInit(FoldingSetNodeID &ID, Init *V, StringInit *VN,
 1878                            ArrayRef<Init *> ArgRange,
 1883   ArrayRef<Init *>::iterator Arg = ArgRange.begin();
 1894 DagInit::get(Init *V, StringInit *VN, ArrayRef<Init *> ArgRange,
 1894 DagInit::get(Init *V, StringInit *VN, ArrayRef<Init *> ArgRange,
 1905   void *Mem = Allocator.Allocate(totalSizeToAlloc<Init *, StringInit *>(ArgRange.size(), NameRange.size()), alignof(BitsInit));
 1908                           I->getTrailingObjects<Init *>());
 1916 DagInit::get(Init *V, StringInit *VN,
 1917              ArrayRef<std::pair<Init*, StringInit*>> args) {
 1918   SmallVector<Init *, 8> Args;
 1930   ProfileDagInit(ID, Val, ValName, makeArrayRef(getTrailingObjects<Init *>(), NumArgs), makeArrayRef(getTrailingObjects<StringInit *>(), NumArgNames));
 1940 Init *DagInit::resolveReferences(Resolver &R) const {
 1941   SmallVector<Init*, 8> NewArgs;
 1944   for (const Init *Arg : getArgs()) {
 1945     Init *NewArg = Arg->resolveReferences(R);
 1950   Init *Op = Val->resolveReferences(R);
 1960   for (const Init *Elt : getArgs()) {
 1986 RecordVal::RecordVal(Init *N, RecTy *T, bool P)
 1996 bool RecordVal::setValue(Init *V) {
 2004           SmallVector<Init *, 64> Bits;
 2054 void Record::setName(Init *NewName) {
 2085     if (Init *V = Value.getValue()) {
 2086       Init *VR = V->resolveReferences(R);
 2102   Init *OldName = getNameInit();
 2103   Init *NewName = Name->resolveReferences(R);
 2128   ArrayRef<Init *> TArgs = R.getTemplateArgs();
 2132     for (const Init *TA : TArgs) {
 2161 Init *Record::getValueInit(StringRef FieldName) const {
 2212   for (Init *I : List->getValues()) {
 2240   for (Init *I : List->getValues()) {
 2256   for (Init *I : List->getValues()) {
 2353 Init *RecordKeeper::getNewAnonymousName() {
 2371 Init *MapResolver::resolve(Init *VarName) {
 2371 Init *MapResolver::resolve(Init *VarName) {
 2376   Init *I = It->second.V;
 2389 Init *RecordResolver::resolve(Init *VarName) {
 2389 Init *RecordResolver::resolve(Init *VarName) {
 2390   Init *Val = Cache.lookup(VarName);
 2394   for (Init *S : Stack) {
 2412 Init *TrackUnresolvedResolver::resolve(Init *VarName) {
 2412 Init *TrackUnresolvedResolver::resolve(Init *VarName) {
 2413   Init *I = nullptr;
 2432 Init *HasReferenceResolver::resolve(Init *VarName)
 2432 Init *HasReferenceResolver::resolve(Init *VarName)
lib/TableGen/SetTheory.cpp
  282 void SetTheory::evaluate(Init *Expr, RecSet &Elts, ArrayRef<SMLoc> Loc) {
lib/TableGen/TGParser.cpp
   39   SmallVector<Init*, 4> TemplateArgs;
   49   SmallVector<Init*, 4> TemplateArgs;
   64   for (Init *TA : TemplateArgs)
   74     Init *Bit = BV->getBit(i);
   99     if (Init *V = RV.getValue()) {
  114 static Init *QualifyName(Record &CurRec, MultiClass *CurMultiClass,
  115                         Init *Name, StringRef Scoper) {
  116   Init *NewName =
  120     Init *Prefix = BinOpInit::getStrConcat(CurMultiClass->Rec.getNameInit(),
  131 static Init *QualifiedNameOfImplicitName(Record &Rec,
  136 static Init *QualifiedNameOfImplicitName(MultiClass *MC) {
  159 bool TGParser::SetValue(Record *CurRec, SMLoc Loc, Init *ValName,
  160                         ArrayRef<unsigned> BitList, Init *V,
  189     Init *BI = V->getCastTo(BitsRecTy::get(BitList.size()));
  193     SmallVector<Init *, 16> NewBits(CurVal->getNumBits());
  235   ArrayRef<Init *> TArgs = SC->getTemplateArgs();
  264   Init *Name;
  310   ArrayRef<Init *> SMCTArgs = SMC->Rec.getTemplateArgs();
  322       Init *Default = SMC->Rec.getValue(SMCTArgs[i])->getValue();
  377   Init *List = Loop.ListValue->resolveReferences(R);
  494 Init *TGParser::ParseObjectName(MultiClass *CurMultiClass) {
  511   Init *Name = ParseValue(CurRec, StringRecTy::get(), ParseNameMode);
  516     Init *NameStr = QualifiedNameOfImplicitName(CurMultiClass);
  671   Init *CurVal = FirstItem;
  692     Init *I_End = ParseValue(nullptr);
  847 Init *TGParser::ParseIDValue(Record *CurRec, StringInit *Name, SMLoc NameLoc,
  855     Init *TemplateArgName;
  882   if (Init *I = Records.getGlobal(Name->getValue()))
  899 Init *TGParser::ParseOperation(Record *CurRec, RecTy *ItemType) {
  951     Init *LHS = ParseValue(CurRec);
  987           Init *Item = LHSl->getElement(0);
 1029     Init *LHS = ParseValue(CurRec);
 1142     SmallVector<Init*, 2> InitList;
 1240         Init *RHS = InitList.pop_back_val();
 1267     Init *LHS = StringInit::get(Lex.getCurStrVal());
 1282     Init *MHS = ParseValue(CurRec);
 1338     Init *RHS = ParseValue(ParseRec, OutEltType);
 1393     Init *LHS = ParseValue(CurRec);
 1403     Init *MHS = ParseValue(CurRec, ItemType);
 1414     Init *RHS = ParseValue(CurRec, ItemType);
 1518     Init *StartUntyped = ParseValue(CurRec);
 1535     Init *ListUntyped = ParseValue(CurRec);
 1563     Init *A = StringInit::get(Lex.getCurStrVal());
 1581     Init *B = StringInit::get(Lex.getCurStrVal());
 1606     Init *ExprUntyped = ParseValue(ParseRec);
 1667 Init *TGParser::ParseOperationCond(Record *CurRec, RecTy *ItemType) {
 1677   SmallVector<Init *, 4> Case;
 1678   SmallVector<Init *, 4> Val;
 1685     Init *V = ParseValue(CurRec);
 1720   for (Init *V : Val) {
 1773 Init *TGParser::ParseSimpleValue(Record *CurRec, RecTy *ItemType,
 1775   Init *R = nullptr;
 1786     SmallVector<Init*, 16> Bits(BinaryVal.second);
 1835     SmallVector<Init *, 8> Args;
 1846     ArrayRef<Init *> ExpectedArgs = Class->getTemplateArgs();
 1882     SmallVector<Init*, 16> Vals;
 1894     SmallVector<Init *, 16> NewBits;
 1919       Init *Bit = Vals[i]->getCastTo(BitRecTy::get());
 1932     SmallVector<Init*, 16> Vals;
 1978     for (Init *V : Vals) {
 2032     Init *Operator = ParseValue(CurRec);
 2046     SmallVector<std::pair<llvm::Init*, StringInit*>, 8> DagArgs;
 2104 Init *TGParser::ParseValue(Record *CurRec, RecTy *ItemType, IDParseMode Mode) {
 2105   Init *Result = ParseSimpleValue(CurRec, ItemType, Mode);
 2195           Init *RHSResult = ParseValue(CurRec, ItemType, ParseNameMode);
 2231         Init *RHSResult = ParseValue(CurRec, nullptr, ParseNameMode);
 2266     SmallVectorImpl<std::pair<llvm::Init*, StringInit*>> &Result,
 2278       Init *Val = ParseValue(CurRec);
 2309 void TGParser::ParseValueList(SmallVectorImpl<Init*> &Result, Record *CurRec,
 2314     ArrayRef<Init *> TArgs = ArgsRec->getTemplateArgs();
 2343       ArrayRef<Init *> TArgs = ArgsRec->getTemplateArgs();
 2372 Init *TGParser::ParseDeclaration(Record *CurRec,
 2393   Init *DeclName = StringInit::get(Str);
 2414     Init *Val = ParseValue(CurRec, Type);
 2434 VarInit *TGParser::ParseForeachDeclaration(Init *&ForeachListValue) {
 2440   Init *DeclName = StringInit::get(Lex.getCurStrVal());
 2467     Init *I = ParseValue(nullptr);
 2500     std::vector<Init*> Values;
 2526   Init *TemplArg = ParseDeclaration(CurRec, true/*templateargs*/);
 2592   Init *Val = ParseValue(CurRec, Type);
 2700   Init *Name = ParseObjectName(CurMultiClass);
 2776   Init *ListValue = nullptr;
 2885     Init *Val = ParseValue(nullptr);
 3043   Init *DefmName = ParseObjectName(CurMultiClass);
 3078     ArrayRef<Init*> TemplateVals = Ref.TemplateArgs;
 3081     ArrayRef<Init *> TArgs = MC->Rec.getTemplateArgs();
 3091         Init *Default = MC->Rec.getValue(TArgs[i])->getValue();
lib/TableGen/TGParser.h
   37     Init *Value;
   39     LetRecord(StringInit *N, ArrayRef<unsigned> B, Init *V, SMLoc L)
   62     Init *ListValue;
   67     ForeachLoop(SMLoc Loc, VarInit *IVar, Init *LValue)
   74     SmallVector<Init *, 16> Elements;
  138   bool SetValue(Record *TheRec, SMLoc Loc, Init *ValName,
  139                 ArrayRef<unsigned> BitList, Init *V,
  146   using SubstStack = SmallVector<std::pair<Init *, Init *>, 8>;
  146   using SubstStack = SmallVector<std::pair<Init *, Init *>, 8>;
  173   Init *ParseDeclaration(Record *CurRec, bool ParsingTemplateArgs);
  174   VarInit *ParseForeachDeclaration(Init *&ForeachListValue);
  179   Init *ParseIDValue(Record *CurRec, StringInit *Name, SMLoc NameLoc,
  181   Init *ParseSimpleValue(Record *CurRec, RecTy *ItemType = nullptr,
  183   Init *ParseValue(Record *CurRec, RecTy *ItemType = nullptr,
  185   void ParseValueList(SmallVectorImpl<llvm::Init*> &Result, Record *CurRec,
  188       SmallVectorImpl<std::pair<llvm::Init*, StringInit*>> &Result,
  196   Init *ParseOperation(Record *CurRec, RecTy *ItemType);
  197   Init *ParseOperationCond(Record *CurRec, RecTy *ItemType);
  199   Init *ParseObjectName(MultiClass *CurMultiClass);
tools/clang/utils/TableGen/MveEmitter.cpp
  889   const Type *getType(Init *I, const Type *Param);
  911 const Type *MveEmitter::getType(Init *I, const Type *Param) {
 1051   Init *Arg = D->getArg(ArgNum);
 1131     Init *TypeInit = ArgsDag->getArg(i);
tools/clang/utils/TableGen/NeonEmitter.cpp
  504     std::pair<Type, std::string> emitDagArg(Init *Arg, std::string ArgName);
 1498   for (auto *I : Body->getValues()) {
 1893 Intrinsic::DagEmitter::emitDagArg(Init *Arg, std::string ArgName) {
usr/include/c++/7.4.0/type_traits
 1983     { typedef _Up     type; };
utils/TableGen/AsmMatcherEmitter.cpp
 1311     Init *DiagnosticType = Def->getValueInit("DiagnosticType");
 1315     Init *DiagnosticString = Def->getValueInit("DiagnosticString");
 1362     for (Init *I : Supers->getValues()) {
 1380     Init *PMName = Rec->getValueInit("PredicateMethod");
 1389     Init *RMName = Rec->getValueInit("RenderMethod");
 1398     Init *PRMName = Rec->getValueInit("ParserMethod");
 1403     Init *DiagnosticType = Rec->getValueInit("DiagnosticType");
 1406     Init *DiagnosticString = Rec->getValueInit("DiagnosticString");
 1414     Init *IsOptional = Rec->getValueInit("IsOptional");
 1419     Init *DMName = Rec->getValueInit("DefaultMethod");
utils/TableGen/AsmWriterEmitter.cpp
 1120       Init *MCOpPred = MCOpPredicates[i]->getValueInit("MCOperandPredicate");
utils/TableGen/CodeGenDAGPatterns.cpp
  971       for (Init *Val : AddressSpaces->getValues()) {
 1770     for (Init *I : LI->getValues()) {
 1930       Init *Val = Child->getLeafValue();
 2659   for (Init *I : RawPat->getValues())
 2698 TreePatternNodePtr TreePattern::ParseTreePattern(Init *TheInit,
 2744     Init *II = BI->convertInitializerTo(IntRecTy::get());
 3196   Init *SomeSDNode = DefInit::get(SDNodes.begin()->first);
 3203     std::vector<std::pair<Init*, StringInit*> > Ops;
 3562   for (Init *I : LI->getValues()) {
 3862   for (Init *I : L->getValues()) {
utils/TableGen/CodeGenDAGPatterns.h
  647   Init *Val;
  674   TreePatternNode(Init *val, unsigned NumResults)    // leaf ctor
  723   Init *getLeafValue() const { assert(isLeaf()); return Val; }
  978   TreePatternNodePtr ParseTreePattern(Init *DI, StringRef OpName);
utils/TableGen/CodeGenInstruction.cpp
   60     Init *ArgInit;
  531   Init *Arg = Result->getArg(AliasOpNo);
utils/TableGen/CodeGenMapTable.cpp
   84 typedef std::map<std::vector<Init*>, std::vector<Record*> > RowInstrMapTy;
  134     for (Init *I : ColValList->getValues()) {
  242     std::vector<Init*> KeyValue;
  244     for (Init *RowField : RowFields->getValues()) {
  250       Init *CurInstrVal = RecVal->getValue();
  314   std::vector<Init*> KeyValue;
  317   for (Init *RowField : RowFields->getValues()) {
  318     Init *KeyInstrVal = KeyInstr->getValue(RowField)->getValue();
  336       Init *ColFieldJ = ColFields->getElement(j);
  337       Init *CurInstrInit = CurInstr->getValue(ColFieldJ)->getValue();
  339       Init *ColFieldJVallue = CurValueCol->getElement(j);
  348         for (Init *Value : KeyValue) {
  491     for (Init *CF : ColFields->getValues()) {
  512   std::map<std::string, std::vector<Init*> > ColFieldValueMap;
  541     std::vector<Init*> FieldValues = Entry.second;
  545       Init *CurVal = FieldValues[i];
utils/TableGen/CodeGenRegisters.cpp
  649       std::vector<Init*> Tuple;
utils/TableGen/CodeGenSchedule.cpp
   89     for (Init *Arg : make_range(Expr->arg_begin(), Expr->arg_end())) {
utils/TableGen/CodeGenTarget.cpp
  492     SmallVector<Init *, 16> NewBits(numBits);
  496       Init *OrigBit = BI->getBit(bit);
  497       Init *BitSwap = BI->getBit(bitSwapIdx);
utils/TableGen/FixedLenDecoderEmitter.cpp
 1825   std::vector<std::pair<Init*, StringRef>> InOutOperands;
 1945         Init *Arg = CGI.Operands[SO.first].MIOperandInfo->
utils/TableGen/GICombinerEmitter.cpp
   96 static bool isSpecificDef(const Init &N, StringRef Def) {
  107 static Record *getDefOfSubClass(const Init &N, StringRef Cls) {
utils/TableGen/GlobalISelEmitter.cpp
  240       for (Init *Val : AddrSpaces->getValues()) {
  374 static Record *getInitValueAsRegClass(Init *V) {
 3475     Init *SrcInit = Src->getLeafValue();
 3518         for (Init *Val : AddrSpaces->getValues()) {
 3666     Init *SrcInit = Src->getLeafValue();
 4353   for (const auto *DefaultOp : DefaultOps->getArgs()) {
utils/TableGen/InstrInfoEmitter.cpp
  383           for (Init *Arg : make_range(MIOI->arg_begin(), MIOI->arg_end())) {
utils/TableGen/OptParserEmitter.cpp
  261     for (Init *I : *LI)
  265       for (Init *I : *GroupFlags)
utils/TableGen/RISCVCompressInstEmitter.cpp
  279 static bool validateArgsTypes(Init *Arg1, Init *Arg2) {
  279 static bool validateArgsTypes(Init *Arg1, Init *Arg2) {
  751       Init *MCOpPred = MCOpPredicates[i]->getValueInit("MCOperandPredicate");
utils/TableGen/SearchableTableEmitter.cpp
   36 int getAsInt(Init *B) {
   90   DenseMap<Init *, std::unique_ptr<CodeGenIntrinsic>> Intrinsics;
  101   typedef std::pair<Init *, int> SearchTableEntry;
  109   std::string primaryRepresentation(const GenericField &Field, Init *I) {
  128   bool isIntrinsic(Init *I) {
  134   CodeGenIntrinsic &getIntrinsic(Init *I) {
  143   bool isIntegral(Init *I) {
  180   bool parseFieldType(GenericField &Field, Init *II);
  211     Init *LHSI = LHS->getValueInit(Field.Name);
  212     Init *RHSI = RHS->getValueInit(Field.Name);
  527 bool SearchableTableEmitter::parseFieldType(GenericField &Field, Init *II) {