arcana-lab / noelle

NOELLE Offers Empowering LLVM Extensions
MIT License
72 stars 35 forks source link

PDGAnalysis: optimization on dependence addition through getModRefInfo #72

Closed yiansu closed 1 year ago

yiansu commented 1 year ago

When querying getModRefInfo(otherCall, call) and get Mod result. If call is also reachable from otherCall and the reverse query also returns Mod. No matter if (call == otherCall). There's only WAW data dependence from call to otherCall.

Regression test output:

./scripts/condor_check.sh ;
################################### REGRESSION TESTS:
  Checking the regression test results
    All tests finished
    5 new tests failed: 
    regression_124/AliasAnalysisKillFlowBug -noelle-pdg-check -noelle-verbose=3 -noelle-max-cores=8  -noelle-parallelizer-force -O1 -Xclang -disable-llvm-passes -O1
    regression_126/AliasAnalysisKillFlowBug -noelle-pdg-check -noelle-verbose=3 -noelle-max-cores=8 -noelle-disable-loop-invariant-code-motion  -noelle-parallelizer-force -O1 -Xclang -disable-llvm-passes -O1
    regression_131/AliasAnalysisKillFlowBug -noelle-pdg-check -noelle-verbose=3 -noelle-max-cores=8 -noelle-disable-dswp -noelle-disable-inliner  -noelle-parallelizer-force -O1 -Xclang -disable-llvm-passes -O1
    regression_139/AliasAnalysisKillFlowBug -noelle-pdg-check -noelle-verbose=3 -noelle-max-cores=8 -noelle-disable-enablers -noelle-disable-inliner -noelle-disable-dead -noelle-parallelizer-force -O1 -Xclang -disable-llvm-passes -O1
    regression_6/AliasAnalysisKillFlowBug -noelle-pdg-check -noelle-verbose=3 -noelle-max-cores=8 -noelle-disable-dswp  -noelle-parallelizer-force -O0 -Xclang -disable-O0-optnone -O0
    The regression tests failed

################################### UNIT TESTS:
  All unit tests succeded

################################### PERFORMANCE TESTS:
  Next are the performance tests that run slower:
    Performance degradation for DSWP_communication (from 1.2x to 0.4x)