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 (90 w, 2 d)

Recent Activity

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