Page MenuHomePhabricator

yrouban (Yevgeny Rouban)
User

Projects

User does not belong to any projects.

User Details

User Since
Jul 4 2017, 1:39 AM (206 w, 2 d)

Recent Activity

Wed, Jun 9

yrouban updated the diff for D103887: [StackMaps] Force section serialization for functions with no records.

fixed nits reported by build bots

Wed, Jun 9, 8:50 PM · Restricted Project

Tue, Jun 8

yrouban requested review of D103887: [StackMaps] Force section serialization for functions with no records.
Tue, Jun 8, 4:15 AM · Restricted Project

Thu, May 27

yrouban requested review of D103240: [RS4GC] Use one DVCache for both inlineGetBaseAndOffset() and insertParsePoints().
Thu, May 27, 4:03 AM · Restricted Project
yrouban requested review of D103238: [RS4GC] Add a test to demonstrate duplication of base generation. NFC.
Thu, May 27, 3:58 AM · Restricted Project

Wed, May 26

yrouban committed rG4d26f41f76c4: [RS4GC] Introduce intrinsics to get base ptr and offset (authored by yrouban).
[RS4GC] Introduce intrinsics to get base ptr and offset
Wed, May 26, 7:16 PM
yrouban closed D100445: [RS4GC] Introduce intrinsics to get base ptr and offset.
Wed, May 26, 7:15 PM · Restricted Project
yrouban updated the summary of D100445: [RS4GC] Introduce intrinsics to get base ptr and offset.
Wed, May 26, 7:00 PM · Restricted Project
yrouban updated the diff for D100445: [RS4GC] Introduce intrinsics to get base ptr and offset.

Philip, thank you for comments. I believe I addressed them all.

Wed, May 26, 3:43 AM · Restricted Project

Mon, May 24

yrouban planned changes to D100445: [RS4GC] Introduce intrinsics to get base ptr and offset.
Mon, May 24, 7:53 PM · Restricted Project
yrouban added a comment to D100445: [RS4GC] Introduce intrinsics to get base ptr and offset.

I'm still working on the next version.

Mon, May 24, 2:12 AM · Restricted Project

Fri, May 21

yrouban closed D102631: Allow incomplete template types in unique_function arguments.

I have just committed the patch as
https://reviews.llvm.org/rGe3eaff10b29d8bb85a0d09e6bb72fbdb7cc9c3ea
Sorry I forget to add the 'Differential Revision:' line to the comment.

Fri, May 21, 12:15 AM · Restricted Project
yrouban committed rGe3eaff10b29d: Allow incomplete template types in unique_function arguments (authored by yrouban).
Allow incomplete template types in unique_function arguments
Fri, May 21, 12:10 AM

Wed, May 19

yrouban added a comment to D102631: Allow incomplete template types in unique_function arguments.

I'm ok with the patch and will land it. Lets wait for @DaniilSuchkov's resolution.

Wed, May 19, 10:53 PM · Restricted Project

May 18 2021

yrouban accepted D102631: Allow incomplete template types in unique_function arguments.

lgtm

May 18 2021, 7:21 PM · Restricted Project

Apr 13 2021

yrouban requested review of D100445: [RS4GC] Introduce intrinsics to get base ptr and offset.
Apr 13 2021, 10:10 PM · Restricted Project

Apr 8 2021

yrouban updated the diff for D100009: [WIP][Statepoint Lowering] Allow other than N byte sized types in deopt bundle.

Added 3 test cases with live-in deopt values that crash.
Removed one unrelated comment .
Fixed couple of places with hardcoded 64 const.
Marked the patch as work-in-progress.

Apr 8 2021, 8:39 AM · Restricted Project
yrouban planned changes to D100009: [WIP][Statepoint Lowering] Allow other than N byte sized types in deopt bundle.
Apr 8 2021, 4:36 AM · Restricted Project

Apr 7 2021

yrouban committed rG3e738afae4b5: [Statepoint Lowering] Allow other than N byte sized types in deopt bundle (authored by yrouban).
[Statepoint Lowering] Allow other than N byte sized types in deopt bundle
Apr 7 2021, 3:49 AM
yrouban closed D100006: [Statepoint Lowering] Allow other than N byte sized types in deopt bundle.
Apr 7 2021, 3:49 AM · Restricted Project

Apr 6 2021

yrouban added a comment to D100006: [Statepoint Lowering] Allow other than N byte sized types in deopt bundle.

LGTM, looks straight forward.

Though, can you share a bit of motivation? I'm curious where this is useful.

I found this constraint accidentally while preparing a test for D100009 where I wanted to check that an arbitrary sized types are ok for spill slot size promotion.

Apr 6 2021, 9:32 PM · Restricted Project
yrouban requested review of D100009: [WIP][Statepoint Lowering] Allow other than N byte sized types in deopt bundle.
Apr 6 2021, 8:09 PM · Restricted Project
yrouban requested review of D100006: [Statepoint Lowering] Allow other than N byte sized types in deopt bundle.
Apr 6 2021, 7:40 PM · Restricted Project
yrouban committed rGb5c63e30ca1a: [NewPM] Set verify-cfg-preserved=1 by default for debug builds (authored by yrouban).
[NewPM] Set verify-cfg-preserved=1 by default for debug builds
Apr 6 2021, 6:36 PM

Apr 5 2021

yrouban committed rG98742e42fc50: [NewPM] Fix unused lambda capture build error (authored by yrouban).
[NewPM] Fix unused lambda capture build error
Apr 5 2021, 11:17 PM
yrouban committed rG39e3e3aa51d6: [NewPM] Redesign of PreserveCFG Checker (authored by yrouban).
[NewPM] Redesign of PreserveCFG Checker
Apr 5 2021, 10:37 PM
yrouban closed D91327: [NewPM] Redesign of PreserveCFG Checker.
Apr 5 2021, 10:36 PM · Restricted Project, Restricted Project
yrouban committed rG872c57c90ac6: [NewPM] Change tests to run them without PreserveCFGChecker. NFC (authored by yrouban).
[NewPM] Change tests to run them without PreserveCFGChecker. NFC
Apr 5 2021, 9:34 PM
yrouban closed D99878: Fix tests to run them without PreserveCFGChecker. NFC.
Apr 5 2021, 9:33 PM · Restricted Project
yrouban updated the diff for D91327: [NewPM] Redesign of PreserveCFG Checker.

Addressed comments.
Some tests were moved a separate patch (D99878).

Apr 5 2021, 2:02 AM · Restricted Project, Restricted Project
yrouban requested review of D99878: Fix tests to run them without PreserveCFGChecker. NFC.
Apr 5 2021, 2:00 AM · Restricted Project

Apr 1 2021

yrouban committed rG1ed53d44d8e9: [LoopFlatten] Do not report CFG analyses as up-to-date (authored by yrouban).
[LoopFlatten] Do not report CFG analyses as up-to-date
Apr 1 2021, 1:53 AM
yrouban closed D99700: [LoopFlatten] Do not report CFG analyses as up-to-date.
Apr 1 2021, 1:53 AM · Restricted Project

Mar 31 2021

yrouban requested review of D99700: [LoopFlatten] Do not report CFG analyses as up-to-date.
Mar 31 2021, 9:22 PM · Restricted Project
yrouban added a comment to D91327: [NewPM] Redesign of PreserveCFG Checker.

@skatkov, @fedor.sergeev, could you please review. During the long time this features is on the reconstruction we introduced a new bug in the LoopFlatten pass. See the comment https://reviews.llvm.org/D90940#inline-938253.

Mar 31 2021, 8:50 PM · Restricted Project, Restricted Project
yrouban added inline comments to D90940: [LoopFlatten] Make it a FunctionPass.
Mar 31 2021, 8:49 PM · Restricted Project
yrouban added inline comments to D91327: [NewPM] Redesign of PreserveCFG Checker.
Mar 31 2021, 7:08 PM · Restricted Project, Restricted Project

Mar 29 2021

yrouban updated the diff for D91327: [NewPM] Redesign of PreserveCFG Checker.

fixed the nits

Mar 29 2021, 8:55 PM · Restricted Project, Restricted Project
yrouban added a comment to D91327: [NewPM] Redesign of PreserveCFG Checker.

Just two nits from me. I think it looks fine, but I'm not familiar with the new pass manager and don't feel confident enough to approve it.

Jakub, thank you for comments. I expect @skatkov or @fedor.sergeev to look from NewPM point of view.

Mar 29 2021, 8:52 PM · Restricted Project, Restricted Project
yrouban updated the diff for D91327: [NewPM] Redesign of PreserveCFG Checker.

just rebased. please review

Mar 29 2021, 5:20 AM · Restricted Project, Restricted Project

Mar 25 2021

yrouban committed rGf7ef26ef0b29: [SLP] Fix crash in reduction for integer min/max (authored by yrouban).
[SLP] Fix crash in reduction for integer min/max
Mar 25 2021, 8:03 AM
yrouban closed D99328: [SLP] Fix crash in reduction for integer min/max.
Mar 25 2021, 8:03 AM · Restricted Project
yrouban updated the diff for D99328: [SLP] Fix crash in reduction for integer min/max.

fixed the test

Mar 25 2021, 5:10 AM · Restricted Project
yrouban added inline comments to D99328: [SLP] Fix crash in reduction for integer min/max.
Mar 25 2021, 5:09 AM · Restricted Project
yrouban requested review of D99328: [SLP] Fix crash in reduction for integer min/max.
Mar 25 2021, 4:35 AM · Restricted Project

Dec 27 2020

yrouban committed rGd76c1d2247af: [RS4GC] Lazily set changed flag when folding single entry phis (authored by yrouban).
[RS4GC] Lazily set changed flag when folding single entry phis
Dec 27 2020, 8:05 PM
yrouban closed D93810: [RS4GC] Lazily set changed flag when folding single entry phis.
Dec 27 2020, 8:05 PM · Restricted Project

Dec 25 2020

yrouban requested review of D93810: [RS4GC] Lazily set changed flag when folding single entry phis.
Dec 25 2020, 2:58 AM · Restricted Project

Dec 23 2020

yrouban accepted D79485: [BPI] Improve static heuristics for "cold" paths..

LGTM if my latest comments are addressed.
Let's give this big work a try.

Dec 23 2020, 4:27 AM · Restricted Project

Dec 18 2020

yrouban closed D93509: [IndVars] Fix adding trunc instructions for unwind blocks.

Landed as https://reviews.llvm.org/rGf0e3d1d6ca8c

Dec 18 2020, 4:16 AM · Restricted Project
yrouban committed rG324d96b63759: [IndVars] A test for adding trunc instructions to unwind blocks (authored by yrouban).
[IndVars] A test for adding trunc instructions to unwind blocks
Dec 18 2020, 2:09 AM
yrouban closed D93521: [IndVars] A test for adding trunc instructions to unwind blocks.
Dec 18 2020, 2:09 AM · Restricted Project
yrouban added a comment to D93509: [IndVars] Fix adding trunc instructions for unwind blocks.

Could use a test.

Ok. See D93521

Dec 18 2020, 12:23 AM · Restricted Project
yrouban requested review of D93521: [IndVars] A test for adding trunc instructions to unwind blocks.
Dec 18 2020, 12:21 AM · Restricted Project

Dec 17 2020

yrouban committed rGf0e3d1d6ca8c: [IndVars] Fix adding trunc instructions to unwind blocks (authored by yrouban).
[IndVars] Fix adding trunc instructions to unwind blocks
Dec 17 2020, 9:54 PM
yrouban requested review of D93509: [IndVars] Fix adding trunc instructions for unwind blocks.
Dec 17 2020, 8:12 PM · Restricted Project
yrouban added inline comments to D91593: [IndVars] LCSSA Phi users should not prevent widening.
Dec 17 2020, 7:45 PM · Restricted Project

Dec 14 2020

yrouban accepted D86657: Add new hidden option -print-crash-IR that prints out IR that caused opt pipeline to crash.
Dec 14 2020, 11:52 PM · Restricted Project

Dec 11 2020

yrouban added inline comments to D79485: [BPI] Improve static heuristics for "cold" paths..
Dec 11 2020, 3:12 AM · Restricted Project

Dec 3 2020

yrouban accepted D92608: [JumpThreading] Call eraseBlock when folding a conditional branch.
Dec 3 2020, 9:09 PM · Restricted Project

Nov 22 2020

yrouban added inline comments to D91327: [NewPM] Redesign of PreserveCFG Checker.
Nov 22 2020, 10:11 PM · Restricted Project, Restricted Project
yrouban added a comment to D91327: [NewPM] Redesign of PreserveCFG Checker.

Looks fine to me, but I'm not confident enough to give an approval.

Thanks. I'm working closely with @skatkov and believe he have enough expertise to review fully.
The biggest issue with the current design is that we have to send FAM to the initialization of StandardInstrumentations/PreservedCFGCheckerInstrumentation. This looks asymmetric to the other analysis managers and it would be more reasonable to send FAM or all AMs to the instrumentation callbacks as parameters.

Nov 22 2020, 9:34 PM · Restricted Project, Restricted Project
yrouban added inline comments to D91327: [NewPM] Redesign of PreserveCFG Checker.
Nov 22 2020, 9:24 PM · Restricted Project, Restricted Project

Nov 19 2020

yrouban updated the diff for D91327: [NewPM] Redesign of PreserveCFG Checker.

Addressed comments.

Nov 19 2020, 11:17 PM · Restricted Project, Restricted Project
yrouban abandoned D90286: [Analysis] Improve EmitGEPOffset by avoiding summ with zero.

Not needed after NFC https://github.com/llvm/llvm-project/commit/02dda1c by @nikic

Nov 19 2020, 8:48 PM · Restricted Project
yrouban accepted D91658: [BasicAA] Deoptimize intrinsics don't modify memory.
Nov 19 2020, 5:54 AM · Restricted Project

Nov 18 2020

yrouban added a comment to D91324: [NewPM] Disable PreserveCFGChecker and add regression unit tests.

Hi @yrouban, thank you for working on this! Unfortunately this breaks shared library builds (i.e. with BUILD_SHARED_LIBS set to ON). This is causing one of our buildbots to fail:

Admittedly, it's been failing in the past 24hrs for other reasons too :)

As the fix seemed trivial, I took the liberty of submitting a fixing patch without a review: https://github.com/llvm/llvm-project/commit/ccf500ce00c5768ae98248a8de90408488235aa7. Tested with BUILD_SHARED_LIBS and it builds fine. But I'm not that familiar with this codebase, so please comment/revert/update if I missed sth. Ta!

Nov 18 2020, 2:30 AM · Restricted Project

Nov 17 2020

yrouban committed rGcba3e783389a: [NewPM] Disable PreservedCFGChecker and add regression unit tests (authored by yrouban).
[NewPM] Disable PreservedCFGChecker and add regression unit tests
Nov 17 2020, 7:04 PM
yrouban closed D91324: [NewPM] Disable PreserveCFGChecker and add regression unit tests.
Nov 17 2020, 7:04 PM · Restricted Project
yrouban added a comment to D91324: [NewPM] Disable PreserveCFGChecker and add regression unit tests.

Do I understand correctly that with -verify-cfg-preserved=true all new tests fail?

Only PassManagerTest.FunctionPassCFGCheckerInvalidateAnalysis does fail.
The other two (PassManagerTest.FunctionPassCFGCheckerWrapped and PassManagerTest.FunctionPassCFGChecker) pass.

Nov 17 2020, 8:26 AM · Restricted Project

Nov 16 2020

yrouban committed rGa57fe210ff7c: [JumpThreading] Fix branch probabilities in DuplicateCondBranchOnPHIIntoPred() (authored by yrouban).
[JumpThreading] Fix branch probabilities in DuplicateCondBranchOnPHIIntoPred()
Nov 16 2020, 11:42 PM
yrouban closed D90841: [JumpThreading] Fix branch probabilities in DuplicateCondBranchOnPHIIntoPred().
Nov 16 2020, 11:41 PM · Restricted Project
yrouban updated the diff for D90841: [JumpThreading] Fix branch probabilities in DuplicateCondBranchOnPHIIntoPred().

added a test

Nov 16 2020, 10:22 PM · Restricted Project

Nov 15 2020

yrouban accepted D91511: [JumpThreading] Call eraseBlock when folding a conditional branch.

agree. See my comments in D91017.

Nov 15 2020, 10:10 PM · Restricted Project
yrouban added inline comments to D91017: [BranchProbabilityInfo] Use SmallVector (NFC).
Nov 15 2020, 10:08 PM · Restricted Project
yrouban added a comment to D91511: [JumpThreading] Call eraseBlock when folding a conditional branch.

The problem caused by D91017 is due to the jump threading pass not updating edge probabilities (as addressed in this patch).

D91017 is NFC, why does it reveal the bug in JumpThreading while it has not been seen without D91017? Can we create a test case, which passes without D91017 but fails with it?

Nov 15 2020, 9:47 PM · Restricted Project
yrouban added a comment to D91511: [JumpThreading] Call eraseBlock when folding a conditional branch.

The patch looks good, but I have some concerns.

Nov 15 2020, 8:55 PM · Restricted Project

Nov 12 2020

yrouban requested review of D91329: [NewPM] Re-enable PreserveCFGChecker.
Nov 12 2020, 1:05 AM · Restricted Project
yrouban requested review of D91327: [NewPM] Redesign of PreserveCFG Checker.
Nov 12 2020, 12:59 AM · Restricted Project, Restricted Project
yrouban requested review of D91324: [NewPM] Disable PreserveCFGChecker and add regression unit tests.
Nov 12 2020, 12:47 AM · Restricted Project

Nov 10 2020

yrouban added a comment to D90841: [JumpThreading] Fix branch probabilities in DuplicateCondBranchOnPHIIntoPred().

Your patch looks reasonable. Is there any way you could come up with a testcase to make sure that the pass indeed copies the probabilities in your testcase? (Note that I'm not asking for a testcase that exposed this bug before D90284.)

I could not create a simple test. One more option to create one is to change the usage of BPI/BFI to request analysis from AM. Then the test can print BPI to show the difference. I'm not sure this big change is worth this small patch. It is not clear why JumpThreading uses its own local version of BPI/BFI.

Nov 10 2020, 1:34 AM · Restricted Project

Nov 8 2020

yrouban updated subscribers of D91017: [BranchProbabilityInfo] Use SmallVector (NFC).

This looks to be a good change towards simplification. I think originally a map over edges was introduced by @atrick back in 2011 in https://github.com/llvm/llvm-project/commit/49371f3f33788 as it could be sparse. But with the commit https://gitlab.azulsystems.com/dev/orca/commit/8138487468e22 we imposed an important restriction on setting outgoing edge probabilities at once for one block. This allowed correctness checks and further improvements like this.

Nov 8 2020, 9:59 PM · Restricted Project

Nov 5 2020

yrouban committed rG681d6c711f27: [BranchProbabilityInfo] Introduce method copyEdgeProbabilities(). NFC (authored by yrouban).
[BranchProbabilityInfo] Introduce method copyEdgeProbabilities(). NFC
Nov 5 2020, 11:53 PM
yrouban closed D90839: [BranchProbabilityInfo] Introduce method copyEdgeProbabilities(). NFC.
Nov 5 2020, 11:53 PM · Restricted Project
yrouban committed rGe38c8e7590a0: [BranchProbabilityInfo] Remove block handles in eraseBlock() (authored by yrouban).
[BranchProbabilityInfo] Remove block handles in eraseBlock()
Nov 5 2020, 10:15 PM
yrouban closed D90838: [BranchProbabilityInfo] Remove block handles in eraseBlock().
Nov 5 2020, 10:14 PM · Restricted Project
yrouban added inline comments to D90838: [BranchProbabilityInfo] Remove block handles in eraseBlock().
Nov 5 2020, 9:50 PM · Restricted Project
yrouban committed rG4931158d27dc: [BranchProbabilityInfo] Get rid of MaxSuccIdx. NFC (authored by yrouban).
[BranchProbabilityInfo] Get rid of MaxSuccIdx. NFC
Nov 5 2020, 9:22 PM
yrouban closed D90837: [BranchProbabilityInfo] Get rid of MaxSuccIdx. NFC.
Nov 5 2020, 9:22 PM · Restricted Project
yrouban updated the summary of D90841: [JumpThreading] Fix branch probabilities in DuplicateCondBranchOnPHIIntoPred().
Nov 5 2020, 5:09 AM · Restricted Project
yrouban requested review of D90841: [JumpThreading] Fix branch probabilities in DuplicateCondBranchOnPHIIntoPred().
Nov 5 2020, 5:08 AM · Restricted Project
yrouban set the repository for D90838: [BranchProbabilityInfo] Remove block handles in eraseBlock() to rG LLVM Github Monorepo.
Nov 5 2020, 4:50 AM · Restricted Project
yrouban requested review of D90839: [BranchProbabilityInfo] Introduce method copyEdgeProbabilities(). NFC.
Nov 5 2020, 4:49 AM · Restricted Project
yrouban added a reviewer for D90837: [BranchProbabilityInfo] Get rid of MaxSuccIdx. NFC: MaskRay.
Nov 5 2020, 4:39 AM · Restricted Project
yrouban requested review of D90838: [BranchProbabilityInfo] Remove block handles in eraseBlock().
Nov 5 2020, 4:39 AM · Restricted Project
yrouban requested review of D90837: [BranchProbabilityInfo] Get rid of MaxSuccIdx. NFC.
Nov 5 2020, 4:27 AM · Restricted Project

Oct 29 2020

yrouban added a comment to D90286: [Analysis] Improve EmitGEPOffset by avoiding summ with zero.

Drive by: Tests needed, commit message missing, and we should see if we can avoid 3-5 line assignments.

EmitGEPOffset() is used by instcombine and we do not see the redundant add 0, X instruction because it is immediately optimized out in the same iteration. It prevents a simple lit test for this patch. On the other hand you can see the fix in InstCombinerImpl::OptimizePointerDifference() which changes the code to expect X in place of add 0, X and there is a related test (test/Transforms/InstCombine/sub-gep.ll), which I believe is enough for this small improvement.
Keep in mind that EmitGEPOffset() could be used in other custom passes that might not require subsequent instcombine to run.

Oct 29 2020, 4:12 AM · Restricted Project
yrouban updated the summary of D90286: [Analysis] Improve EmitGEPOffset by avoiding summ with zero.
Oct 29 2020, 3:36 AM · Restricted Project

Oct 27 2020

yrouban requested review of D90286: [Analysis] Improve EmitGEPOffset by avoiding summ with zero.
Oct 27 2020, 10:47 PM · Restricted Project

Oct 12 2020

yrouban added a comment to D79485: [BPI] Improve static heuristics for "cold" paths..

I'm still reading. The patch is long but I'd like to avoid splitting it into pieces that might result in massive tests changes (back and forth). Now the test changes seem to be compact.
It would be great if someone could join the reviewing efforts.

Oct 12 2020, 4:05 AM · Restricted Project

Sep 13 2020

yrouban committed rG88690a965892: [CodeGenPrepare] Fix zapping dead operands of assume (authored by yrouban).
[CodeGenPrepare] Fix zapping dead operands of assume
Sep 13 2020, 9:48 PM