• Home
  • History
  • Annotate
  • Raw
  • Download

Lines Matching refs:OS

25 void SubtargetEmitter::Enumeration(raw_ostream &OS,  in Enumeration()  argument
40 OS << "namespace " << Target << " {\n"; in Enumeration()
43 OS << "enum {\n"; in Enumeration()
51 OS << " " << Def->getName(); in Enumeration()
54 if (isBits) OS << " = " << " 1ULL << " << i; in Enumeration()
57 if (++i < N) OS << ","; in Enumeration()
59 OS << "\n"; in Enumeration()
63 OS << "};\n"; in Enumeration()
65 OS << "}\n"; in Enumeration()
72 unsigned SubtargetEmitter::FeatureKeyValues(raw_ostream &OS) { in FeatureKeyValues() argument
83 OS << "// Sorted (by key) array of values for CPU features.\n" in FeatureKeyValues()
99 OS << " { " in FeatureKeyValues()
108 OS << "0ULL"; in FeatureKeyValues()
111 OS << Target << "::" << ImpliesList[j]->getName(); in FeatureKeyValues()
112 if (++j < M) OS << " | "; in FeatureKeyValues()
116 OS << " }"; in FeatureKeyValues()
120 if ((i + 1) < N) OS << ","; in FeatureKeyValues()
122 OS << "\n"; in FeatureKeyValues()
126 OS << "};\n"; in FeatureKeyValues()
135 unsigned SubtargetEmitter::CPUKeyValues(raw_ostream &OS) { in CPUKeyValues() argument
142 OS << "// Sorted (by key) array of values for CPU subtype.\n" in CPUKeyValues()
155 OS << " { " in CPUKeyValues()
160 OS << "0ULL"; in CPUKeyValues()
163 OS << Target << "::" << FeatureList[j]->getName(); in CPUKeyValues()
164 if (++j < M) OS << " | "; in CPUKeyValues()
169 OS << ", 0ULL }"; in CPUKeyValues()
172 if (++i < N) OS << ","; in CPUKeyValues()
174 OS << "\n"; in CPUKeyValues()
178 OS << "};\n"; in CPUKeyValues()
188 CollectAllItinClasses(raw_ostream &OS, in CollectAllItinClasses() argument
294 void SubtargetEmitter::EmitStageAndOperandCycleData(raw_ostream &OS, in EmitStageAndOperandCycleData() argument
316 OS << "\n// Functional units for itineraries \"" << Name << "\"\n" in EmitStageAndOperandCycleData()
320 OS << " const unsigned " << FUs[j]->getName() in EmitStageAndOperandCycleData()
323 OS << "}\n"; in EmitStageAndOperandCycleData()
327 OS << "\n// Pipeline forwarding pathes for itineraries \"" << Name in EmitStageAndOperandCycleData()
330 OS << " unsigned NoBypass = 0;\n"; in EmitStageAndOperandCycleData()
332 OS << " unsigned " << BPs[j]->getName() in EmitStageAndOperandCycleData()
335 OS << "}\n"; in EmitStageAndOperandCycleData()
460 OS << StageTable; in EmitStageAndOperandCycleData()
461 OS << OperandCycleTable; in EmitStageAndOperandCycleData()
462 OS << BypassTable; in EmitStageAndOperandCycleData()
469 EmitProcessorData(raw_ostream &OS, in EmitProcessorData() argument
490 OS << "\n"; in EmitProcessorData()
491 OS << "llvm::InstrItinerary " << Name << "[] = {\n"; in EmitProcessorData()
502 OS << " { 1, 0, 0, 0, 0 }"; in EmitProcessorData()
504 OS << " { " << in EmitProcessorData()
512 OS << ", // " << j << " " << ItinClassList[j]->getName() << "\n"; in EmitProcessorData()
516 OS << " { 1, ~0U, ~0U, ~0U, ~0U } // end marker\n"; in EmitProcessorData()
517 OS << "};\n"; in EmitProcessorData()
524 void SubtargetEmitter::EmitProcessorLookup(raw_ostream &OS) { in EmitProcessorLookup() argument
531 OS << "\n"; in EmitProcessorLookup()
532 OS << "// Sorted (by key) array of itineraries for CPU subtype.\n" in EmitProcessorLookup()
546 OS << " { " in EmitProcessorLookup()
550 OS << " }"; in EmitProcessorLookup()
553 if (++i < N) OS << ","; in EmitProcessorLookup()
555 OS << "\n"; in EmitProcessorLookup()
559 OS << "};\n"; in EmitProcessorLookup()
565 void SubtargetEmitter::EmitData(raw_ostream &OS) { in EmitData() argument
573 unsigned NItinClasses = CollectAllItinClasses(OS, ItinClassesMap, in EmitData()
581 EmitStageAndOperandCycleData(OS, NItinClasses, ItinClassesMap, in EmitData()
584 EmitProcessorData(OS, ItinClassList, ProcList); in EmitData()
586 EmitProcessorLookup(OS); in EmitData()
594 void SubtargetEmitter::ParseFeaturesFunction(raw_ostream &OS, in ParseFeaturesFunction() argument
601 OS << "// ParseSubtargetFeatures - Parses features string setting specified\n" in ParseFeaturesFunction()
604 OS << Target; in ParseFeaturesFunction()
605 OS << "Subtarget::ParseSubtargetFeatures(StringRef CPU, StringRef FS) {\n" in ParseFeaturesFunction()
610 OS << "}\n"; in ParseFeaturesFunction()
614 OS << " uint64_t Bits = ReInitMCSubtargetInfo(CPU, FS);\n"; in ParseFeaturesFunction()
624 OS << " if ((Bits & " << Target << "::" in ParseFeaturesFunction()
628 OS << " if ((Bits & " << Target << "::" in ParseFeaturesFunction()
634 OS << "}\n"; in ParseFeaturesFunction()
640 void SubtargetEmitter::run(raw_ostream &OS) { in run() argument
643 EmitSourceFileHeader("Subtarget Enumeration Source Fragment", OS); in run()
645 OS << "\n#ifdef GET_SUBTARGETINFO_ENUM\n"; in run()
646 OS << "#undef GET_SUBTARGETINFO_ENUM\n"; in run()
648 OS << "namespace llvm {\n"; in run()
649 Enumeration(OS, "SubtargetFeature", true); in run()
650 OS << "} // End llvm namespace \n"; in run()
651 OS << "#endif // GET_SUBTARGETINFO_ENUM\n\n"; in run()
653 OS << "\n#ifdef GET_SUBTARGETINFO_MC_DESC\n"; in run()
654 OS << "#undef GET_SUBTARGETINFO_MC_DESC\n"; in run()
656 OS << "namespace llvm {\n"; in run()
658 OS << "namespace {\n"; in run()
660 unsigned NumFeatures = FeatureKeyValues(OS); in run()
661 OS << "\n"; in run()
662 unsigned NumProcs = CPUKeyValues(OS); in run()
663 OS << "\n"; in run()
664 EmitData(OS); in run()
665 OS << "\n"; in run()
667 OS << "}\n"; in run()
671 OS << "static inline void Init" << Target in run()
674 OS << " II->InitMCSubtargetInfo(TT, CPU, FS, "; in run()
676 OS << Target << "FeatureKV, "; in run()
678 OS << "0, "; in run()
680 OS << Target << "SubTypeKV, "; in run()
682 OS << "0, "; in run()
684 OS << Target << "ProcItinKV, " in run()
689 OS << "0, 0, 0, 0, "; in run()
690 OS << NumFeatures << ", " << NumProcs << ");\n}\n\n"; in run()
692 OS << "} // End llvm namespace \n"; in run()
694 OS << "#endif // GET_SUBTARGETINFO_MC_DESC\n\n"; in run()
696 OS << "\n#ifdef GET_SUBTARGETINFO_TARGET_DESC\n"; in run()
697 OS << "#undef GET_SUBTARGETINFO_TARGET_DESC\n"; in run()
699 OS << "#include \"llvm/Support/Debug.h\"\n"; in run()
700 OS << "#include \"llvm/Support/raw_ostream.h\"\n"; in run()
701 ParseFeaturesFunction(OS, NumFeatures, NumProcs); in run()
703 OS << "#endif // GET_SUBTARGETINFO_TARGET_DESC\n\n"; in run()
706 OS << "\n#ifdef GET_SUBTARGETINFO_HEADER\n"; in run()
707 OS << "#undef GET_SUBTARGETINFO_HEADER\n"; in run()
710 OS << "namespace llvm {\n"; in run()
711 OS << "struct " << ClassName << " : public TargetSubtargetInfo {\n" in run()
715 OS << "} // End llvm namespace \n"; in run()
717 OS << "#endif // GET_SUBTARGETINFO_HEADER\n\n"; in run()
719 OS << "\n#ifdef GET_SUBTARGETINFO_CTOR\n"; in run()
720 OS << "#undef GET_SUBTARGETINFO_CTOR\n"; in run()
722 OS << "namespace llvm {\n"; in run()
723 OS << "extern llvm::SubtargetFeatureKV " << Target << "FeatureKV[];\n"; in run()
724 OS << "extern llvm::SubtargetFeatureKV " << Target << "SubTypeKV[];\n"; in run()
726 OS << "extern llvm::SubtargetInfoKV " << Target << "ProcItinKV[];\n"; in run()
727 OS << "extern llvm::InstrStage " << Target << "Stages[];\n"; in run()
728 OS << "extern unsigned " << Target << "OperandCycles[];\n"; in run()
729 OS << "extern unsigned " << Target << "ForwardingPathes[];\n"; in run()
732 OS << ClassName << "::" << ClassName << "(StringRef TT, StringRef CPU, " in run()
737 OS << Target << "FeatureKV, "; in run()
739 OS << "0, "; in run()
741 OS << Target << "SubTypeKV, "; in run()
743 OS << "0, "; in run()
745 OS << Target << "ProcItinKV, " in run()
750 OS << "0, 0, 0, 0, "; in run()
751 OS << NumFeatures << ", " << NumProcs << ");\n}\n\n"; in run()
752 OS << "} // End llvm namespace \n"; in run()
754 OS << "#endif // GET_SUBTARGETINFO_CTOR\n\n"; in run()