如何从源代码中添加新的 LLVM 后端目标
How to add new LLVM Backend Target out of source
我希望开发一个基于 LLVM 的编译器,这将需要一个新的后端目标。
The LLVM Backend Guide 展示了如何在一组目录结构 (lib/Target/**
) 的 LLVM 源代码下开发新目标,以与现有构建系统集成,并据我所知,使用工具例如llc
、llvm-config
等。
是否可以从源代码中开发新目标,并将其与 LLVM 集成?
我知道在添加新的与目标无关的优化和分析过程时这是可能的。这些可以从源代码中编写和编译,并通过 opt
工具加载。我认为可能有类似的方法来编写新目标。
我想这样做是为了在某种程度上减少我的项目和 LLVM 之间的耦合量,因为在我的 VC、[=23= 中有额外的一百万行代码会让我感到烦恼]等
不幸的是,这是不可能的。后端通过 configure-time 代码生成等与主要的 LLVM 代码库紧密相关
我希望开发一个基于 LLVM 的编译器,这将需要一个新的后端目标。
The LLVM Backend Guide 展示了如何在一组目录结构 (lib/Target/**
) 的 LLVM 源代码下开发新目标,以与现有构建系统集成,并据我所知,使用工具例如llc
、llvm-config
等。
是否可以从源代码中开发新目标,并将其与 LLVM 集成?
我知道在添加新的与目标无关的优化和分析过程时这是可能的。这些可以从源代码中编写和编译,并通过 opt
工具加载。我认为可能有类似的方法来编写新目标。
我想这样做是为了在某种程度上减少我的项目和 LLVM 之间的耦合量,因为在我的 VC、[=23= 中有额外的一百万行代码会让我感到烦恼]等
不幸的是,这是不可能的。后端通过 configure-time 代码生成等与主要的 LLVM 代码库紧密相关