- User Since
- Aug 18 2016, 4:39 AM (242 w, 4 d)
Thanks for getting this started!
Do you have any data on whether there are any binary differences for a set of programs/benchmarks with this enabled compared to disabled?
Add phase-ordering test.
FYI, I tracked down another ~50% regression in one of our benchmarks to this change. It boils down to failing to vectorize the loop below (or here https://clang.godbolt.org/z/sbjd8Wshx). I put up D100329, which always allows hoisting if only a termintor needs to be hoisted, which effectively replaces the original terminator.
Updated to match vector loads, so it is easier to re-trigger after store scalarization from D98240.
Sun, Apr 11
I put up a similar patch to handle extractelement (load %ptr), %index in a similar fashion: D100273. Together with this patch, they greatly improve codegen for certain code generated using the C/C++ matrix extension https://clang.godbolt.org/z/qsccPdPf4
I put up a more general version up in D100175
Sat, Apr 10
Fri, Apr 9
Would it make sense to have all the conversion tests in a single file, as the tests are quite compact?
Thanks for putting up the patch! Looks compile-time neutral: http://llvm-compile-time-tracker.com/compare.php?from=0494b6b6769f9ceda7e019a30e83a472d23afff5&to=1e6ad8da46f1cf45300df0f2083c1636e34e54c8&stat=instructions
Does this patch give the expected speedup on omnetpp?
LGTM, thanks for working on this!
Thu, Apr 8
Thanks for the patch! But do we do that for the other instruction syntax blocks as well? AFAICT the syntax blocks are not valid IR (due to the <> blocks) and .. code-block:: llvm is only used for examples with valid IR?
Change names of loopMustProgress to checkIfLoopMustProgress. Same for functionMustProgress.
The impact of this seems quite limited. Below the AA stats for MultiSource/SPEC2000/SPEC2006 on X86 with -O3 -flto:
Thanks for the latest update! This basically looks good to me, with a few final nits!
Wed, Apr 7
Rebased on top of latest changes.
@nlopes do you have any more thoughts on the difference between LLVM & Alive2 on this topic?
rebased after pre-committing additional RUN lines in 7ca4dd82175c. Also adjusts a variable name
Tue, Apr 6
I just pushed a small patch that prints prints VPWidenPHIRecipe using the VPValue operands, if there are operands for all incoming values (a6b06b785cda1bb94dd05f29d66892ccb44cf0cd).
rebase & ping
Could you add a test for this?
Mon, Apr 5
Rebased and simplified.
Rebased and simplified.
rebased and simplified.
Rebase and some simplifications.
Fri, Apr 2
Hi! It looks like this may be causing https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=29445 .