llvm-ir

    2热度

    1回答

    目前我试图设置默认的通行证选择/叮当。将隐式调用,当我使用命令,如: clang -c -emit-llvm code.ll 与 opt code.ll 的问题是,修改应直接做了LLVM的源代码,那就是我不应该使用环境变量,符号链接和别名。 我在互联网和llvm源代码上做了很多搜索,但是我没有找到解决方案,我也不知道如何解决这个问题。

    0热度

    1回答

    我试图测量一个程序在其同步部件中花了多少时间,例如由锁(或任何其他形式的并发控制)保护的关键部分。 我很困惑如何做到这一点,以及如何检测我通过我的llvm传递的程序中的并发控制方法。

    0热度

    2回答

    我有我的通行证,我测试玩具程序,现在我想运行它的大型程序,其中许多是像memcached开源程序。这样的程序有自己的Makefile和一个复杂的编译过程。我想为这些程序生成一个位码文件,让我的通行证在他们身上工作。帮助和建议将不胜感激!

    0热度

    1回答

    原来这就是我想要做的事: if(isa<CallInst>(&(*BI))) { ArrayRef <Value *> arguments('c'); StringRef fname = cast<CallInst>(&(*BI))->getCalledFunction()->getName(); errs()<<fname + " was c

    1热度

    1回答

    因此,所有我想要做的就是通过调用指令调用函数的名称: 这是我简单的代码: for(Function::iterator BB = F.begin(), E = F.end(); BB != E; ++BB) { for(BasicBlock::iterator BI = BB->begin(), BE = BB->end(); BI != BE; ++BI){

    0热度

    1回答

    所以我下面这个教程https://www.cs.cornell.edu/~asampson/blog/llvm.html使一通通过添加调用外部函数(其是在rtlib.c logop)仪器的程序。但是,与教程不同的是,我试图使用masstree更大的代码库:https://github.com/kohler/masstree-beta。 因此,根据masstree的指示,我先运行./configur

    2热度

    3回答

    我想使用parseIRFile调用来解析用clang++ -S -emit-llvm test.cpp -o test.ir创建的IR文件,稍微操作此IR,然后将IR写回文件。 我试过使用WriteBitcodeToFile调用,但这不能按预期方式工作。 如何将模块写回IR,然后编译并运行修改的IR? #include <llvm/IR/Module.h> #include <llvm/IRRe

    0热度

    1回答

    我使用标签bar来标注功能参数,如下所示。 int foo (char* s __attribute__((annotate("bar")))) { ... } 接下来,我正在运行函数传递。如何确定给定的函数参数是否使用标签bar注释?

    0热度

    1回答

    我宣布一个类中的伊娃: @implementation LLVMIRTest{ NSString* ivarTest; } 当我检查了LLVM IR它让我看到: @OBJC_METH_VAR_NAME_ = private global [9 x i8] c"ivarTest\00", section "__TEXT,__objc_methname,cstring_literals

    15热度

    1回答

    我一直在试图建立和执行LLVM模块重整混乱。我的代码生成模块很长,所以我不会在这里发布。相反,我的问题是关于Clang和LLVM如何共同实现名称修改。我将解释我的具体问题来激发这个问题。 这里是我的LLVM模块之一的源代码: #include <iostream> int main() { std::cout << "Hello, world. " << std::endl;