[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