Lines Matching +full:auto +full:- +full:detected
1 //===- VTEmitter.cpp - Generate properties from ValueTypes.td -------------===//
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
7 //===----------------------------------------------------------------------===//
33 bool IsVector = VT->getValueAsBit("isVector"); in VTtoGetLLVMTyString()
35 OS << (VT->getValueAsBit("isScalable") ? "Scalable" : "Fixed") in VTtoGetLLVMTyString()
38 auto OutputVT = IsVector ? VT->getValueAsDef("ElementType") : VT; in VTtoGetLLVMTyString()
39 int64_t OutputVTSize = OutputVT->getValueAsInt("Size"); in VTtoGetLLVMTyString()
41 if (OutputVT->getValueAsBit("isFP")) { in VTtoGetLLVMTyString()
43 auto OutputVTName = OutputVT->getValueAsString("LLVMName"); in VTtoGetLLVMTyString()
64 } else if (OutputVT->getValueAsBit("isInteger")) { in VTtoGetLLVMTyString()
76 OS << ", " << VT->getValueAsInt("nElem") << ")"; in VTtoGetLLVMTyString()
83 auto ValueTypes = Records.getAllDerivedDefinitions("ValueType"); in run()
84 for (auto *VT : ValueTypes) { in run()
85 auto Number = VT->getValueAsInt("Value"); in run()
100 auto UpdateVTRange = [&VTRanges](const char *Key, StringRef Name, in run()
105 assert(!VTRanges[Key].Closed && "Gap detected!"); in run()
113 for (const auto *VT : VTsByNumber) { in run()
116 auto Name = VT->getValueAsString("LLVMName"); in run()
117 auto Value = VT->getValueAsInt("Value"); in run()
118 bool IsInteger = VT->getValueAsBit("isInteger"); in run()
119 bool IsFP = VT->getValueAsBit("isFP"); in run()
120 bool IsVector = VT->getValueAsBit("isVector"); in run()
121 bool IsScalable = VT->getValueAsBit("isScalable"); in run()
122 bool IsNormalValueType = VT->getValueAsBit("isNormalValueType"); in run()
123 int64_t NElem = IsVector ? VT->getValueAsInt("nElem") : 0; in run()
124 StringRef EltName = IsVector ? VT->getValueAsDef("ElementType")->getName() in run()
141 // clang-format off in run()
145 << VT->getValueAsInt("Size") << ", " in run()
146 << VT->getValueAsBit("isOverloaded") << ", " in run()
153 // clang-format on in run()
158 for (const auto &KV : VTRanges) { in run()
166 for (const auto *VT : VTsByNumber) { in run()
167 if (!VT || !VT->getValueAsBit("isVector")) in run()
169 const auto *ElTy = VT->getValueAsDef("ElementType"); in run()
171 // clang-format off in run()
173 << VT->getValueAsString("LLVMName") << ", " in run()
174 << VT->getValueAsBit("isScalable") << ", " in run()
175 << VT->getValueAsInt("nElem") << ", " in run()
176 << ElTy->getName() << ")\n"; in run()
177 // clang-format on in run()
182 for (const auto *VT : VTsByNumber) { in run()
185 bool IsInteger = VT->getValueAsBit("isInteger"); in run()
186 bool IsVector = VT->getValueAsBit("isVector"); in run()
187 bool IsFP = VT->getValueAsBit("isFP"); in run()
192 OS << " GET_VT_EVT(" << VT->getValueAsString("LLVMName") << ", "; in run()
199 static TableGen::Emitter::OptClass<VTEmitter> X("gen-vt", "Generate ValueType");