arcana-lab / noelle

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

PDGAnalysis: fix missing dependences querying getModRefInfo between two calls #71

Closed yiansu closed 1 year ago

yiansu commented 1 year ago

This pull request makes the following changes:

  1. Fixing the bug of incorrectly querying getModRefInfo between two calls using getModRefInfo(otherCall, call) if otherCall is reachable from call
  2. Adding an extra flag indicating whether call is also reachable from otherCall to reversely query the ModRefInfo to add missing dependencies
  3. Adding dependencies only from call to otherCall. The dependencies from otherCall to call will be handled if call is reachable from otherCall as the analysis pass proceeds.

Regression Tests Result:

./scripts/condor_check.sh ;
################################### REGRESSION TESTS:
  Checking the regression test results
    All tests finished
    7 new tests failed: 
    regression_125/AliasAnalysisKillFlowBug -noelle-pdg-check -noelle-verbose=3 -noelle-max-cores=8 -noelle-inliner-avoid-hoist-to-main  -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_145/AliasAnalysisKillFlowBug -noelle-pdg-check -noelle-verbose=3 -noelle-max-cores=8 -noelle-disable-dswp -noelle-disable-enablers -noelle-disable-inliner -noelle-disable-dead -noelle-parallelizer-force -O1 -Xclang -disable-llvm-passes -O1
    regression_1/AliasAnalysisKillFlowBug -noelle-pdg-check -noelle-verbose=3 -noelle-max-cores=8 -noelle-inliner-avoid-hoist-to-main  -noelle-parallelizer-force -O0 -Xclang -disable-O0-optnone -O0
    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
    regression_77/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 -O0
    regression_84/AliasAnalysisKillFlowBug -noelle-pdg-check -noelle-verbose=3 -noelle-max-cores=8 -noelle-disable-dswp -noelle-disable-inliner -noelle-disable-enablers -noelle-disable-inliner -noelle-disable-dead -noelle-parallelizer-force -O1 -Xclang -disable-llvm-passes -O0
    The regression tests failed

################################### UNIT TESTS:
  They are still running

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