Home | History | Annotate | Download | only in TableGen

Lines Matching full:ints

29   std::vector<CodeGenIntrinsic> Ints = LoadIntrinsics(Records, TargetOnly);
31 if (TargetOnly && !Ints.empty())
32 TargetPrefix = Ints[0].TargetPrefix;
37 EmitEnumInfo(Ints, OS);
40 EmitIntrinsicToNameTable(Ints, OS);
43 EmitIntrinsicToOverloadTable(Ints, OS);
46 EmitFnNameRecognizer(Ints, OS);
49 EmitVerifier(Ints, OS);
52 EmitGenerator(Ints, OS);
55 EmitAttributes(Ints, OS);
58 EmitModRefBehavior(Ints, OS);
61 EmitGCCBuiltinList(Ints, OS);
64 EmitIntrinsicToGCCBuiltinMap(Ints, OS);
87 void IntrinsicEmitter::EmitEnumInfo(const std::vector<CodeGenIntrinsic> &Ints,
91 for (unsigned i = 0, e = Ints.size(); i != e; ++i) {
92 OS << " " << Ints[i].EnumName;
94 OS << std::string(40-Ints[i].EnumName.size(), ' ')
95 << "// " << Ints[i].Name << "\n";
101 EmitFnNameRecognizer(const std::vector<CodeGenIntrinsic> &Ints,
105 for (unsigned i = 0, e = Ints.size(); i != e; ++i)
106 IntMapping[Ints[i].Name[5]].push_back(i);
126 Ints[IntNo].EnumName + ";";
128 if (!Ints[IntNo].isOverloaded) {
129 MatchTable.push_back(std::make_pair(Ints[IntNo].Name.substr(6),Result));
134 std::string TheStr = Ints[IntNo].Name.substr(6);
150 EmitIntrinsicToNameTable(const std::vector<CodeGenIntrinsic> &Ints,
155 for (unsigned i = 0, e = Ints.size(); i != e; ++i)
156 OS << " \"" << Ints[i].Name << "\",\n";
161 EmitIntrinsicToOverloadTable(const std::vector<CodeGenIntrinsic> &Ints,
166 for (unsigned i = 0, e = Ints.size(); i != e; ++i) {
168 if (Ints[i].isOverloaded)
316 void IntrinsicEmitter::EmitVerifier(const std::vector<CodeGenIntrinsic> &Ints,
330 for (unsigned i = 0, e = Ints.size(); i != e; ++i)
331 UniqueArgInfos[make_pair(Ints[i].IS.RetTypeDefs,
332 Ints[i].IS.ParamTypeDefs)].push_back(i);
338 OS << " case Intrinsic::" << Ints[I->second[i]].EnumName << ":\t\t// "
339 << Ints[I->second[i]].Name << "\n";
412 void IntrinsicEmitter::EmitGenerator(const std::vector<CodeGenIntrinsic> &Ints,
425 for (unsigned i = 0, e = Ints.size(); i != e; ++i)
426 UniqueArgInfos[make_pair(Ints[i].IS.RetTypeDefs,
427 Ints[i].IS.ParamTypeDefs)].push_back(i);
435 OS << " case " << IntrinsicStr << Ints[I->second[i]].EnumName
436 << ":\t\t// " << Ints[I->second[i]].Name << "\n";
510 EmitAttributes(const std::vector<CodeGenIntrinsic> &Ints, raw_ostream &OS) {
520 std::vector<const CodeGenIntrinsic*> sortedIntrinsics(Ints.size());
522 for (unsigned i = 0, e = Ints.size(); i != e; ++i) {
523 const CodeGenIntrinsic &intrinsic = Ints[i];
611 EmitModRefBehavior(const std::vector<CodeGenIntrinsic> &Ints, raw_ostream &OS){
616 for (unsigned i = 0, e = Ints.size(); i != e; ++i) {
617 if (Ints[i].ModRef == CodeGenIntrinsic::ReadWriteMem)
619 OS << "case " << TargetPrefix << "Intrinsic::" << Ints[i].EnumName
621 switch (Ints[i].ModRef) {
643 EmitGCCBuiltinList(const std::vector<CodeGenIntrinsic> &Ints, raw_ostream &OS){
648 for (unsigned i = 0, e = Ints.size(); i != e; ++i) {
649 if (!Ints[i].GCCBuiltinName.empty()) {
650 OS << " case Intrinsic::" << Ints[i].EnumName << ": BuiltinName = \""
651 << Ints[i].GCCBuiltinName << "\"; break;\n";
678 EmitIntrinsicToGCCBuiltinMap(const std::vector<CodeGenIntrinsic> &Ints,
682 for (unsigned i = 0, e = Ints.size(); i != e; ++i) {
683 if (!Ints[i].GCCBuiltinName.empty()) {
685 std::map<std::string, std::string> &BIM =BuiltinMap[Ints[i].TargetPrefix];
687 if (!BIM.insert(std::make_pair(Ints[i].GCCBuiltinName,
688 Ints[i].EnumName)).second)
689 throw "Intrinsic '" + Ints[i].TheDef->getName() +