Page MenuHomePhabricator

apostolakis (Sotiris Apostolakis)
User

Projects

User does not belong to any projects.

User Details

User Since
Aug 6 2021, 10:07 AM (59 w, 4 d)

Recent Activity

Fri, Sep 16

apostolakis committed rGb827e7c60074: [SelectOpti] Restrict load sinking (authored by apostolakis).
[SelectOpti] Restrict load sinking
Fri, Sep 16, 1:55 PM · Restricted Project, Restricted Project
apostolakis closed D133999: [SelectOpti] Restrict load sinking.
Fri, Sep 16, 1:55 PM · Restricted Project, Restricted Project
apostolakis updated the diff for D133999: [SelectOpti] Restrict load sinking.

Add test with lifetime-marker, rename SinktPt to SI to avoid
confusion, and remove redundant check for same/different BB.

Fri, Sep 16, 1:20 PM · Restricted Project, Restricted Project
apostolakis added inline comments to D133999: [SelectOpti] Restrict load sinking.
Fri, Sep 16, 1:03 PM · Restricted Project, Restricted Project
apostolakis added inline comments to D133999: [SelectOpti] Restrict load sinking.
Fri, Sep 16, 12:56 PM · Restricted Project, Restricted Project
apostolakis added a comment to D133999: [SelectOpti] Restrict load sinking.

Ok -- my confusion was the naming of the SinkPt variable -- it should actually be named 'SI'. I through the sinkpt is the actual bb after select is expanded into branch.

Fri, Sep 16, 12:45 PM · Restricted Project, Restricted Project
apostolakis added inline comments to D133999: [SelectOpti] Restrict load sinking.
Fri, Sep 16, 11:38 AM · Restricted Project, Restricted Project
apostolakis added inline comments to D133999: [SelectOpti] Restrict load sinking.
Fri, Sep 16, 11:31 AM · Restricted Project, Restricted Project

Thu, Sep 15

apostolakis added inline comments to D133999: [SelectOpti] Restrict load sinking.
Thu, Sep 15, 9:34 PM · Restricted Project, Restricted Project
apostolakis updated the summary of D133999: [SelectOpti] Restrict load sinking.
Thu, Sep 15, 7:40 PM · Restricted Project, Restricted Project
apostolakis added a reviewer for D133999: [SelectOpti] Restrict load sinking: davidxl.
Thu, Sep 15, 6:04 PM · Restricted Project, Restricted Project
apostolakis updated the diff for D133999: [SelectOpti] Restrict load sinking.

Typo in comment

Thu, Sep 15, 6:04 PM · Restricted Project, Restricted Project
apostolakis updated the summary of D133999: [SelectOpti] Restrict load sinking.
Thu, Sep 15, 6:03 PM · Restricted Project, Restricted Project
apostolakis updated the summary of D133999: [SelectOpti] Restrict load sinking.
Thu, Sep 15, 5:58 PM · Restricted Project, Restricted Project
apostolakis requested review of D133999: [SelectOpti] Restrict load sinking.
Thu, Sep 15, 5:28 PM · Restricted Project, Restricted Project

Tue, Sep 13

apostolakis committed rGeda61fb656ab: [SelectOpti] Fix lifetime intrinsic bug (authored by apostolakis).
[SelectOpti] Fix lifetime intrinsic bug
Tue, Sep 13, 12:15 PM · Restricted Project, Restricted Project
apostolakis closed D133777: [SelectOpti] Fix lifetime intrinsic bug.
Tue, Sep 13, 12:15 PM · Restricted Project, Restricted Project
apostolakis added inline comments to D133777: [SelectOpti] Fix lifetime intrinsic bug.
Tue, Sep 13, 11:28 AM · Restricted Project, Restricted Project
apostolakis updated the diff for D133777: [SelectOpti] Fix lifetime intrinsic bug.

Move lifetime intrinsics only if there is sinking

Tue, Sep 13, 9:17 AM · Restricted Project, Restricted Project
apostolakis added a reviewer for D133777: [SelectOpti] Fix lifetime intrinsic bug: davidxl.
Tue, Sep 13, 8:12 AM · Restricted Project, Restricted Project
apostolakis updated the summary of D133777: [SelectOpti] Fix lifetime intrinsic bug.
Tue, Sep 13, 8:11 AM · Restricted Project, Restricted Project
apostolakis updated the diff for D133777: [SelectOpti] Fix lifetime intrinsic bug.

Add test

Tue, Sep 13, 8:06 AM · Restricted Project, Restricted Project
apostolakis requested review of D133777: [SelectOpti] Fix lifetime intrinsic bug.
Tue, Sep 13, 7:45 AM · Restricted Project, Restricted Project

Aug 17 2022

apostolakis committed rG848e9e454fe9: [SelectOpti] Remove test on loop-level analysis (authored by apostolakis).
[SelectOpti] Remove test on loop-level analysis
Aug 17 2022, 9:14 AM · Restricted Project, Restricted Project
apostolakis closed D132029: [SelectOpti] Remove test on loop-level analysis.
Aug 17 2022, 9:14 AM · Restricted Project, Restricted Project
apostolakis added inline comments to D132029: [SelectOpti] Remove test on loop-level analysis.
Aug 17 2022, 8:26 AM · Restricted Project, Restricted Project
apostolakis updated the diff for D132029: [SelectOpti] Remove test on loop-level analysis.

Remove unused declaration.

Aug 17 2022, 8:26 AM · Restricted Project, Restricted Project
apostolakis added inline comments to D79483: [CostModel] Replace getUserCost with getInstructionCost..
Aug 17 2022, 7:44 AM · Restricted Project, Restricted Project
apostolakis added a reviewer for D132029: [SelectOpti] Remove test on loop-level analysis: RKSimon.
Aug 17 2022, 7:42 AM · Restricted Project, Restricted Project
apostolakis retitled D132029: [SelectOpti] Remove test on loop-level analysis from [SelectOpti] Remove flaky test on loop-level analysis to [SelectOpti] Remove test on loop-level analysis.
Aug 17 2022, 7:41 AM · Restricted Project, Restricted Project
apostolakis requested review of D132029: [SelectOpti] Remove test on loop-level analysis.
Aug 17 2022, 7:38 AM · Restricted Project, Restricted Project
apostolakis added inline comments to D79483: [CostModel] Replace getUserCost with getInstructionCost..
Aug 17 2022, 7:34 AM · Restricted Project, Restricted Project
apostolakis added inline comments to D79483: [CostModel] Replace getUserCost with getInstructionCost..
Aug 17 2022, 7:17 AM · Restricted Project, Restricted Project

Aug 1 2022

apostolakis committed rG995b61cdacaa: [SelectOpti] Auto-disable other cmov optis when the new select-opti pass is… (authored by apostolakis).
[SelectOpti] Auto-disable other cmov optis when the new select-opti pass is…
Aug 1 2022, 5:27 PM · Restricted Project, Restricted Project
apostolakis closed D129817: [SelectOpti] Auto-disable other cmov optis when the new select-opti pass is enabled.
Aug 1 2022, 5:27 PM · Restricted Project, Restricted Project
apostolakis added inline comments to D129817: [SelectOpti] Auto-disable other cmov optis when the new select-opti pass is enabled.
Aug 1 2022, 2:02 PM · Restricted Project, Restricted Project

Jul 14 2022

apostolakis published D129817: [SelectOpti] Auto-disable other cmov optis when the new select-opti pass is enabled for review.
Jul 14 2022, 4:21 PM · Restricted Project, Restricted Project

May 24 2022

apostolakis committed rG67be40df6eef: Recommit "[SelectOpti][5/5] Optimize select-to-branch transformation" (authored by apostolakis).
Recommit "[SelectOpti][5/5] Optimize select-to-branch transformation"
May 24 2022, 11:11 AM · Restricted Project, Restricted Project

May 23 2022

apostolakis added a reverting change for rGa111fb960108: [SelectOpti][5/5] Optimize select-to-branch transformation: rG1786e70bd85d: Revert "[SelectOpti][5/5] Optimize select-to-branch transformation".
May 23 2022, 9:03 PM · Restricted Project, Restricted Project
apostolakis committed rG1786e70bd85d: Revert "[SelectOpti][5/5] Optimize select-to-branch transformation" (authored by apostolakis).
Revert "[SelectOpti][5/5] Optimize select-to-branch transformation"
May 23 2022, 9:03 PM · Restricted Project, Restricted Project
apostolakis added a reverting change for D120233: [SelectOpti][5/5] Optimize select-to-branch transformation: rG1786e70bd85d: Revert "[SelectOpti][5/5] Optimize select-to-branch transformation".
May 23 2022, 9:02 PM · Restricted Project, Restricted Project
apostolakis committed rGa111fb960108: [SelectOpti][5/5] Optimize select-to-branch transformation (authored by apostolakis).
[SelectOpti][5/5] Optimize select-to-branch transformation
May 23 2022, 8:34 PM · Restricted Project, Restricted Project
apostolakis closed D120233: [SelectOpti][5/5] Optimize select-to-branch transformation.
May 23 2022, 8:34 PM · Restricted Project, Restricted Project
apostolakis committed rGd7ebb7461151: [SelectOpti][4/5] Loop Heuristics (authored by apostolakis).
[SelectOpti][4/5] Loop Heuristics
May 23 2022, 8:03 PM · Restricted Project, Restricted Project
apostolakis closed D120232: [SelectOpti][4/5] Loop Heuristics.
May 23 2022, 8:03 PM · Restricted Project, Restricted Project
apostolakis committed rG8b42bc5662ca: [SelectOpti][3/5] Base Heuristics (authored by apostolakis).
[SelectOpti][3/5] Base Heuristics
May 23 2022, 7:02 PM · Restricted Project, Restricted Project
apostolakis closed D120231: [SelectOpti][3/5] Base Heuristics.
May 23 2022, 7:02 PM · Restricted Project, Restricted Project

May 19 2022

apostolakis committed rGca7c307d1816: [SelectOpti][1/5] Setup new select-optimize pass (authored by apostolakis).
[SelectOpti][1/5] Setup new select-optimize pass
May 19 2022, 9:42 AM · Restricted Project, Restricted Project
apostolakis closed D120230: [SelectOpti][1/5] Setup new select-optimize pass.
May 19 2022, 9:42 AM · Restricted Project, Restricted Project
apostolakis updated the diff for D120230: [SelectOpti][1/5] Setup new select-optimize pass.

Init DisableSelectOptimize to true when declaring it.

May 19 2022, 9:30 AM · Restricted Project, Restricted Project
apostolakis committed rGa094ad03f341: [NFC] Fix typos in X86CmovConversion (authored by apostolakis).
[NFC] Fix typos in X86CmovConversion
May 19 2022, 8:19 AM · Restricted Project, Restricted Project

May 13 2022

apostolakis updated the summary of D120230: [SelectOpti][1/5] Setup new select-optimize pass.
May 13 2022, 5:10 PM · Restricted Project, Restricted Project
apostolakis updated the diff for D120230: [SelectOpti][1/5] Setup new select-optimize pass.

Rebase

May 13 2022, 4:11 PM · Restricted Project, Restricted Project

May 11 2022

apostolakis added inline comments to D120233: [SelectOpti][5/5] Optimize select-to-branch transformation.
May 11 2022, 8:57 AM · Restricted Project, Restricted Project

May 10 2022

apostolakis updated the diff for D120233: [SelectOpti][5/5] Optimize select-to-branch transformation.

Add select-group sinking testing

May 10 2022, 7:40 PM · Restricted Project, Restricted Project
apostolakis added inline comments to D120233: [SelectOpti][5/5] Optimize select-to-branch transformation.
May 10 2022, 7:39 PM · Restricted Project, Restricted Project

May 4 2022

apostolakis updated the diff for D120233: [SelectOpti][5/5] Optimize select-to-branch transformation.

Rebase

May 4 2022, 1:10 PM · Restricted Project, Restricted Project
apostolakis updated the diff for D120232: [SelectOpti][4/5] Loop Heuristics.

Add option to disable the critical path check.

May 4 2022, 8:55 AM · Restricted Project, Restricted Project
apostolakis added inline comments to D120232: [SelectOpti][4/5] Loop Heuristics.
May 4 2022, 8:55 AM · Restricted Project, Restricted Project

May 3 2022

apostolakis added inline comments to D120232: [SelectOpti][4/5] Loop Heuristics.
May 3 2022, 9:35 AM · Restricted Project, Restricted Project

May 2 2022

apostolakis updated the diff for D120232: [SelectOpti][4/5] Loop Heuristics.

Address comments with more testing and tweaks.

May 2 2022, 10:18 PM · Restricted Project, Restricted Project
apostolakis added inline comments to D120232: [SelectOpti][4/5] Loop Heuristics.
May 2 2022, 10:16 PM · Restricted Project, Restricted Project

Apr 28 2022

apostolakis updated the diff for D120232: [SelectOpti][4/5] Loop Heuristics.

Address review comments.

Apr 28 2022, 8:28 AM · Restricted Project, Restricted Project
apostolakis added inline comments to D120232: [SelectOpti][4/5] Loop Heuristics.
Apr 28 2022, 8:27 AM · Restricted Project, Restricted Project

Apr 22 2022

apostolakis added a comment to D120232: [SelectOpti][4/5] Loop Heuristics.

A high level comment. I saw ScalingUpFactor is used in many places. It may be better to directly use Scaled64 data type instead of uint64 to avoid that.

Apr 22 2022, 3:48 PM · Restricted Project, Restricted Project
apostolakis updated the diff for D120232: [SelectOpti][4/5] Loop Heuristics.

Use Scaled64 instead of using ScalingUpFactor.

Apr 22 2022, 3:44 PM · Restricted Project, Restricted Project

Apr 20 2022

apostolakis updated the diff for D120231: [SelectOpti][3/5] Base Heuristics.

Limit the isPredictableSelectExpensive check to only the highly-predictable heuristic.

Apr 20 2022, 2:21 PM · Restricted Project, Restricted Project
apostolakis added inline comments to D120231: [SelectOpti][3/5] Base Heuristics.
Apr 20 2022, 2:19 PM · Restricted Project, Restricted Project

Apr 18 2022

apostolakis updated the diff for D120233: [SelectOpti][5/5] Optimize select-to-branch transformation.

Rebase

Apr 18 2022, 10:40 PM · Restricted Project, Restricted Project
apostolakis updated the diff for D120232: [SelectOpti][4/5] Loop Heuristics.

Rebase and add more comments for methods

Apr 18 2022, 10:39 PM · Restricted Project, Restricted Project
apostolakis added inline comments to D120231: [SelectOpti][3/5] Base Heuristics.
Apr 18 2022, 10:27 PM · Restricted Project, Restricted Project
apostolakis updated the diff for D120231: [SelectOpti][3/5] Base Heuristics.

Address comments.

Apr 18 2022, 9:52 PM · Restricted Project, Restricted Project
apostolakis added inline comments to D120231: [SelectOpti][3/5] Base Heuristics.
Apr 18 2022, 9:51 PM · Restricted Project, Restricted Project

Apr 9 2022

apostolakis updated the diff for D120231: [SelectOpti][3/5] Base Heuristics.

Address review.

Apr 9 2022, 8:18 PM · Restricted Project, Restricted Project
apostolakis added inline comments to D120231: [SelectOpti][3/5] Base Heuristics.
Apr 9 2022, 8:16 PM · Restricted Project, Restricted Project

Apr 1 2022

apostolakis updated the diff for D120231: [SelectOpti][3/5] Base Heuristics.

Address review comments

Apr 1 2022, 2:14 PM · Restricted Project, Restricted Project
apostolakis added inline comments to D120231: [SelectOpti][3/5] Base Heuristics.
Apr 1 2022, 2:14 PM · Restricted Project, Restricted Project

Mar 31 2022

apostolakis added a comment to D120230: [SelectOpti][1/5] Setup new select-optimize pass.

One comment about the patch is that it would be good to remove the llvm_unreachable, and test for the pass in one of the pass ordering tests. E.g. llvm/test/CodeGen/X86/opt-pipeline.ll (there are similar ones for other archs too).

In this patch series the pass is disabled by default and I was actually planning on having a separate follow-up patch (D121547) where I will enable by default this pass for x86 instr-PGO. In the D121547 patch I had to change the X86/opt-pipeline.ll and you can see more clearly the placement of this pass (almost just before the CodeGenPrepare pass). If it is preferable I can move these changes in this patch.

I see, ok it seems reasonable to leave the pass pipeline testing until then. But generally it is good to have tests with each patch - another option is to merge this with the next patch which I assume has part of the implementation in it, and add an opt based test with that. Oh, I see that patches 2 and 3 don't have a test, only patch 4. IMO if at all possible it is better to split up the patches into pieces that can each be tested.

The reason that all the tests are in the 4th patch is that this patch involves the actual transformation (converts selects to branches for the cases that the conversion was deemed profitable based on the profitability heuristics of patches 2 and 3). The 2nd patch has the base (non-loop) heuristics and the 3rd patch has the loop-level heuristics. Patches 2 and 3 do not change the IR.

I agree though that it is better to split it up in a way that allows testing of each patch. So, I will re-organize the patches to enable more per-patch testing. I will move the base of the actual transformation of the code in a 2nd patch (and some testing by temporarily assuming that all selects should be converted), then the 3rd patch will be the base heuristics and testing, 4th patch loop heuristics and testing, and a 5th patch that optimizes the transformation (maximizes the sinking of one-use slices in the true/false blocks and interleaving of slices).

As discussed, re-organized the subsequent patches to allow for per-patch testing.

Mar 31 2022, 10:44 AM · Restricted Project, Restricted Project

Mar 26 2022

apostolakis updated the diff for D120233: [SelectOpti][5/5] Optimize select-to-branch transformation.

Fix typo

Mar 26 2022, 3:35 PM · Restricted Project, Restricted Project
apostolakis updated the diff for D120233: [SelectOpti][5/5] Optimize select-to-branch transformation.

Rebase

Mar 26 2022, 3:32 PM · Restricted Project, Restricted Project
apostolakis updated the diff for D120232: [SelectOpti][4/5] Loop Heuristics.

Rebase

Mar 26 2022, 3:31 PM · Restricted Project, Restricted Project
apostolakis updated the diff for D120231: [SelectOpti][3/5] Base Heuristics.

Rebase

Mar 26 2022, 3:22 PM · Restricted Project, Restricted Project
apostolakis updated the diff for D122259: [SelectOpti][2/5] Select-to-branch base transformation.

Add debug statement in-between selects in a test case and move such debug insts just after the new phi nodes.

Mar 26 2022, 2:49 PM · Restricted Project, Restricted Project

Mar 25 2022

apostolakis updated the diff for D122259: [SelectOpti][2/5] Select-to-branch base transformation.

Skip debug/pseudo instructions when forming select group

Mar 25 2022, 3:15 PM · Restricted Project, Restricted Project
apostolakis added inline comments to D122259: [SelectOpti][2/5] Select-to-branch base transformation.
Mar 25 2022, 3:14 PM · Restricted Project, Restricted Project

Mar 23 2022

apostolakis updated the diff for D120233: [SelectOpti][5/5] Optimize select-to-branch transformation.

Use opt tests instead of llc ones

Mar 23 2022, 11:49 PM · Restricted Project, Restricted Project
apostolakis updated the diff for D120232: [SelectOpti][4/5] Loop Heuristics.

Use opt tests instead of llc ones

Mar 23 2022, 11:49 PM · Restricted Project, Restricted Project
apostolakis updated the diff for D120231: [SelectOpti][3/5] Base Heuristics.

Use opt tests instead of llc ones

Mar 23 2022, 11:48 PM · Restricted Project, Restricted Project
apostolakis updated the diff for D122259: [SelectOpti][2/5] Select-to-branch base transformation.

Use only opt tests to avoid redundancy

Mar 23 2022, 11:47 PM · Restricted Project, Restricted Project
apostolakis updated the diff for D122259: [SelectOpti][2/5] Select-to-branch base transformation.

Add some IR-to-IR tests to check profile metadata.

Mar 23 2022, 8:48 AM · Restricted Project, Restricted Project
apostolakis added inline comments to D122259: [SelectOpti][2/5] Select-to-branch base transformation.
Mar 23 2022, 8:48 AM · Restricted Project, Restricted Project
apostolakis updated the diff for D120230: [SelectOpti][1/5] Setup new select-optimize pass.

Use LegacyPM by default for this pass.

Mar 23 2022, 12:40 AM · Restricted Project, Restricted Project
apostolakis added a comment to D120230: [SelectOpti][1/5] Setup new select-optimize pass.

One comment about the patch is that it would be good to remove the llvm_unreachable, and test for the pass in one of the pass ordering tests. E.g. llvm/test/CodeGen/X86/opt-pipeline.ll (there are similar ones for other archs too).

In this patch series the pass is disabled by default and I was actually planning on having a separate follow-up patch (D121547) where I will enable by default this pass for x86 instr-PGO. In the D121547 patch I had to change the X86/opt-pipeline.ll and you can see more clearly the placement of this pass (almost just before the CodeGenPrepare pass). If it is preferable I can move these changes in this patch.

I see, ok it seems reasonable to leave the pass pipeline testing until then. But generally it is good to have tests with each patch - another option is to merge this with the next patch which I assume has part of the implementation in it, and add an opt based test with that. Oh, I see that patches 2 and 3 don't have a test, only patch 4. IMO if at all possible it is better to split up the patches into pieces that can each be tested.

The reason that all the tests are in the 4th patch is that this patch involves the actual transformation (converts selects to branches for the cases that the conversion was deemed profitable based on the profitability heuristics of patches 2 and 3). The 2nd patch has the base (non-loop) heuristics and the 3rd patch has the loop-level heuristics. Patches 2 and 3 do not change the IR.

I agree though that it is better to split it up in a way that allows testing of each patch. So, I will re-organize the patches to enable more per-patch testing. I will move the base of the actual transformation of the code in a 2nd patch (and some testing by temporarily assuming that all selects should be converted), then the 3rd patch will be the base heuristics and testing, 4th patch loop heuristics and testing, and a 5th patch that optimizes the transformation (maximizes the sinking of one-use slices in the true/false blocks and interleaving of slices).

Mar 23 2022, 12:37 AM · Restricted Project, Restricted Project

Mar 22 2022

apostolakis retitled D120233: [SelectOpti][5/5] Optimize select-to-branch transformation from [SelectOpti][4/4] Select-to-branch transformation to [SelectOpti][5/5] Optimize select-to-branch transformation.
Mar 22 2022, 2:49 PM · Restricted Project, Restricted Project
apostolakis updated the diff for D120233: [SelectOpti][5/5] Optimize select-to-branch transformation.

Rebase and adjust tests

Mar 22 2022, 2:47 PM · Restricted Project, Restricted Project
apostolakis retitled D120232: [SelectOpti][4/5] Loop Heuristics from [SelectOpti][3/4] Loop Heuristics to [SelectOpti][4/5] Loop Heuristics.
Mar 22 2022, 2:33 PM · Restricted Project, Restricted Project
apostolakis updated the diff for D120232: [SelectOpti][4/5] Loop Heuristics.

Rebase and move tests

Mar 22 2022, 2:32 PM · Restricted Project, Restricted Project
apostolakis retitled D120230: [SelectOpti][1/5] Setup new select-optimize pass from [SelectOpti][1/4] Setup new select-optimize pass to [SelectOpti][1/5] Setup new select-optimize pass.
Mar 22 2022, 2:06 PM · Restricted Project, Restricted Project
apostolakis retitled D120231: [SelectOpti][3/5] Base Heuristics from [SelectOpti][2/4] Base Heuristics to [SelectOpti][3/5] Base Heuristics.
Mar 22 2022, 2:04 PM · Restricted Project, Restricted Project
apostolakis updated the diff for D120231: [SelectOpti][3/5] Base Heuristics.

Rebase and move tests

Mar 22 2022, 2:02 PM · Restricted Project, Restricted Project