When running TaskMiner locally I've noticed that no memory dependencies are detected at all. After looking into it, it seems the issue is in the DepAnalysis.cpp, in the following statement:
if ((isa<StoreInst>(*SrcI) || isa<LoadInst>(*SrcI)) && srcDL) {
This guard never resolves to true because of the -mem2reg flag in your run script. With the -mem2reg flag, the llvm instructions are no longer StoreInst or LoadInst, but phi nodes instead.
Is there a reason for using this -mem2reg flag? Does TM not require the memory dependence analysis for generating the result?
When running TaskMiner locally I've noticed that no memory dependencies are detected at all. After looking into it, it seems the issue is in the DepAnalysis.cpp, in the following statement:
if ((isa<StoreInst>(*SrcI) || isa<LoadInst>(*SrcI)) && srcDL) {This guard never resolves to true because of the -mem2reg flag in your run script. With the -mem2reg flag, the llvm instructions are no longer StoreInst or LoadInst, but phi nodes instead.
Is there a reason for using this -mem2reg flag? Does TM not require the memory dependence analysis for generating the result?