[LLVMdev] debug info for llvm::IntrinsicInst ???

reed kotler rkotler at mips.com
Fri Jan 30 20:55:23 PST 2015


When trying to display and do anything with a variable of type 
IntrinsicInst, gdb thinks that it's an incomplete
type and kind find any member functions or even display the class.




(gdb) list 1337
1332
1333      // Finish off the call including any return values.
1334      return finishCall(CLI, RetVT, NumBytes);
1335    }
1336
1337    bool MipsFastISel::fastLowerIntrinsicCall(const IntrinsicInst *II) {
1338      switch (II->getIntrinsicID()) {
1339      default:
1340        return false;
1341      case Intrinsic::bswap: {
(gdb) print II
$10 = (const llvm::IntrinsicInst *) 0x61b8ec8
(gdb) print *II
$11 = <incomplete type>
(gdb) call II->getIntrinsicID()
Couldn't find method llvm::IntrinsicInst::getIntrinsicID
(gdb)


However, up the call tree:

(gdb) frame 3
#3  0x000000000368db6d in llvm::FastISel::selectOperator (this=0x6235290,
     I=0x61b8ec8, Opcode=49)
     at 
/home/rkotler/workspace/llvm/lib/CodeGen/SelectionDAG/FastISel.cpp:1535
1535        return selectCall(I);
(gdb) list 1535
1530
1531        // Dynamic-sized alloca is not handled yet.
1532        return false;
1533
1534      case Instruction::Call:
1535        return selectCall(I);
1536
1537      case Instruction::BitCast:
1538        return selectBitCast(I);
1539
(gdb) call I->dump()
   %2 = call float @llvm.powi.f32(float %0, i32 %1)
(gdb)
(gdb) print *I
$12 = {<llvm::Value> = {
     _vptr$Value = 0x60c67f0 <vtable for llvm::CallInst+16>, VTy = 
0x61035c0,
     UseList = 0x61d3310, NameAndIsUsedByMD = {Value = 0}, SubclassID = 
68 'D',
     HasValueHandle = 0 '\000', SubclassOptionalData = 0 '\000',
     SubclassData = 0, NumOperands = 3, static MaximumAlignment = 
536870912},
   OperandList = 0x61b8e80}
(gdb)




More information about the llvm-dev mailing list