mlir.lua 6.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223
  1. function get_links(package)
  2. local links = {
  3. "MLIRAMX",
  4. "MLIRAMXToLLVMIRTranslation",
  5. "MLIRAMXTransforms",
  6. "MLIRAffine",
  7. "MLIRAffineAnalysis",
  8. "MLIRAffineBufferizableOpInterfaceImpl",
  9. "MLIRAffineToStandard",
  10. "MLIRAffineTransforms",
  11. "MLIRAffineTransformsTestPasses",
  12. "MLIRAffineUtils",
  13. "MLIRAnalysis",
  14. "MLIRArithmetic",
  15. "MLIRArithmeticToLLVM",
  16. "MLIRArithmeticToSPIRV",
  17. "MLIRArithmeticTransforms",
  18. "MLIRAsync",
  19. "MLIRAsyncToLLVM",
  20. "MLIRAsyncTransforms",
  21. "MLIRBufferization",
  22. "MLIRBufferizationToMemRef",
  23. "MLIRBufferizationTransforms",
  24. "MLIRCAPIAsync",
  25. "MLIRCAPIConversion",
  26. "MLIRCAPIDebug",
  27. "MLIRCAPIExecutionEngine",
  28. "MLIRCAPIGPU",
  29. "MLIRCAPIIR",
  30. "MLIRCAPIInterfaces",
  31. "MLIRCAPILLVM",
  32. "MLIRCAPILinalg",
  33. "MLIRCAPIPDL",
  34. "MLIRCAPIQuant",
  35. "MLIRCAPIRegistration",
  36. "MLIRCAPISCF",
  37. "MLIRCAPIShape",
  38. "MLIRCAPISparseTensor",
  39. "MLIRCAPIStandard",
  40. "MLIRCAPITensor",
  41. "MLIRCAPITransforms",
  42. "MLIRCallInterfaces",
  43. "MLIRCastInterfaces",
  44. "MLIRComplex",
  45. "MLIRComplexToLLVM",
  46. "MLIRComplexToStandard",
  47. "MLIRControlFlowInterfaces",
  48. "MLIRCopyOpInterface",
  49. "MLIRDLTI",
  50. "MLIRDLTITestPasses",
  51. "MLIRDataLayoutInterfaces",
  52. "MLIRDerivedAttributeOpInterface",
  53. "MLIRDialect",
  54. "MLIRDialectUtils",
  55. "MLIREmitC",
  56. "MLIRExecutionEngine",
  57. "MLIRGPUOps",
  58. "MLIRGPUTestPasses",
  59. "MLIRGPUToGPURuntimeTransforms",
  60. "MLIRGPUToNVVMTransforms",
  61. "MLIRGPUToROCDLTransforms",
  62. "MLIRGPUToSPIRV",
  63. "MLIRGPUToVulkanTransforms",
  64. "MLIRGPUTransforms",
  65. "MLIRIR",
  66. "MLIRInferTypeOpInterface",
  67. "MLIRJitRunner",
  68. "MLIRLLVMCommonConversion",
  69. "MLIRLLVMIR",
  70. "MLIRLLVMIRTransforms",
  71. "MLIRLLVMToLLVMIRTranslation",
  72. "MLIRLinalg",
  73. "MLIRLinalgAnalysis",
  74. "MLIRLinalgBufferizableOpInterfaceImpl",
  75. "MLIRLinalgTestPasses",
  76. "MLIRLinalgToLLVM",
  77. "MLIRLinalgToSPIRV",
  78. "MLIRLinalgToStandard",
  79. "MLIRLinalgTransforms",
  80. "MLIRLinalgUtils",
  81. "MLIRLoopLikeInterface",
  82. "MLIRLspServerLib",
  83. "MLIRMath",
  84. "MLIRMathTestPasses",
  85. "MLIRMathToLLVM",
  86. "MLIRMathToLibm",
  87. "MLIRMathToSPIRV",
  88. "MLIRMathTransforms",
  89. "MLIRMemRef",
  90. "MLIRMemRefTestPasses",
  91. "MLIRMemRefToLLVM",
  92. "MLIRMemRefToSPIRV",
  93. "MLIRMemRefTransforms",
  94. "MLIRMemRefUtils",
  95. "MLIRMlirOptMain",
  96. "MLIRModuleBufferization",
  97. "MLIRNVVMIR",
  98. "MLIRNVVMToLLVMIRTranslation",
  99. "MLIROpenACC",
  100. "MLIROpenACCToLLVM",
  101. "MLIROpenACCToLLVMIRTranslation",
  102. "MLIROpenACCToSCF",
  103. "MLIROpenMP",
  104. "MLIROpenMPToLLVM",
  105. "MLIROpenMPToLLVMIRTranslation",
  106. "MLIROptLib",
  107. "MLIRPDL",
  108. "MLIRPDLInterp",
  109. "MLIRPDLLAST",
  110. "MLIRPDLLParser",
  111. "MLIRPDLToPDLInterp",
  112. "MLIRParser",
  113. "MLIRPass",
  114. "MLIRPresburger",
  115. "MLIRQuant",
  116. "MLIRROCDLIR",
  117. "MLIRROCDLToLLVMIRTranslation",
  118. "MLIRReconcileUnrealizedCasts",
  119. "MLIRReduce",
  120. "MLIRReduceLib",
  121. "MLIRRewrite",
  122. "MLIRSCF",
  123. "MLIRSCFTestPasses",
  124. "MLIRSCFToGPU",
  125. "MLIRSCFToOpenMP",
  126. "MLIRSCFToSPIRV",
  127. "MLIRSCFToStandard",
  128. "MLIRSCFTransforms",
  129. "MLIRSCFUtils",
  130. "MLIRSPIRV",
  131. "MLIRSPIRVBinaryUtils",
  132. "MLIRSPIRVConversion",
  133. "MLIRSPIRVDeserialization",
  134. "MLIRSPIRVModuleCombiner",
  135. "MLIRSPIRVSerialization",
  136. "MLIRSPIRVTestPasses",
  137. "MLIRSPIRVToLLVM",
  138. "MLIRSPIRVTransforms",
  139. "MLIRSPIRVTranslateRegistration",
  140. "MLIRSPIRVUtils",
  141. "MLIRShape",
  142. "MLIRShapeOpsTransforms",
  143. "MLIRShapeTestPasses",
  144. "MLIRShapeToStandard",
  145. "MLIRSideEffectInterfaces",
  146. "MLIRSparseTensor",
  147. "MLIRSparseTensorPipelines",
  148. "MLIRSparseTensorTransforms",
  149. "MLIRSparseTensorUtils",
  150. "MLIRStandard",
  151. "MLIRStandardOpsTestPasses",
  152. "MLIRStandardOpsTransforms",
  153. "MLIRStandardToLLVM",
  154. "MLIRStandardToSPIRV",
  155. "MLIRSupport",
  156. "MLIRSupportIndentedOstream",
  157. "MLIRTableGen",
  158. "MLIRTargetCpp",
  159. "MLIRTargetLLVMIRExport",
  160. "MLIRTargetLLVMIRImport",
  161. "MLIRTensor",
  162. "MLIRTensorInferTypeOpInterfaceImpl",
  163. "MLIRTensorTilingInterfaceImpl",
  164. "MLIRTensorTransforms",
  165. "MLIRTensorUtils",
  166. "MLIRTestAnalysis",
  167. "MLIRTestDialect",
  168. "MLIRTestIR",
  169. "MLIRTestPass",
  170. "MLIRTestReducer",
  171. "MLIRTestRewrite",
  172. "MLIRTestStandardToLLVM",
  173. "MLIRTestTransforms",
  174. "MLIRTilingInterface",
  175. "MLIRToLLVMIRTranslationRegistration",
  176. "MLIRTosa",
  177. "MLIRTosaTestPasses",
  178. "MLIRTosaToLinalg",
  179. "MLIRTosaToSCF",
  180. "MLIRTosaToStandard",
  181. "MLIRTosaTransforms",
  182. "MLIRTransformUtils",
  183. "MLIRTransforms",
  184. "MLIRTranslation",
  185. "MLIRVector",
  186. "MLIRVectorInterfaces",
  187. "MLIRVectorTestPasses",
  188. "MLIRVectorToGPU",
  189. "MLIRVectorToLLVM",
  190. "MLIRVectorToROCDL",
  191. "MLIRVectorToSCF",
  192. "MLIRVectorToSPIRV",
  193. "MLIRVectorTransforms",
  194. "MLIRVectorUtils",
  195. "MLIRViewLikeInterface"
  196. }
  197. local links_arch
  198. if package:is_arch("x86_64", "i386", "x64", "x86") then
  199. links_arch = {
  200. "MLIRX86Vector",
  201. "MLIRX86VectorToLLVMIRTranslation",
  202. "MLIRX86VectorTransforms"}
  203. elseif package:is_arch("arm64", "armv7") then
  204. links_arch = {
  205. "MLIRArmNeon",
  206. "MLIRArmNeon2dToIntr",
  207. "MLIRArmNeonToLLVMIRTranslation",
  208. "MLIRArmSVE",
  209. "MLIRArmSVEToLLVMIRTranslation",
  210. "MLIRArmSVETransforms"}
  211. end
  212. if links_arch then
  213. table.join2(links, links_arch)
  214. end
  215. return links
  216. end
  217. function main(package, component)
  218. component:add("links", get_links(package))
  219. end