[PATCH] D77144: [NFC] Remove waymarking because it improves performances
Tyker via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue Mar 31 07:44:46 PDT 2020
Tyker created this revision.
Tyker added reviewers: nikic, lattner.
Herald added subscribers: llvm-commits, asbirlea, george.burgess.iv, hiraditya, mgorny.
Herald added a project: LLVM.
This patch remove waymarking and replaces it with storing a pointer to the User in the Use.
here are the results on the measurements for the CTMark tests of the test suite.
Metric: instructions_count
Program baseline patched diff
test-suite :: CTMark/ClamAV/clamscan.test 72557942065 71733653521 -1.1%
test-suite :: CTMark/sqlite3/sqlite3.test 76281422939 75484840636 -1.0%
test-suite :: CTMark/consumer-typeset/consumer-typeset.test 51364676366 50862185614 -1.0%
test-suite :: CTMark/SPASS/SPASS.test 60476106505 59908437767 -0.9%
test-suite :: CTMark/tramp3d-v4/tramp3d-v4.test 112578442329 111725050856 -0.8%
test-suite :: CTMark/mafft/pairlocalalign.test 50846133013 50473644539 -0.7%
test-suite :: CTMark/kimwitu++/kc.test 54692641250 54349070299 -0.6%
test-suite :: CTMark/7zip/7zip-benchmark.test 182216614747 181216091230 -0.5%
test-suite :: CTMark/Bullet/bullet.test 123459210616 122905866767 -0.4%
Geomean difference -0.8%
Metric: peak_memory_use
Program baseline patched diff
test-suite :: CTMark/tramp3d-v4/tramp3d-v4.test 326864 338524 3.6%
test-suite :: CTMark/sqlite3/sqlite3.test 216412 221240 2.2%
test-suite :: CTMark/7zip/7zip-benchmark.test 11808284 12022604 1.8%
test-suite :: CTMark/Bullet/bullet.test 6831752 6945988 1.7%
test-suite :: CTMark/SPASS/SPASS.test 2682552 2721820 1.5%
test-suite :: CTMark/ClamAV/clamscan.test 5037256 5107936 1.4%
test-suite :: CTMark/consumer-typeset/consumer-typeset.test 2752728 2790768 1.4%
test-suite :: CTMark/mafft/pairlocalalign.test 1517676 1537244 1.3%
test-suite :: CTMark/kimwitu++/kc.test 1090748 1103448 1.2%
Geomean difference 1.8%
Metric: compile_time
Program baseline patched diff
test-suite :: CTMark/consumer-typeset/consumer-typeset.test 14.71 14.38 -2.2%
test-suite :: CTMark/sqlite3/sqlite3.test 23.18 22.73 -2.0%
test-suite :: CTMark/7zip/7zip-benchmark.test 57.96 56.99 -1.7%
test-suite :: CTMark/ClamAV/clamscan.test 20.75 20.49 -1.2%
test-suite :: CTMark/kimwitu++/kc.test 18.35 18.15 -1.1%
test-suite :: CTMark/SPASS/SPASS.test 18.72 18.57 -0.8%
test-suite :: CTMark/mafft/pairlocalalign.test 14.09 14.00 -0.6%
test-suite :: CTMark/Bullet/bullet.test 37.38 37.19 -0.5%
test-suite :: CTMark/tramp3d-v4/tramp3d-v4.test 33.81 33.76 -0.2%
Geomean difference -1.1%
i believe that it is worth trading +1.8% peak memory use for -1.1% compile time.
also this patch removes waymarking which simplifies the Use and User classes.
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D77144
Files:
llvm/include/llvm/Analysis/MemorySSA.h
llvm/include/llvm/IR/Instructions.h
llvm/include/llvm/IR/Use.h
llvm/lib/IR/Use.cpp
llvm/lib/IR/User.cpp
llvm/unittests/IR/CMakeLists.txt
llvm/unittests/IR/WaymarkTest.cpp
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D77144.253860.patch
Type: text/x-patch
Size: 11512 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200331/b5c4a82a/attachment-0001.bin>
More information about the llvm-commits
mailing list