- User Since
- Nov 23 2015, 1:58 PM (112 w, 2 d)
Add ADC immediate tests. I haven't worked out a way to the appropriate SUB immediate nodes via LLVM IR as they're realized via add.
Tue, Jan 16
Rebasing past D42128.
Fri, Jan 12
In testing I discovered the follow on patch to X86's load-op-store pattern check needed to be folded in. Added discovered test as well.
Thu, Jan 11
Wed, Jan 10
Address comments and rebase.
Tue, Jan 9
Mon, Jan 8
Fri, Jan 5
Correct failing on non-constant indices.
Wed, Jan 3
Rebase and fix NodeId pruning to also ignore 0 ids (from legalization) and turn pruning on for checks only
Factored out the indexed memory operation correctness check into D417101.
Fri, Dec 22
clang-format and fix missing check that we're using EA output in address calc.
Thu, Dec 21
Wed, Dec 20
LGTM modulo rksimon's comment.
Tue, Dec 19
Dec 18 2017
All of the current tests look good to me. I think you should add some tests for non-byte shifts.
Dec 15 2017
Do you have a reasonable test case of the failing case you can add?
The previous acceptance still applies. You can explicitly request a review
Dec 13 2017
So if the Load is the same size as the mask, we used insert an AND but we don't end up eliding it? That seems like a fence post error elsewhere and it may be worth checking that out.
Dec 12 2017
Dec 11 2017
Rebase past nontemporal store update.
Rebase past updated nontemporal tests.
Dec 7 2017
Previously this transformation missed the the i64 load/non-temporal store pair and as a result they get split into a i32 operations. Because this aligns with the nontemporal store of the doubleword value in 12(%ebp) another transformation elides that pair (which given what this test look at is probably indicative that this test needs some sort of fencing added).
Are we supposed to be losing the non temporal property during this transformation
Remove unused NewStore definitions.
Dec 6 2017
Fix chain computation in 64-bit to 2x32-bit path.
This is missing a fix in the store generation. Fixing now.
D40701 has landed so this should be set. Can you commit this test case?
AArch64 failing case is failing because we did not check that constucted BUILD_VECTOR elements were legal.
Dec 5 2017
I don't think I've seen that one. Can you send that test case to me so I can reproduce it?
Modulo the extra NodeToMask lines in zero extend case, this LGTM. Thanks!
Dec 4 2017
I've disable store merges of FP constants with truncation as it's not clear what is the right behavior at the moment.
Dec 1 2017
LGTM. Also you should generally feel free to just commit tests directly.
Nov 30 2017
Passing a struct of i16 by load to generate a BUILD_PAIR and
Nov 29 2017
Nov 27 2017
I've done a double check myself for all in-tree uses and all the uses of areNonVolatileConsecutiveLoads should be fine as well.
Nov 26 2017
This endianness problem is probably also latent where do load combination, but we should sink this check into areNonVolatileConsecutiveLoads and MatchLoadCombine.
Nov 21 2017
Nov 20 2017
Nov 17 2017
LGTM modulo added check.
We definitely shouldn't be doing this at O0. We should probably add the same check for FindBetterChain as well.
Add OpSizeIgnore modifier to allow consumption of optional 0x66 bytes and remove invalid instructions.
Ping. I think we're all set here. Can I get an LGTM?
Nov 13 2017
If the Aarch64 tests look good, I think this should be landable. The only remaining test that is more than a simple merge is the Mips/cconv/vector.ll test where the store merging allows the value stored on the stack to be forwarded to a now matching load and the stores and loads excised.
Nov 9 2017
Nov 6 2017
Resurrecting after long hiatus.
Already handled in D38547
Oct 4 2017
This is the same fix as in D18663 (which is now way out of date) but with a test case! This should be all of PR10114 and we can finally mark it fixed.
Sep 18 2017
LGTM. It would be nice if we could defer ISel lowering parts occuring during legalization so we can remove the pre-legalization step,
Sep 8 2017
Yet another case of unused nodes being left behind and causing degradation. We should change the behavior of the DAG ReplaceAllUses-ish functions to check if the old source node becomes unused and if so delete the node. This would obviate the need for this patch and catch the lion share of these sorts of issues but will cause assertions in cases a bunch of cases (which is a better situation than the current silent degradation). I have a first-cut patch (D36643) which fixes just the DAGCombiner CombineTo function and all of the assertion failures from update ordering / double deletions.
Sep 5 2017
The attributes in the test case can probably be pruned, but otherwise LGTM. Thanks.