c - 我需要在 LLVM 中实现什么才能使 Clang 为自定义架构生成 IR?

标签 c clang llvm

我有一个自定义(软,16 位)RISC 架构,我希望 Clang 为其生成 LLVM IR。

我需要创建多少后端才能为自定义架构生成 IR。即IR中的无限寄存器和LLVM类型,没有汇编语言输出,没有机器代码生成。

最佳答案

您必须在 Clang 中添加一小段代码来注册新架构及其主要功能,例如字大小(在您的情况下为 16 位)、所有 llvm 类型(i1、i8、i16、i32 等)的首选对齐方式。 )。 例如,您可以在 MSP430 架构的 Clang 源代码树中找到类似的代码。 为目标添加此代码后,Clang 可以为此目标生成 IR 代码。

关于c - 我需要在 LLVM 中实现什么才能使 Clang 为自定义架构生成 IR?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42696714/

相关文章:

Eclipse 中的 C 代码自动完成

c - 我自己的随机数生成器

c - 程序不写在标准输出上而是卡住了

c++ - OpenCV Clang mat.hpp 错误 : call to member function 'ptr' is ambiguous

clang - 为什么我收到错误 "llvm-dis: Invalid bitcode signature"

c++ - 在 Clang/LLVM 中内联函数指针数组

c# - TCP延迟确认的解决方法是什么?

vim - gccsense 与 clang_complete

c++ g++ llvm-clang 编译器分析

compiler-construction - 如何获得一个程序的过程间控制流图并使用llvm对其进行数据流分析?