llvm-ir

    0热度

    1回答

    我知道前端(如llvm-clang或llvm-gcc)也从本地代码向IR级别做了一些优化。 但是前端已经做了哪些优化?有我可以检查的清单或文件吗? 谢谢。

    0热度

    1回答

    我想建立LLVM IR下列表达式标量添加到载体 [1,2,3,4]+1 我已经找到了正确的方法来创建add和标量表达的整体载体,但不是为了向量。 Value *L = //Missing code here Value *R = ConstantFP::get(getGlobalContext(), APFloat(Val)); Value *exp = Builder.CreateFAd

    1热度

    1回答

    我尝试在LLVM IR中加载/存储指令并跟踪其存储器地址,因此我需要插入检测函数来记录加载/存储指令的地址。 我有一个类型转换问题,当我尝试创建recordLoad /存储功能: 首先,我创建的指针型,“VoidPtrType” Type Int64Type = IntegerType::getInt64Ty(M.getContext()); Type* VoidPtrType = Pointe

    1热度

    1回答

    是否clang -S -emit-llvm file.cpp(编译C++源代码到LLVM IR)运行除场景后面的clang之外的任何其他可执行文件(如链接器或smth)?

    1热度

    2回答

    我想收集LLVm IR代码函数中使用的所有全局变量。有没有LLVM API可以做到这一点?例如,如下面的代码。 int a,b; int fun(){return a+b;} 全局变量a和b在fun()中使用,我需要在一个集合中收集a和b。

    9热度

    1回答

    我有一个ModulePass与opt工具一起工作,但我无法弄清楚如何在命令行中使其可用。我使用我的通行证当前的工作流程是: 铛-c -emit-LLVM [C源代码文件] LLVM链接[LLVM位码文件] 选择-load [PassName。所以 - [传递名称] [链接LLVM文件] LLC [导致位码文件] GCC [编译得到的汇编文件] -o [目标] 我想获得我的通行证与整合铛命令以便它可

    0热度

    1回答

    您好,我必须为编译器课程解析一些LLVM IR代码。我对LLVM很陌生。 我已经铛和LLVM我的电脑上,当我编译一个简单的C程序: #include <stdio.h> int main(int argc, char *argv[]) { for (int i = 0; i < 10; i++) { printf("Stuff!\n"); } return

    1热度

    2回答

    我想通过写入函数通过从IR获取循环信息。所以我遵循一些例子,写下如下。我不太熟悉写传球和传球经理。 #include <iostream> #include "llvm/LLVMContext.h" #include "llvm/Module.h" #include "llvm/Function.h" #include "llvm/BasicBlock.h" #include "llvm

    1热度

    1回答

    我正在阅读Writing An LLVM Backend,但我找不到“模式支持”(Pattern,Pat,PatFrag,PatLeaf,ComplexPattern)的含义和定义。

    1热度

    1回答

    我写了一个新的LLVM优化传递。我已经在以下位置做一个新的目录中增加这一关: LLVM/lib目录/变换/ AddSub 为LLVM文档中提到我下面的步骤: http://llvm.org/docs/WritingAnLLVMPass.html 但是在编译时我收到链接错误。可能是我的build和makefile设置不正确。 重新定位R_X86_64_PC32针对未定义符号`_ZTVN12_GLOB