小编sha*_*ran的帖子

使用Eclipse调试LLVM

我正在研究LLVM.在使用Eclipse调试它时,我遇到了某些我希望看到的内容的数据结构.但是在调试时,Eclipse只给出了该特定数据结构的地址,而不是其内容.

例如,在查看SmallVectorImpl和Ops的内容时,它给出了类似的内容

Name :  Ops
    Details:@0xbfffef94
    Default:{...}
    Decimal:{...}
    Hex:{...}
    Binary:{...}
    Octal:{...}
Run Code Online (Sandbox Code Playgroud)

请告诉我是否有任何插件可用于查看这些数据结构的内容.

c++ debugging gdb eclipse-cdt llvm

7
推荐指数
1
解决办法
878
查看次数

在LLVM IR中查找函数的参数

请建议我找到传递给llvm IR中的函数的参数声明的方法.

llvm

7
推荐指数
1
解决办法
5972
查看次数

在LLVM中创建新类型(尤其是指向函数类型的指针)

我想创建一个以下类型,

  void (i8*)*
Run Code Online (Sandbox Code Playgroud)

我尝试使用Type类来创建上述类型,但是我没有找到任何直接方法来执行相同操作。
有人请向我建议一种创建上述类型的方法。
提前致谢。

llvm

5
推荐指数
1
解决办法
3305
查看次数

如何在Eclipse上构建LLVM源代码?

我正在尝试向llvm编译器基础结构添加新传递.我已经能够使用make构建LLVM-2.9.但我想使用Eclipse构建,以便我可以跟踪代码.我使用LinuxGcc工具链和CDT内部构建器(带有CDT-7.0的Eclipse)将llvm源文件导入到c ++项目中.但是它给出了一些错误.这是使用eclipse构建llvm的正确方法吗?请建议我使用Eclipse构建llvm源的步骤.注意:平台ubuntu.

eclipse ubuntu llvm

3
推荐指数
1
解决办法
2054
查看次数

识别IR中的数组类型

我一直在尝试通过使用以下代码来识别IR中的数组访问:

  for (BasicBlock::iterator ii = BB->begin(), ii2; ii != BB->end(); ii++) {
     Instruction *I=ii;             
    if(GetElementPtrInst *getElePntr = dyn_cast<GetElementPtrInst>(&*I))
    {                   

        Value *valAlloc = (getElePntr->getOperand(0));

        if(getElePntr->getOperand(0)->getType()->isArrayTy())
            {
                errs()<<"\tarray found";
            }
    }  
 }  
Run Code Online (Sandbox Code Playgroud)

此代码标识getElementPtr指令,但它不识别它的第一个操作数是否是数组类型.请告诉我我的代码有什么问题.

llvm

3
推荐指数
1
解决办法
1686
查看次数

标签 统计

llvm ×5

c++ ×1

debugging ×1

eclipse ×1

eclipse-cdt ×1

gdb ×1

ubuntu ×1