Page MenuHomePhabricator

dfukalov (Daniil Fukalov)
Compiler Engineer at AMD

Projects

User does not belong to any projects.

User Details

User Since
Mar 27 2014, 8:40 AM (367 w, 5 d)

Recent Activity

Today

dfukalov added inline comments to D98718: [AA][NFC] Convert AliasResult to class containing offset for PartialAlias case..
Tue, Apr 13, 9:59 AM · Restricted Project

Yesterday

dfukalov added inline comments to D95543: [GVN] Clobber partially aliased loads..
Mon, Apr 12, 10:59 AM · Restricted Project
dfukalov updated the diff for D95543: [GVN] Clobber partially aliased loads..

Addressing comments.

Mon, Apr 12, 10:47 AM · Restricted Project
dfukalov abandoned D100330: [GVN] Clobber partially aliased loads..

Created new review instead of update. Sorry for noise.

Mon, Apr 12, 10:46 AM · Restricted Project
dfukalov requested review of D100330: [GVN] Clobber partially aliased loads..
Mon, Apr 12, 10:44 AM · Restricted Project

Fri, Apr 9

dfukalov committed rG8f4b7e94a2b4: [AMDGPU][CostModel] Refine cost model for control-flow instructions. (authored by dfukalov).
[AMDGPU][CostModel] Refine cost model for control-flow instructions.
Fri, Apr 9, 11:21 PM
dfukalov closed D96805: [AMDGPU][CostModel] Refine cost model for control-flow instructions..
Fri, Apr 9, 11:20 PM · Restricted Project
dfukalov updated the diff for D96805: [AMDGPU][CostModel] Refine cost model for control-flow instructions..

Updated threshold and conditional branch cost-size after performance testing.

Fri, Apr 9, 1:18 PM · Restricted Project
dfukalov added a comment to D98718: [AA][NFC] Convert AliasResult to class containing offset for PartialAlias case..

@nikic, I didn't notice your comments before push, will address your comments in different patch.

Fri, Apr 9, 6:30 AM · Restricted Project
dfukalov updated the diff for D95543: [GVN] Clobber partially aliased loads..

Removed unneeded change in MemorySSATest.cpp.

Fri, Apr 9, 3:38 AM · Restricted Project
dfukalov updated the diff for D95543: [GVN] Clobber partially aliased loads..

Rebased after preparation changes (D98027+D98718) committed.

Fri, Apr 9, 3:33 AM · Restricted Project
dfukalov committed rGc1a88e007b04: [AA][NFC] Convert AliasResult to class containing offset for PartialAlias case. (authored by dfukalov).
[AA][NFC] Convert AliasResult to class containing offset for PartialAlias case.
Fri, Apr 9, 3:26 AM
dfukalov closed D98718: [AA][NFC] Convert AliasResult to class containing offset for PartialAlias case..
Fri, Apr 9, 3:26 AM · Restricted Project
dfukalov committed rGd066079728b9: [NFC][AA] Prepare to convert AliasResult to class with PartialAlias offset. (authored by dfukalov).
[NFC][AA] Prepare to convert AliasResult to class with PartialAlias offset.
Fri, Apr 9, 2:55 AM
dfukalov closed D98027: [NFC][AA] Prepare to convert AliasResult to class with PartialAlias offset..
Fri, Apr 9, 2:54 AM · Restricted Project

Wed, Apr 7

dfukalov updated the summary of D95543: [GVN] Clobber partially aliased loads..
Wed, Apr 7, 12:27 PM · Restricted Project
dfukalov updated the diff for D95543: [GVN] Clobber partially aliased loads..

Rebased to use reworked AliasResult in D98718.

Wed, Apr 7, 12:26 PM · Restricted Project
dfukalov added a comment to D98718: [AA][NFC] Convert AliasResult to class containing offset for PartialAlias case..

I was not sure this patch will be landed so left GVN patch based on previous already landed (cached) offset storage.

Wed, Apr 7, 7:49 AM · Restricted Project

Fri, Apr 2

dfukalov added a comment to D98718: [AA][NFC] Convert AliasResult to class containing offset for PartialAlias case..

@nikic, @asbirlea would you please review the patch?
It blocks GVN related D95543.

Fri, Apr 2, 9:57 AM · Restricted Project

Fri, Mar 26

dfukalov added a comment to D98718: [AA][NFC] Convert AliasResult to class containing offset for PartialAlias case..

Ping...

Fri, Mar 26, 7:34 AM · Restricted Project

Fri, Mar 19

dfukalov added a comment to D98718: [AA][NFC] Convert AliasResult to class containing offset for PartialAlias case..
Fri, Mar 19, 7:43 AM · Restricted Project

Thu, Mar 18

dfukalov added a comment to D98718: [AA][NFC] Convert AliasResult to class containing offset for PartialAlias case..

I see there you experimented with 8 bits for Result and zero init for Offset field - I agree it's a good ideas.

Thu, Mar 18, 1:08 PM · Restricted Project
dfukalov updated the diff for D98718: [AA][NFC] Convert AliasResult to class containing offset for PartialAlias case..
  • Fixed swapping already cached result.
  • Result bit field size set to 8 bits, Offset field initialized with zero.
Thu, Mar 18, 1:07 PM · Restricted Project
dfukalov added inline comments to D98718: [AA][NFC] Convert AliasResult to class containing offset for PartialAlias case..
Thu, Mar 18, 2:37 AM · Restricted Project

Wed, Mar 17

dfukalov added inline comments to D98718: [AA][NFC] Convert AliasResult to class containing offset for PartialAlias case..
Wed, Mar 17, 4:36 PM · Restricted Project
dfukalov added a comment to D98718: [AA][NFC] Convert AliasResult to class containing offset for PartialAlias case..

@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?

Wed, Mar 17, 6:25 AM · Restricted Project
dfukalov updated the diff for D98718: [AA][NFC] Convert AliasResult to class containing offset for PartialAlias case..

Addressed comments.

Wed, Mar 17, 6:16 AM · Restricted Project

Tue, Mar 16

dfukalov planned changes to D95543: [GVN] Clobber partially aliased loads..

The patch should be updated after converting AliasResult.

Tue, Mar 16, 9:21 AM · Restricted Project
dfukalov added inline comments to D98718: [AA][NFC] Convert AliasResult to class containing offset for PartialAlias case..
Tue, Mar 16, 9:17 AM · Restricted Project
dfukalov requested review of D98718: [AA][NFC] Convert AliasResult to class containing offset for PartialAlias case..
Tue, Mar 16, 9:13 AM · Restricted Project

Mar 12 2021

dfukalov accepted D98362: [AMDGPU] Fix -amdgpu-inline-arg-alloca-cost.

Thanks!

Mar 12 2021, 10:01 AM · Restricted Project

Mar 11 2021

dfukalov added a comment to D98362: [AMDGPU] Fix -amdgpu-inline-arg-alloca-cost.

Do you have any test for the fix?

Mar 11 2021, 5:33 AM · Restricted Project

Mar 10 2021

dfukalov added inline comments to D98027: [NFC][AA] Prepare to convert AliasResult to class with PartialAlias offset..
Mar 10 2021, 10:08 AM · Restricted Project
dfukalov updated the diff for D98027: [NFC][AA] Prepare to convert AliasResult to class with PartialAlias offset..

Converted all AliasAnalysis::alias() == AliasResult::NoAlias to
AliasAnalysis::isNoAlias().

Mar 10 2021, 10:05 AM · Restricted Project
dfukalov updated the diff for D98027: [NFC][AA] Prepare to convert AliasResult to class with PartialAlias offset..

Made the enum unscoped back since it going to be unscoped within a class planned
to be new AliasResult.

Mar 10 2021, 8:48 AM · Restricted Project

Mar 6 2021

dfukalov added inline comments to D98027: [NFC][AA] Prepare to convert AliasResult to class with PartialAlias offset..
Mar 6 2021, 7:42 AM · Restricted Project

Mar 5 2021

dfukalov added a comment to D98027: [NFC][AA] Prepare to convert AliasResult to class with PartialAlias offset..

No, I don't have a patch at the moment, but will upload one since you're generally ok with this step.

Mar 5 2021, 9:46 AM · Restricted Project
dfukalov updated subscribers of D98027: [NFC][AA] Prepare to convert AliasResult to class with PartialAlias offset..
Mar 5 2021, 3:10 AM · Restricted Project
dfukalov requested review of D98027: [NFC][AA] Prepare to convert AliasResult to class with PartialAlias offset..
Mar 5 2021, 3:06 AM · Restricted Project

Mar 4 2021

dfukalov committed rG9899427174b4: [NFC][AliasSetTracker] Remove implicit conversion AliasResult to integer. (authored by dfukalov).
[NFC][AliasSetTracker] Remove implicit conversion AliasResult to integer.
Mar 4 2021, 1:54 PM
dfukalov closed D97973: [NFC][AliasSetTracker] Remove implicit conversion AliasResult to integer..
Mar 4 2021, 1:53 PM · Restricted Project
dfukalov requested review of D97973: [NFC][AliasSetTracker] Remove implicit conversion AliasResult to integer..
Mar 4 2021, 12:18 PM · Restricted Project

Mar 3 2021

dfukalov updated subscribers of D95543: [GVN] Clobber partially aliased loads..
Mar 3 2021, 8:40 AM · Restricted Project
dfukalov retitled D95543: [GVN] Clobber partially aliased loads. from [WIP][GVN] Clobber partially aliased loads. to [GVN] Clobber partially aliased loads..
Mar 3 2021, 8:39 AM · Restricted Project
dfukalov updated the diff for D95543: [GVN] Clobber partially aliased loads..

Implementation.

Mar 3 2021, 8:33 AM · Restricted Project

Mar 2 2021

dfukalov added a comment to D97676: [DSE] Extending isOverwrite to support offsetted fully overlapping stores.

I noticed @dfukalov planned to fix the DSE after their patch, so I'm not sure if I should delete mine, as their fixes/improvements may be covering more cases compared to my isolated test file.

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
Mar 2 2021, 8:22 AM · Restricted Project
dfukalov committed rG6e967834b9fa: [AA] Cache (optionally) estimated PartialAlias offsets. (authored by dfukalov).
[AA] Cache (optionally) estimated PartialAlias offsets.
Mar 2 2021, 8:04 AM
dfukalov closed D93529: [AA] Cache (optionally) estimated PartialAlias offsets..
Mar 2 2021, 8:04 AM · Restricted Project
dfukalov updated the diff for D93529: [AA] Cache (optionally) estimated PartialAlias offsets..

Rebased, addressed comments.

Mar 2 2021, 7:39 AM · Restricted Project

Mar 1 2021

dfukalov added a comment to D93529: [AA] Cache (optionally) estimated PartialAlias offsets..

@asbirlea, @nikic, would you please take a look at the updated patch?

Mar 1 2021, 10:00 AM · Restricted Project

Feb 17 2021

dfukalov added a comment to D93529: [AA] Cache (optionally) estimated PartialAlias offsets..

Ping...

Feb 17 2021, 11:44 PM · Restricted Project

Feb 16 2021

dfukalov added a comment to D96805: [AMDGPU][CostModel] Refine cost model for control-flow instructions..

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 16 2021, 3:38 PM · Restricted Project
dfukalov requested review of D96805: [AMDGPU][CostModel] Refine cost model for control-flow instructions..
Feb 16 2021, 11:21 AM · Restricted Project

Feb 10 2021

dfukalov added a comment to D93529: [AA] Cache (optionally) estimated PartialAlias offsets..

Ping...

Feb 10 2021, 9:23 AM · Restricted Project

Feb 3 2021

dfukalov added a comment to D93529: [AA] Cache (optionally) estimated PartialAlias offsets..

Gentle ping...

Feb 3 2021, 3:08 AM · Restricted Project

Feb 1 2021

dfukalov added inline comments to D94363: [AA] Pass AAResults through AAQueryInfo.
Feb 1 2021, 5:01 PM · Restricted Project

Jan 31 2021

dfukalov added inline comments to D95748: AMDGPU: Fix dbg_value handling when forming soft clause bundles.
Jan 31 2021, 3:52 PM · Restricted Project

Jan 27 2021

dfukalov retitled D93529: [AA] Cache (optionally) estimated PartialAlias offsets. from [AA] Store and return estimated PartialAlias offsets. to [AA] Cache (optionally) estimated PartialAlias offsets..
Jan 27 2021, 11:32 AM · Restricted Project
dfukalov added a comment to D93529: [AA] Cache (optionally) estimated PartialAlias offsets..

... Could you (re-)upload a concrete use case as dependent patch?

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.

Jan 27 2021, 11:30 AM · Restricted Project
dfukalov updated the diff for D93529: [AA] Cache (optionally) estimated PartialAlias offsets..

Added memory sizes to map key, BatchAA can be created without caching.

Jan 27 2021, 11:21 AM · Restricted Project
dfukalov planned changes to D95543: [GVN] Clobber partially aliased loads..
Jan 27 2021, 10:18 AM · Restricted Project
dfukalov requested review of D95543: [GVN] Clobber partially aliased loads..
Jan 27 2021, 10:17 AM · Restricted Project

Jan 22 2021

dfukalov added inline comments to D93529: [AA] Cache (optionally) estimated PartialAlias offsets..
Jan 22 2021, 10:49 AM · Restricted Project
dfukalov updated the diff for D93529: [AA] Cache (optionally) estimated PartialAlias offsets..

Comments addressed.

Jan 22 2021, 10:47 AM · Restricted Project

Jan 20 2021

dfukalov committed rG560d7e04113b: [NFC][AMDGPU] Split AMDGPUSubtarget.h to R600 and GCN subtargets (authored by dfukalov).
[NFC][AMDGPU] Split AMDGPUSubtarget.h to R600 and GCN subtargets
Jan 20 2021, 11:23 AM
dfukalov closed D95036: [NFC][AMDGPU] Split AMDGPUSubtarget.h to R600 and GCN subtargets.
Jan 20 2021, 11:23 AM · Restricted Project
dfukalov retitled D95036: [NFC][AMDGPU] Split AMDGPUSubtarget.h to R600 and GCN subtargets from [NFC][AMDGPU] Split AMDGPUSubtarget.h to R600 and GCN subtargets. to [NFC][AMDGPU] Split AMDGPUSubtarget.h to R600 and GCN subtargets.
Jan 20 2021, 7:55 AM · Restricted Project
dfukalov added a comment to D95036: [NFC][AMDGPU] Split AMDGPUSubtarget.h to R600 and GCN subtargets.

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 20 2021, 7:52 AM · Restricted Project
dfukalov requested review of D95036: [NFC][AMDGPU] Split AMDGPUSubtarget.h to R600 and GCN subtargets.
Jan 20 2021, 4:59 AM · Restricted Project

Jan 19 2021

dfukalov retitled D93529: [AA] Cache (optionally) estimated PartialAlias offsets. from [GVN][BasicAA] Enable clobbering in GVN. to [AA] Store and return estimated PartialAlias offsets..
Jan 19 2021, 2:55 PM · Restricted Project
dfukalov updated the summary of D93529: [AA] Cache (optionally) estimated PartialAlias offsets..
Jan 19 2021, 2:53 PM · Restricted Project
dfukalov updated the diff for D93529: [AA] Cache (optionally) estimated PartialAlias offsets..

AA part of the splitted patch.

Jan 19 2021, 2:49 PM · Restricted Project

Jan 18 2021

dfukalov added a comment to D93529: [AA] Cache (optionally) estimated PartialAlias offsets..

IIUC this is similar to the handling of partial overwrites in DSE (https://github.com/llvm/llvm-project/blob/master/llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp#L548)?

If so, could we just generalize the helper there, rather than threading this through the different caches from BasicAA to GVN? Yes, we have to do some extra work in GVN, but there would be no need to maintain a cached value not used by other clients, it will work with any AA implementations returning partial alias & there will be no extra work when moving away from MemDepAnalysis.

Jan 18 2021, 3:56 PM · Restricted Project
dfukalov added a comment to D93529: [AA] Cache (optionally) estimated PartialAlias offsets..

Ping. I'm going to submit the change on Friday if no objections are observed.

Jan 18 2021, 1:28 AM · Restricted Project

Jan 13 2021

dfukalov added reviewers for D93529: [AA] Cache (optionally) estimated PartialAlias offsets.: jdoerfert, hliao, reames.
Jan 13 2021, 4:48 AM · Restricted Project

Jan 7 2021

dfukalov committed rG6a87e9b08bf0: [NFC][AMDGPU] Reduce include files dependency. (authored by dfukalov).
[NFC][AMDGPU] Reduce include files dependency.
Jan 7 2021, 11:22 AM
dfukalov closed D93813: [NFC][AMDGPU] Reduce include files dependency..
Jan 7 2021, 11:22 AM · Restricted Project

Jan 6 2021

dfukalov added a comment to D93529: [AA] Cache (optionally) estimated PartialAlias offsets..

Ping...

Jan 6 2021, 6:14 AM · Restricted Project
dfukalov added inline comments to D93813: [NFC][AMDGPU] Reduce include files dependency..
Jan 6 2021, 6:14 AM · Restricted Project
dfukalov updated the diff for D93813: [NFC][AMDGPU] Reduce include files dependency..

Fixed include in wrong line, rebased.

Jan 6 2021, 6:13 AM · Restricted Project

Dec 28 2020

dfukalov added a comment to D93529: [AA] Cache (optionally) estimated PartialAlias offsets..

Ping...

Dec 28 2020, 12:49 AM · Restricted Project

Dec 25 2020

dfukalov requested review of D93813: [NFC][AMDGPU] Reduce include files dependency..
Dec 25 2020, 7:53 AM · Restricted Project

Dec 23 2020

dfukalov added inline comments to D93685: [MIRPrinter] Fix incorrect output of unnamed stack names.
Dec 23 2020, 4:53 PM · Restricted Project
dfukalov added inline comments to D93685: [MIRPrinter] Fix incorrect output of unnamed stack names.
Dec 23 2020, 3:38 AM · Restricted Project

Dec 22 2020

dfukalov added a comment to D93685: [MIRPrinter] Fix incorrect output of unnamed stack names.

It seems patch should include update for alloca-crspill.ll test (failed Unit Tests precheckin).

Dec 22 2020, 7:12 AM · Restricted Project

Dec 21 2020

dfukalov added inline comments to D93529: [AA] Cache (optionally) estimated PartialAlias offsets..
Dec 21 2020, 4:41 AM · Restricted Project
dfukalov updated the diff for D93529: [AA] Cache (optionally) estimated PartialAlias offsets..

Rebased, change reworked as requested.

Dec 21 2020, 4:34 AM · Restricted Project

Dec 18 2020

dfukalov requested review of D93529: [AA] Cache (optionally) estimated PartialAlias offsets..
Dec 18 2020, 2:42 AM · Restricted Project

Dec 17 2020

dfukalov committed rG9ed8e0caab9b: [NFC] Reduce include files dependency and AA header cleanup (part 2). (authored by dfukalov).
[NFC] Reduce include files dependency and AA header cleanup (part 2).
Dec 17 2020, 3:05 AM
dfukalov closed D92852: [NFC] Reduce include files dependency and AA header cleanup (part 2)..
Dec 17 2020, 3:05 AM · Restricted Project, Restricted Project

Dec 16 2020

dfukalov added a comment to D92852: [NFC] Reduce include files dependency and AA header cleanup (part 2)..

Ping...

Dec 16 2020, 3:20 AM · Restricted Project, Restricted Project

Dec 9 2020

dfukalov added inline comments to D92852: [NFC] Reduce include files dependency and AA header cleanup (part 2)..
Dec 9 2020, 7:23 AM · Restricted Project, Restricted Project
dfukalov updated the diff for D92852: [NFC] Reduce include files dependency and AA header cleanup (part 2)..
Dec 9 2020, 6:08 AM · Restricted Project, Restricted Project
dfukalov updated the diff for D92852: [NFC] Reduce include files dependency and AA header cleanup (part 2)..

Splitting change as requested.

Dec 9 2020, 5:57 AM · Restricted Project, Restricted Project

Dec 8 2020

dfukalov added inline comments to D92852: [NFC] Reduce include files dependency and AA header cleanup (part 2)..
Dec 8 2020, 11:33 AM · Restricted Project, Restricted Project
dfukalov added inline comments to D92852: [NFC] Reduce include files dependency and AA header cleanup (part 2)..
Dec 8 2020, 8:19 AM · Restricted Project, Restricted Project
dfukalov requested review of D92852: [NFC] Reduce include files dependency and AA header cleanup (part 2)..
Dec 8 2020, 8:14 AM · Restricted Project, Restricted Project

Dec 3 2020

dfukalov committed rG2ce38b3f0384: [NFC] Reduce include files dependency. (authored by dfukalov).
[NFC] Reduce include files dependency.
Dec 3 2020, 7:25 AM
dfukalov closed D92489: [NFC] Reduce include files dependency..
Dec 3 2020, 7:25 AM · Restricted Project

Dec 2 2020

dfukalov updated the diff for D92489: [NFC] Reduce include files dependency..

Addressed comment, fixed polly build, fixed clang-tidy comments.

Dec 2 2020, 12:07 PM · Restricted Project