llvm-ir 相关问题

LLVM中间表示

发出IR的段错误,用于`printf`调用

我希望使用系统printf能够从我正在为其编写编译器的编程语言中打印单个整数,如print(3)所示。执行...

回答 1 投票 0

运行LLVM opt hotcoldsplit问题

热冷分裂是LLVM中代码优化的有效方法。内置的LLVM传递位于:/llvm/lib/Transforms/IPO/HotColdSplitting.cpp实际上,我想将此传递用于...

回答 1 投票 0

malloc或_Znwm,我们应该在LLVM IR系统中使用

虽然在LLVM中申请堆中的内存,我们可以使用malloc,但是IR clang ++编译的c ++代码使用_Znwm(_ZdlPv而不是free)。为什么?我们应该选择哪一个呢?源代码:类...

回答 1 投票 0

是否有任何api可以通过llvm Transformation Pass初始化我的自定义类对象?如果不是,实现此目标的最佳策略是什么?

我正在实现llvm转换过程。在某种程度上,我需要初始化我的自定义类对象并调用其方法。举例来说:Foo * foo = new Foo(3); foo -...

回答 1 投票 3

llc引发错误:constexpr需要整数操作数

我一直在尝试使用llvm进行代码生成。我目前正在尝试为变量声明生成IR。这是一个示例:let sum:float = 8 * 3 * 4 + 6 * 9;当我生成IR时...

回答 1 投票 0

了解LLVM IR链接类型内部吗?

LLVM IR链接类型介绍了内部的链接类型,但是我不理解STB_LOCAL和ELF词。此链接类型提取的内容是什么?和private和...

回答 1 投票 0

操作系统和体系结构之间的FILE结构是否一致?

对于以下C代码片段,LLVM将在下面生成IR。 #include #include int main(){printf(“ Hello world \ n”); fflush(NULL);返回0; }; ... ] >>

回答 2 投票 1

无法将自定义生成的LLVM IR与Clang生成的IR链接

我一直在尝试将llvm C ++ api生成的IR与Clang ++生成的另一个IR文件进行链接。 Clang的输入文件是我要从第一个IR文件调用的函数。但是llvm-link ...

回答 1 投票 0

在编译LLVM IR时使用LLVM标头

我正在尝试将C代码片段编译为LLVM IR。我需要#include适当的LLVM头文件,例如Module.h(#include“ llvm / Module.h”)。对于编译,我使用:c ++ -g prog.cpp llvm-config -...

回答 1 投票 1

如何在LLVM中提取Icmp inst或binaryOperator Inst的目标位置?

现在,我想获得一个Icmp Inst的目标位置,例如,如果我得到一个Icmp Inst,例如:%cmp = icmp sgt i32%0,1我如何获得目标位置'%cmp'?对于BinaryOperator ...

回答 1 投票 0

LLVM克隆函数传递到其他模块

我正在创建LLVM传递,并以opt作为库加载,它从硬编码模块获取功能,并将其功能克隆到输入模块。布尔MyPass :: runOnModule(llvm :: Module&M){...

回答 1 投票 0

Writing LLVM int / string input

我正在尝试从AST生成llvm-ir。为了显示我添加的整数输出,常量* CalleeF = TheModule-> getOrInsertFunction(“ printf”,FunctionType :: get(IntegerType :: getInt32Ty(Context),...

回答 1 投票 3

在运行时使用LLVM-IR段错误生成的代码

我正在编写一个玩具编译器,并且使用llvm 10作为它的后端。我想要拥有的功能之一是链表类型,就像函数式编程一样。 IR I供应...

回答 1 投票 0

LLVM循环简化遍历

我可能会误解LLVM和传递如何工作的一些基本概念,无论如何,这是我的问题:我目前正在通过传递runOnModule(https://llvm.org/doxygen / ...]的传递。 >

回答 1 投票 0

LLVM-如何将参数传递给函数调用|错误:调用签名错误的函数

void print(char * s){printf(“%s \ n”,s);我想在llvm传递中插入对上述函数的调用。这是我的llvm密码:Function * printFunc = M.getFunction(“ print”); ...

回答 1 投票 0

如何从LLVM IR的指令元数据中提取操作数?

我正在尝试提取LLVM IR中的if指令中正在使用的操作数。例如:对于类似if(x == 10)的指令,我希望x和10作为输出。这不是应该怎么做:如果...

回答 1 投票 3

llvm llc命令无法识别

我正在尝试编译以下llvm ir代码:define i32 @main()#0 {ret i32 42}上面的代码存储在一个名为main.ll的文件中,然后,在其中运行“ llc main.ll”命令提示符,但我...

回答 1 投票 1

为什么llvm :: FunctionType(Type *,bool)如果按照定义不带参数,则为bool?

FunctionType * FunctionType :: get的一个定义是:FunctionType * FunctionType :: get(Type * Result,bool isVarArg)文档说:创建不带参数的FunctionType。当...

回答 1 投票 0

在LLVM中分析包含inttoptr的存储指令

我正在尝试使用inttoptr分析由存储指令组成的字节码。我无法检测存储指令是否具有inttoptr值作为值操作数(3rd ...

回答 1 投票 0

LLVM:我必须设置目标布局,还是设置目标三元组更好?

我正在学习LLVM框架的基础。我阅读了有关描述数据类型的目标布局以及有关描述机器和操作系统的目标三元组的信息。但是我无法...

回答 3 投票 2

© www.soinside.com 2019 - 2024. All rights reserved.