Page MenuHomePhabricator

alexey.zhikhar (Alexey Zhikhartsev)
User

Projects

User does not belong to any projects.

User Details

User Since
Mar 21 2018, 12:29 PM (148 w, 2 d)

Recent Activity

Mar 12 2020

alexey.zhikhar added inline comments to D75943: [LoopInterchange] Fix interchanging contents of preheader BBs.
Mar 12 2020, 9:46 AM · Restricted Project
alexey.zhikhar updated the diff for D75943: [LoopInterchange] Fix interchanging contents of preheader BBs.

Addressed the rest of Florian's comments.

Mar 12 2020, 9:46 AM · Restricted Project
alexey.zhikhar retitled D75943: [LoopInterchange] Fix interchanging contents of preheader BBs from [LoopInterchange] Do not break LCSSA to [LoopInterchange] Fix interchanging contents of preheader BBs.
Mar 12 2020, 9:46 AM · Restricted Project

Mar 11 2020

alexey.zhikhar added inline comments to D75943: [LoopInterchange] Fix interchanging contents of preheader BBs.
Mar 11 2020, 10:45 AM · Restricted Project
alexey.zhikhar updated the diff for D75943: [LoopInterchange] Fix interchanging contents of preheader BBs.

Addressed part of Florian's comments.

Mar 11 2020, 10:45 AM · Restricted Project

Mar 10 2020

alexey.zhikhar added a comment to D75943: [LoopInterchange] Fix interchanging contents of preheader BBs.

CFG before the patch, LCSSA broken:

Mar 10 2020, 10:20 AM · Restricted Project
alexey.zhikhar created D75943: [LoopInterchange] Fix interchanging contents of preheader BBs.
Mar 10 2020, 10:19 AM · Restricted Project

Feb 13 2020

alexey.zhikhar added a comment to D68515: [PATCH 20/27] [noalias] SROA/PromoteMemoryToRegister: Learn how to handle noalias intrinsics.

Is the bitcast introduced by 'clang' (frontend), or was it introduced by one of the optimization passes ? In the latter case, which pass is this? We should probably handle it and
treat it as a 'gep with all-0 indices'... And make sure that the pointer-type for the llvm.noalias is somewhat usable.

If it is based on 'a pointer to int' conversion in the c-language, then it should be ok to just ignore it.

Feb 13 2020, 7:21 AM · Restricted Project

Feb 11 2020

alexey.zhikhar added a comment to D68515: [PATCH 20/27] [noalias] SROA/PromoteMemoryToRegister: Learn how to handle noalias intrinsics.

Jeroen, we discovered an assertion in introduceNoAliasWhenCopyGuardIndicesAreCompatible() for the case described below; we would appreciate your input.

Feb 11 2020, 4:11 PM · Restricted Project

Mar 22 2019

alexey.zhikhar added a comment to D52896: MergeSimilarFunctions 1/n: a code size pass to merge functions with small differences.

@hiraditya Thank you very much for the code, I'm very interested in it. I'm trying to compile this and the 2/n revision together but I'm getting compilation failures, e.g.:

Mar 22 2019, 11:00 AM · Restricted Project

Aug 7 2018

alexey.zhikhar added a comment to D49994: Allow constraining virtual register's class within reason.

I'd like an explanation for why the generated code is changing for AArch64... generating extra copies clearly seems like a downside. And there isn't any obvious reason for this change to impact register allocation: on AArch64, all i32 register classes contain exactly the same set of allocatable registers.

Aug 7 2018, 1:30 PM
alexey.zhikhar added a reviewer for D49994: Allow constraining virtual register's class within reason: t.p.northover.

For some of the failing ARM/AArch64 tests, I see additional mov-s being performed; for example, in CodeGen/AArch64/and-sink.ll: if you take a look at the assembly after applying the patch, you will see an addtional mov for the trace when %c (w1) equals to zero. I'm not sure how important it is, so I would appreciate some feedback from ARM/AArch64 backend people. Please note that for performance-critical atomic compare-and-swap operations, performance is unchanged.

Aug 7 2018, 12:13 PM
alexey.zhikhar updated the diff for D49994: Allow constraining virtual register's class within reason.

Differential is updated with:

Aug 7 2018, 12:10 PM

Aug 1 2018

alexey.zhikhar added a comment to D49994: Allow constraining virtual register's class within reason.

All the test failures are mismatches between expected assembly and assembly produced. One exception is CodeGen/AMDGPU/early-if-convert.ll, where the backend fails with an assertion:

Aug 1 2018, 10:42 AM
alexey.zhikhar added a comment to D49994: Allow constraining virtual register's class within reason.

The new code for f2 in cond-move-03.ll is in fact better, since it now actually uses the conditional move instruction instead of a branch ...

Aug 1 2018, 10:26 AM
alexey.zhikhar added a comment to D49994: Allow constraining virtual register's class within reason.

@jonpa Jonas, I see a different assembly in one of SystemZ unit tests; my memory of Z is pretty fuzzy, so could you please make sense of the change to see whether it is reasonable?

Aug 1 2018, 9:24 AM

Jul 31 2018

alexey.zhikhar added a comment to D49994: Allow constraining virtual register's class within reason.

This patch fails 14 tests; however, it seems that the problem is not in the patch but in flaky test cases. I took a quick look at CodeGen/PowerPC/vsx.ll: the test case fails after not finding copy instructions, which were redundant and expectedly removed by this patch.

Jul 31 2018, 8:23 AM
alexey.zhikhar added a comment to D49994: Allow constraining virtual register's class within reason.

This patch fails 14 tests; however, it seems that the problem is not in the patch but in flaky test cases. I took a quick look at CodeGen/PowerPC/vsx.ll: the test case fails after not finding copy instructions, which were redundant and expectedly removed by this patch.

Jul 31 2018, 6:01 AM
alexey.zhikhar added a comment to D49994: Allow constraining virtual register's class within reason.

Is this making sense, and what are your thoughts? What happens if you run your out-of-tree test cases with the SystemZ (-mcpu=z13) backend? Do you see any improvement? In that case, it seems like we have a test of real worth...

Jul 31 2018, 5:45 AM

Jul 30 2018

alexey.zhikhar added a comment to D49994: Allow constraining virtual register's class within reason.

Probably needs tests. (Not that i know how to write one here)

Jul 30 2018, 10:26 AM
alexey.zhikhar updated the summary of D49994: Allow constraining virtual register's class within reason.
Jul 30 2018, 10:14 AM
alexey.zhikhar updated the summary of D49994: Allow constraining virtual register's class within reason.
Jul 30 2018, 10:13 AM
alexey.zhikhar created D49994: Allow constraining virtual register's class within reason.
Jul 30 2018, 10:06 AM