Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

NodePushOut causes 10 failed tests in llvm-test-suite #641

Open
sjalander opened this issue Sep 30, 2024 · 3 comments
Open

NodePushOut causes 10 failed tests in llvm-test-suite #641

sjalander opened this issue Sep 30, 2024 · 3 comments
Labels

Comments

@sjalander
Copy link
Collaborator

The NodePushOut optimization was improved in association with addressing #632 and the optimization in isolation now passes the llvm-test-suite.

However, when including it in the standard 'opt.cmake' that is used by the CI then 10 tests fails:

set(OPTFLAGS "${OPTFLAGS} -JInvariantValueRedirection -JNodeReduction -JDeadNodeElimination -JThetaGammaInversion -JInvariantValueRedirection -JDeadNodeElimination -JNodePushOut -JInvariantValueRedirection -JDeadNodeElimination -JNodeReduction -JCommonNodeElimination -JDeadNodeElimination -JNodePullIn -JInvariantValueRedirection -JDeadNodeElimination -JLoopUnrolling -JInvariantValueRedirection")

Failed Tests (10):
test-suite :: MultiSource/Applications/JM/ldecod/ldecod.test
test-suite :: MultiSource/Applications/lua/lua.test
test-suite :: MultiSource/Applications/sqlite3/sqlite3.test
test-suite :: MultiSource/Benchmarks/FreeBench/analyzer/analyzer.test
test-suite :: MultiSource/Benchmarks/MallocBench/espresso/espresso.test
test-suite :: SingleSource/Regression/C/gcc-c-torture/execute/GCC-C-execute-20020619-1.test
test-suite :: SingleSource/Regression/C/gcc-c-torture/execute/GCC-C-execute-pr37882.test
test-suite :: SingleSource/Regression/C/gcc-c-torture/execute/GCC-C-execute-pr40747.test
test-suite :: SingleSource/Regression/C/gcc-c-torture/execute/GCC-C-execute-pr57568.test
test-suite :: SingleSource/Regression/C/gcc-c-torture/execute/GCC-C-execute-pr84339.test

@sjalander sjalander added the bug label Sep 30, 2024
@sjalander
Copy link
Collaborator Author

sjalander commented Sep 30, 2024

Enabling fewer optimizations, leads to more failed tests:

set(OPTFLAGS "${OPTFLAGS} -JInvariantValueRedirection -JNodeReduction -JDeadNodeElimination -JThetaGammaInversion -JInvariantValueRedirection -JDeadNodeElimination -JNodePushOut -JInvariantValueRedirection -JDeadNodeElimination -JNodeReduction -JCommonNodeElimination ")

Failed Tests (14):
test-suite :: MultiSource/Applications/JM/ldecod/ldecod.test
test-suite :: MultiSource/Applications/lua/lua.test
test-suite :: MultiSource/Applications/sqlite3/sqlite3.test
test-suite :: MultiSource/Benchmarks/DOE-ProxyApps-C/CoMD/CoMD.test
test-suite :: MultiSource/Benchmarks/FreeBench/analyzer/analyzer.test
test-suite :: MultiSource/Benchmarks/MallocBench/espresso/espresso.test
test-suite :: MultiSource/Benchmarks/MiBench/automotive-bitcount/automotive-bitcount.test
test-suite :: MultiSource/Benchmarks/MiBench/consumer-lame/consumer-lame.test
test-suite :: SingleSource/Regression/C/gcc-c-torture/execute/GCC-C-execute-20020619-1.test
test-suite :: SingleSource/Regression/C/gcc-c-torture/execute/GCC-C-execute-941014-1.test
test-suite :: SingleSource/Regression/C/gcc-c-torture/execute/GCC-C-execute-pr37882.test
test-suite :: SingleSource/Regression/C/gcc-c-torture/execute/GCC-C-execute-pr40747.test
test-suite :: SingleSource/Regression/C/gcc-c-torture/execute/GCC-C-execute-pr57568.test
test-suite :: SingleSource/Regression/C/gcc-c-torture/execute/GCC-C-execute-pr84339.test

@sjalander
Copy link
Collaborator Author

set(OPTFLAGS "${OPTFLAGS} -JNodePushOut -JInvariantValueRedirection -JDeadNodeElimination -JNodeReduction -JCommonNodeElimination")

Failed Tests (10):
test-suite :: MultiSource/Applications/JM/ldecod/ldecod.test
test-suite :: MultiSource/Applications/lua/lua.test
test-suite :: MultiSource/Applications/sqlite3/sqlite3.test
test-suite :: MultiSource/Benchmarks/FreeBench/analyzer/analyzer.test
test-suite :: MultiSource/Benchmarks/MallocBench/espresso/espresso.test
test-suite :: SingleSource/Regression/C/gcc-c-torture/execute/GCC-C-execute-20020619-1.test
test-suite :: SingleSource/Regression/C/gcc-c-torture/execute/GCC-C-execute-pr37882.test
test-suite :: SingleSource/Regression/C/gcc-c-torture/execute/GCC-C-execute-pr40747.test
test-suite :: SingleSource/Regression/C/gcc-c-torture/execute/GCC-C-execute-pr57568.test
test-suite :: SingleSource/Regression/C/gcc-c-torture/execute/GCC-C-execute-pr84339.test

@sjalander
Copy link
Collaborator Author

sjalander commented Sep 30, 2024

-JNodePushOut -JCommonNodeElimination cause extreme compilation time.
All tests passes though.

time jlc -JNodePushOut -JCommonNodeElimination usr/llvm-test-suite/SingleSource/Regression/C/gcc-c-torture/execute/20040705-1.c
real 33m18.484s
user 33m9.394s
sys 0m1.688s

time jlc -JCommonNodeElimination usr/llvm-test-suite/SingleSource/Regression/C/gcc-c-torture/execute/20040705-1.c
real 0m6.207s
user 0m6.057s
sys 0m0.066s

time jlc -JNodePushOut usr/llvm-test-suite/SingleSource/Regression/C/gcc-c-torture/execute/20040705-1.c
real 0m20.217s
user 0m19.898s
sys 0m0.245s

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant