Error on using DataStructureAnalysis


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?



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