Fixing the bug of incorrectly querying getModRefInfo between two calls using getModRefInfo(otherCall, call) if otherCall is reachable from call
Adding an extra flag indicating whether call is also reachable from otherCall to reversely query the ModRefInfo to add missing dependencies
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)
This pull request makes the following changes:
getModRefInfo(otherCall, call)
ifotherCall
is reachable fromcall
call
is also reachable fromotherCall
to reversely query the ModRefInfo to add missing dependenciescall
tootherCall
. The dependencies fromotherCall
tocall
will be handled ifcall
is reachable fromotherCall
as the analysis pass proceeds.Regression Tests Result: