[LLVMdev] Error on using DataStructureAnalysis

Andreas Wilhelm andreas.wilhelm at gmx.com
Thu Jul 7 03:37:38 PDT 2011


I am not exactly sure what causes your error. But if you have a reduced test case we can try looking at it.


 i wrote a little pass. It tries to identify every call- / invoke-instruction recursively and calls computeCalleeCallerMapping
 for each. The sample program just creates a vector of integer and adds an element to it.

 Do you know what's wrong?


On Wed, Jul 6, 2011 at 2:00 AM, Andreas Wilhelm < andreas.wilhelm at gmx.com > wrote:


 though DSA isn't maintained in the current build, I need to
 use it for analyzing dependencies among functions.

 Therfore I load the EQTDDataStructures pass and retrieve the
 mapping from nodes int the callee to the ones in the parent
 DSGraph with computeNodeMapping.

 In most cases this works well, but for some function calls I
 get following error:

 DSGraph.cpp:1379: static void llvm::DSGraph::computeNodeMapping(const llvm::DSNodeHandle&, const llvm::DSNodeHandle&, llvm::DSGraph::NodeMapTy&, bool): Assertion `Entry.getNode() == N2 && "Inconsistent mapping detected!"' failed.

 The definition of the corresponding function is:
 define linkonce_odr void @_ZN9__gnu_cxx13new_allocatorIjE9constructEPjRKj(%"class.__gnu_cxx::new_allocator"* %this, i32* %__p, i32* %__val) align 2

 The callsite is:
 call void @_ZN9__gnu_cxx13new_allocatorIjE9constructEPjRKj(%"class.__gnu_cxx::new_allocator"* %3, i32* %tmp10, i32* %tmp11)

 Does anybody have a clue what could be wrong or what has to be checked
 before executing?

 LLVM Developers mailing list
 LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20110707/07c55f76/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: pass.cpp
Type: application/octet-stream
Size: 2131 bytes
Desc: Attachment: pass.cpp
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20110707/07c55f76/attachment.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: sample.cpp
Type: application/octet-stream
Size: 103 bytes
Desc: Attachment: sample.cpp
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20110707/07c55f76/attachment-0001.obj>

More information about the llvm-dev mailing list