[PATCH] D53942: IR Outliner Pass
Tom Rix via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Thu Nov 1 17:33:10 PDT 2018
trixirt added a comment.
Jessica,
Thanks for the quick review!
Please keep in mind, this is not my original work, but River's. I
inherited it once he moved on from Sony. So I may not be able to answer
all of your questions, nor break this into smaller pieces
On testing.
I believe there are a couple of tests in River's source. I will import
those.
Testing has been done mostly by csmith for correctness and then
baselining a regression set.
The regression set does
clang -Oz
clang -Oz -mllvm -enable-cso
checksize
checksize 'crashes' when iro produces a smaller object.
After a couple of thousand 'crashes', creduce minimizes them into a
couple of thousand testcases.
This i believe will provide better coverage than the few tests in llvm's
regression testsuite. The downside, is they would be brittle. And so
needs to be down wrt a stable branch, that is why I also have a
release_70-iro.
I agree that there is overlap between MO and would agree that using what
is in the tree is better than add more to it. I have done a POC on how
this would go, mostly it is generalizing the MO bits with templates.
This would be a fairly large refactor with some risk of breaking MO and IRO.
So similar to IRO, I am also generating a 1000+ MO csmith/creduce baseline.
I agree on the clunkyness of the name 'codesizeoutliner', I would
rather it be ir-outliner, to be consistent with machine-outliner.
If you would like to help on the refactor, that would be good.
Tom
Repository:
rL LLVM
https://reviews.llvm.org/D53942
More information about the llvm-commits
mailing list