User Details
- User Since
- Mar 27 2014, 8:40 AM (367 w, 5 d)
Today
Yesterday
Addressing comments.
Created new review instead of update. Sorry for noise.
Fri, Apr 9
Updated threshold and conditional branch cost-size after performance testing.
@nikic, I didn't notice your comments before push, will address your comments in different patch.
Removed unneeded change in MemorySSATest.cpp.
Wed, Apr 7
Rebased to use reworked AliasResult in D98718.
I was not sure this patch will be landed so left GVN patch based on previous already landed (cached) offset storage.
Fri, Apr 2
Fri, Mar 26
Ping...
Fri, Mar 19
Thu, Mar 18
I see there you experimented with 8 bits for Result and zero init for Offset field - I agree it's a good ideas.
- Fixed swapping already cached result.
- Result bit field size set to 8 bits, Offset field initialized with zero.
Wed, Mar 17
@nikic thanks for review, and what do you think about Optional<AliasResult> - should it be refactored to Optional<AliasResult::Result> in MemorySSA?
Or, possibly, will this module use PartialAlias offsets?
Addressed comments.
Tue, Mar 16
The patch should be updated after converting AliasResult.
Mar 12 2021
Thanks!
Mar 11 2021
Do you have any test for the fix?
Mar 10 2021
Converted all AliasAnalysis::alias() == AliasResult::NoAlias to
AliasAnalysis::isNoAlias().
Made the enum unscoped back since it going to be unscoped within a class planned
to be new AliasResult.
Mar 6 2021
Mar 5 2021
No, I don't have a patch at the moment, but will upload one since you're generally ok with this step.
Mar 4 2021
Mar 3 2021
Implementation.
Mar 2 2021
I planned to work on DSE after GVN (eliminating redundant loads).
It seems these two fixes may be independent, but you can check my GVN approach in the diff: https://reviews.llvm.org/D93529?id=313082.
My test case for DSE fix is
define void @foo(float* %arg, i32 %i) { bb: %i7 = add nuw nsw i32 %i, 1 %i8 = zext i32 %i7 to i64 %i9 = getelementptr inbounds float, float* %arg, i64 %i8 store float undef, float* %i9, align 4
Rebased, addressed comments.
Mar 1 2021
Feb 17 2021
Ping...
Feb 16 2021
It seems to me this threshold bump partially compensated by cbr cost increase in all cases of unroll loops with ifs, where it is multiplicated by trip count.
This threshold bumped because of test/CodeGen/AMDGPU/unroll.ll, where started to fail
Feb 10 2021
Ping...
Feb 3 2021
Gentle ping...
Feb 1 2021
Jan 31 2021
Jan 27 2021
I've just created D95543 with the test for upcoming changes in GVN. It is actually the same code as one used in unit test in this patch.
Added memory sizes to map key, BatchAA can be created without caching.
Jan 22 2021
Comments addressed.
Jan 20 2021
The main reason was reducing include dependencies and so source files re-builds. At the moment both GCN and R600 targets rebuild if one just changes one option in GCN related code. Actually this is the first part of split, I was thinking about splitting AMDGPUSubtarget.cpp then, and following AMDGPUMCTargetDesc.h (it currently contains both GCN+R600 tablegen output).
Jan 19 2021
AA part of the splitted patch.
Jan 18 2021
Ping. I'm going to submit the change on Friday if no objections are observed.
Jan 13 2021
Jan 7 2021
Jan 6 2021
Ping...
Fixed include in wrong line, rebased.
Dec 28 2020
Ping...
Dec 25 2020
Dec 23 2020
Dec 22 2020
It seems patch should include update for alloca-crspill.ll test (failed Unit Tests precheckin).
Dec 21 2020
Rebased, change reworked as requested.
Dec 18 2020
Dec 17 2020
Dec 16 2020
Ping...
Dec 9 2020
Splitting change as requested.
Dec 8 2020
Dec 3 2020
Dec 2 2020
Addressed comment, fixed polly build, fixed clang-tidy comments.