c++ - 在 LLVM 中为变量使用特定的寄存器

标签 c++ c llvm clang x86-64

我正在编写一个修改 LLVM 位码的 LLVM pass。对于一个变量,我希望它使用一个寄存器,比如 x86 上的 R15。我如何指示 LLVM 在生成机器码时使用这个寄存器?这可以在位码级别进行指示吗?

最佳答案

您可以使用内联汇编程序来模拟此需求。无法将特定变量“绑定(bind)”到寄存器。

关于c++ - 在 LLVM 中为变量使用特定的寄存器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9897726/

相关文章:

C++,具有设置和获取功能的学生类

C: ether_aton 返回类型

assembly - LLVM 如何避免为 `br` IR 指令生成冗余 native 代码?

c++ - 如何将模板化类作为默认模板类型传递给自己的类?

c++ - 文件上的 2 次 XORcypher 加密不会产生相同的文件

c++ - 带有指向非常量的指针和指向相同地址的常量参数的指针的函数调用

c - Valgrind 无效读取大小 1

iOS 代码覆盖率报告包含不应该存在的文件

java - 为什么HotSpot需要寄存器分配?

c++ - 使用 std::dynamic_pointer_cast 向上转换 std::shared_ptr