Page MenuHomePhabricator

evandro (Evandro Menezes)
User

Projects

User does not belong to any projects.

User Details

User Since
Jan 5 2016, 9:21 AM (153 w, 2 d)

Currently working at the Samsung Austin R&D Center on the Samsung next generation ARM cores.

Recent Activity

Mon, Dec 10

evandro committed rL348774: [AArch64] Refactor the Exynos scheduling predicates.
[AArch64] Refactor the Exynos scheduling predicates
Mon, Dec 10, 9:21 AM
evandro closed D55345: [AArch64] Refactor the Exynos scheduling predicates.
Mon, Dec 10, 9:21 AM
evandro added an edge to rL348766: [llvm-mca] Add new tests for Exynos (NFC): D55345: [AArch64] Refactor the Exynos scheduling predicates.
Mon, Dec 10, 8:53 AM
evandro added 1 commit(s) for D55345: [AArch64] Refactor the Exynos scheduling predicates: rL348766: [llvm-mca] Add new tests for Exynos (NFC).
Mon, Dec 10, 8:53 AM
evandro updated the diff for D55345: [AArch64] Refactor the Exynos scheduling predicates.
Mon, Dec 10, 8:49 AM
evandro committed rL348768: [AArch64] Refactor the scheduling predicates.
[AArch64] Refactor the scheduling predicates
Mon, Dec 10, 8:27 AM
evandro closed D55375: [AArch64] Refactor the scheduling predicates.
Mon, Dec 10, 8:27 AM
evandro committed rL348766: [llvm-mca] Add new tests for Exynos (NFC).
[llvm-mca] Add new tests for Exynos (NFC)
Mon, Dec 10, 8:26 AM

Thu, Dec 6

evandro committed rL348565: [llvm-mca] Improve test (NFC).
[llvm-mca] Improve test (NFC)
Thu, Dec 6, 7:26 PM
evandro committed rL348564: [llvm-mca] Improve test (NFC).
[llvm-mca] Improve test (NFC)
Thu, Dec 6, 7:26 PM
evandro added inline comments to D55375: [AArch64] Refactor the scheduling predicates.
Thu, Dec 6, 3:49 PM
evandro updated the diff for D55345: [AArch64] Refactor the Exynos scheduling predicates.

Sorry, I was juggling too many patches out of order.

Thu, Dec 6, 10:45 AM
evandro updated the diff for D55375: [AArch64] Refactor the scheduling predicates.
Thu, Dec 6, 10:43 AM
evandro added a comment to D55375: [AArch64] Refactor the scheduling predicates.

Note that I made this patch a predecessor for D55345.

Thu, Dec 6, 10:34 AM
evandro added an edge to rL348510: [AArch64] Fix Exynos predicate: D55375: [AArch64] Refactor the scheduling predicates.
Thu, Dec 6, 10:32 AM
evandro added 1 commit(s) for D55375: [AArch64] Refactor the scheduling predicates: rL348510: [AArch64] Fix Exynos predicate.
Thu, Dec 6, 10:32 AM
evandro committed rL348510: [AArch64] Fix Exynos predicate.
[AArch64] Fix Exynos predicate
Thu, Dec 6, 10:30 AM
evandro updated the diff for D55345: [AArch64] Refactor the Exynos scheduling predicates.

Rebase the patch.

Thu, Dec 6, 8:43 AM
evandro added a parent revision for D55345: [AArch64] Refactor the Exynos scheduling predicates: D55375: [AArch64] Refactor the scheduling predicates.
Thu, Dec 6, 8:41 AM
evandro added a child revision for D55375: [AArch64] Refactor the scheduling predicates: D55345: [AArch64] Refactor the Exynos scheduling predicates.
Thu, Dec 6, 8:41 AM
evandro created D55375: [AArch64] Refactor the scheduling predicates.
Thu, Dec 6, 8:40 AM

Wed, Dec 5

evandro created D55345: [AArch64] Refactor the Exynos scheduling predicates.
Wed, Dec 5, 4:11 PM
evandro committed rL348398: [AArch64] Reword description of feature (NFC).
[AArch64] Reword description of feature (NFC)
Wed, Dec 5, 10:46 AM
evandro committed rL348395: [llvm-mca] Simplify test (NFC).
[llvm-mca] Simplify test (NFC)
Wed, Dec 5, 10:38 AM
evandro committed rL348393: [llvm-mca] Sort test run lines (NFC).
[llvm-mca] Sort test run lines (NFC)
Wed, Dec 5, 10:33 AM

Mon, Dec 3

evandro committed rL348226: [TableGen] Improve the formatting of the emitted predicates (NFC).
[TableGen] Improve the formatting of the emitted predicates (NFC)
Mon, Dec 3, 5:46 PM
evandro committed rL348225: [TableGen] Fix typo in emitted comment (NFC).
[TableGen] Fix typo in emitted comment (NFC)
Mon, Dec 3, 5:46 PM

Fri, Nov 30

evandro committed rL348034: [TableGen] Fix negation of simple predicates.
[TableGen] Fix negation of simple predicates
Fri, Nov 30, 1:06 PM
evandro closed D55089: [TableGen] Fix negation of simple predicates.
Fri, Nov 30, 1:06 PM
evandro added a comment to D55089: [TableGen] Fix negation of simple predicates.

I'm all for reusing code, but this is not any sophisticated algorithm, but mere streaming of data. I rather keep the additional methods and simplify the exiting ones to eliminate their special cases for the sake of maintenance. After all, complicating them is what resulted in this issue.

Fri, Nov 30, 11:10 AM

Thu, Nov 29

evandro created D55089: [TableGen] Fix negation of simple predicates.
Thu, Nov 29, 4:14 PM

Tue, Nov 27

evandro committed rL347707: [TableGen] Improve readability of generated code (NFC).
[TableGen] Improve readability of generated code (NFC)
Tue, Nov 27, 1:02 PM
evandro committed rL347706: [TableGen] Refactor macro names (NFC).
[TableGen] Refactor macro names (NFC)
Tue, Nov 27, 1:01 PM

Mon, Nov 26

evandro added inline comments to D54820: [AArch64] Refactor the scheduling predicates (2/3) (NFC).
Mon, Nov 26, 1:51 PM
evandro committed rL347599: [AArch64] Refactor the scheduling predicates (3/3) (NFC).
[AArch64] Refactor the scheduling predicates (3/3) (NFC)
Mon, Nov 26, 1:51 PM
evandro closed D54822: [AArch64] Refactor the scheduling predicates (3/3) (NFC).
Mon, Nov 26, 1:51 PM
evandro committed rL347598: [AArch64] Refactor the scheduling predicates (2/3) (NFC).
[AArch64] Refactor the scheduling predicates (2/3) (NFC)
Mon, Nov 26, 1:50 PM
evandro closed D54820: [AArch64] Refactor the scheduling predicates (2/3) (NFC).
Mon, Nov 26, 1:50 PM
evandro committed rL347597: [AArch64] Refactor the scheduling predicates (1/3) (NFC).
[AArch64] Refactor the scheduling predicates (1/3) (NFC)
Mon, Nov 26, 1:50 PM
evandro closed D54777: [AArch64] Refactor the scheduling predicates (1/3) (NFC).
Mon, Nov 26, 1:50 PM

Fri, Nov 23

evandro updated the diff for D54822: [AArch64] Refactor the scheduling predicates (3/3) (NFC).
Fri, Nov 23, 4:25 PM
evandro updated the diff for D54777: [AArch64] Refactor the scheduling predicates (1/3) (NFC).
Fri, Nov 23, 4:25 PM
evandro updated the diff for D54820: [AArch64] Refactor the scheduling predicates (2/3) (NFC).
Fri, Nov 23, 4:25 PM
evandro added inline comments to D54777: [AArch64] Refactor the scheduling predicates (1/3) (NFC).
Fri, Nov 23, 4:02 PM
evandro added inline comments to D54822: [AArch64] Refactor the scheduling predicates (3/3) (NFC).
Fri, Nov 23, 2:55 PM
evandro added inline comments to D54820: [AArch64] Refactor the scheduling predicates (2/3) (NFC).
Fri, Nov 23, 2:45 PM
evandro added inline comments to D54777: [AArch64] Refactor the scheduling predicates (1/3) (NFC).
Fri, Nov 23, 2:24 PM
evandro committed rL347504: [TableGen] Emit more variant transitions.
[TableGen] Emit more variant transitions
Fri, Nov 23, 1:20 PM
evandro closed D54648: [TableGen] Emit more variant transitions.
Fri, Nov 23, 1:20 PM

Wed, Nov 21

evandro added a child revision for D54820: [AArch64] Refactor the scheduling predicates (2/3) (NFC): D54822: [AArch64] Refactor the scheduling predicates (3/3) (NFC).
Wed, Nov 21, 5:06 PM
evandro added a parent revision for D54822: [AArch64] Refactor the scheduling predicates (3/3) (NFC): D54820: [AArch64] Refactor the scheduling predicates (2/3) (NFC).
Wed, Nov 21, 5:06 PM
evandro created D54822: [AArch64] Refactor the scheduling predicates (3/3) (NFC).
Wed, Nov 21, 5:06 PM
evandro committed rL347440: [llvm-mca] Add test case (NFC).
[llvm-mca] Add test case (NFC)
Wed, Nov 21, 4:42 PM
evandro added a parent revision for D54820: [AArch64] Refactor the scheduling predicates (2/3) (NFC): D54777: [AArch64] Refactor the scheduling predicates (1/3) (NFC).
Wed, Nov 21, 4:39 PM
evandro added a child revision for D54777: [AArch64] Refactor the scheduling predicates (1/3) (NFC): D54820: [AArch64] Refactor the scheduling predicates (2/3) (NFC).
Wed, Nov 21, 4:39 PM
evandro created D54820: [AArch64] Refactor the scheduling predicates (2/3) (NFC).
Wed, Nov 21, 4:39 PM
evandro committed rL347437: [llvm-mca] Add test case (NFC).
[llvm-mca] Add test case (NFC)
Wed, Nov 21, 3:39 PM
evandro updated the diff for D54777: [AArch64] Refactor the scheduling predicates (1/3) (NFC).

Break up the original patch in 3 installments, one for each existing predicate: AArch64InstrInfo::isScaledAddr(), AArch64InstrInfo::hasShiftedReg(), AArch64InstrInfo::hasExtendedReg().

Wed, Nov 21, 3:32 PM
evandro added an edge to rL347434: [llvm-mca] Add test case (NFC): D54777: [AArch64] Refactor the scheduling predicates (1/3) (NFC).
Wed, Nov 21, 3:01 PM
evandro added 1 commit(s) for D54777: [AArch64] Refactor the scheduling predicates (1/3) (NFC): rL347434: [llvm-mca] Add test case (NFC).
Wed, Nov 21, 3:01 PM
evandro committed rL347434: [llvm-mca] Add test case (NFC).
[llvm-mca] Add test case (NFC)
Wed, Nov 21, 3:00 PM
evandro added a comment to D54777: [AArch64] Refactor the scheduling predicates (1/3) (NFC).

Question: the code beginning at MCOpcodeSwitchStatement above cannot be used as a regular MCSchedPredicate too. If so, how can I avoid writing the same statement twice, since this condition is used both in AArch64InstrInfo.cpp and in AArch64Sched*.td?

Wed, Nov 21, 12:57 PM
evandro added a comment to D54777: [AArch64] Refactor the scheduling predicates (1/3) (NFC).

Awesome! Please, stand by.

Wed, Nov 21, 11:37 AM
evandro added a comment to D54648: [TableGen] Emit more variant transitions.

The issue that I'm trying to avoid is that it's not enough for me to add predicates based on MCSchedPredicate for Exynos processors is other processors don't. Then, if an instruction that I model by using a variant schedule is also modeled by another processor, TableGen will emit no solution at all for the instruction. This patch, which I recognize is just an attempt, aims at allowing the proper solution for a processor using such predicates, while indeed resulting in a clumsy solution the scheduling of the same instruction for other processors.

Wed, Nov 21, 11:35 AM

Tue, Nov 20

evandro created D54777: [AArch64] Refactor the scheduling predicates (1/3) (NFC).
Tue, Nov 20, 2:58 PM

Mon, Nov 19

evandro updated subscribers of D54648: [TableGen] Emit more variant transitions.
Mon, Nov 19, 2:41 PM
evandro updated the diff for D54648: [TableGen] Emit more variant transitions.

Exclude test that does not apply anymore.

Mon, Nov 19, 2:40 PM

Fri, Nov 16

evandro created D54648: [TableGen] Emit more variant transitions.
Fri, Nov 16, 1:34 PM

Nov 6 2018

evandro committed rL346273: [PATCH] [AArch64] Refactor helper functions (NFC).
[PATCH] [AArch64] Refactor helper functions (NFC)
Nov 6 2018, 2:19 PM

Oct 31 2018

evandro committed rL345786: [AArch64] Sort switch cases (NFC).
[AArch64] Sort switch cases (NFC)
Oct 31 2018, 2:59 PM

Oct 25 2018

evandro committed rL345279: [AArch64] Refactor Exynos feature sets (NFC).
[AArch64] Refactor Exynos feature sets (NFC)
Oct 25 2018, 9:48 AM

Oct 24 2018

evandro committed rL345201: [AArch64] Refactor Exynos machine model.
[AArch64] Refactor Exynos machine model
Oct 24 2018, 2:43 PM
evandro committed rL345187: [AArch64] Refactor Exynos machine model (NFC).
[AArch64] Refactor Exynos machine model (NFC)
Oct 24 2018, 1:05 PM
evandro committed rL345186: [AArch64] Fix overlapping instructions.
[AArch64] Fix overlapping instructions
Oct 24 2018, 1:05 PM
evandro accepted D32564: AArch64: compress jump tables to minimum size needed to reach destinations.
Oct 24 2018, 11:59 AM

Oct 22 2018

evandro added a comment to D32564: AArch64: compress jump tables to minimum size needed to reach destinations.

Isn't this change always enabled for -Os? So it should be easy to test it or to enable down to a single function, shouldn't it?

Oct 22 2018, 2:48 PM
evandro added a comment to D49200: [DAGCombine] Improve Load-Store Forwarding.
Oct 22 2018, 2:18 PM

Oct 19 2018

evandro committed rL344814: [NFC][InstCombine] Undo stray change.
[NFC][InstCombine] Undo stray change
Oct 19 2018, 2:00 PM

Oct 16 2018

evandro committed rL344632: [PATCH] [NFC][AArch64] Fix refactoring of macro fusion.
[PATCH] [NFC][AArch64] Fix refactoring of macro fusion
Oct 16 2018, 10:43 AM
evandro committed rL344625: [NFC][ARM] Refactor macro fusion.
[NFC][ARM] Refactor macro fusion
Oct 16 2018, 10:21 AM
evandro committed rL344624: [NFC][AArch64] Refactor macro fusion.
[NFC][AArch64] Refactor macro fusion
Oct 16 2018, 10:21 AM

Oct 12 2018

evandro added a comment to D32564: AArch64: compress jump tables to minimum size needed to reach destinations.

Rather than a feature in AArch.td, I'd prefer a line in AArch64Subtarget::initializeProperties().

Oct 12 2018, 9:19 AM

Oct 10 2018

evandro added a comment to D32564: AArch64: compress jump tables to minimum size needed to reach destinations.

I'm getting mixed results on Exynos, with significant improvements and regressions. I'd like to run more tests, but, at the moment, I'd rather that this feature would be gated, either as @jfb or @rengolin suggested.

Oct 10 2018, 2:44 PM
evandro added a comment to D32564: AArch64: compress jump tables to minimum size needed to reach destinations.
In D32564#1259703, @jfb wrote:

Do you have an ETA?

Oct 10 2018, 8:25 AM

Oct 9 2018

evandro added a comment to D32564: AArch64: compress jump tables to minimum size needed to reach destinations.

Is that in trunk? I can't see any obvious candidates with a git grep -i exynos. If not, it's probably not relevant to this review.

Oct 9 2018, 3:28 PM
evandro added a comment to D32564: AArch64: compress jump tables to minimum size needed to reach destinations.
In D32564#1259155, @jfb wrote:

Do you have specific worries? Or at least a timeline? Seems the patch can be reviewed without waiting for your exploration.

Oct 9 2018, 1:40 PM
evandro updated subscribers of D32564: AArch64: compress jump tables to minimum size needed to reach destinations.
Oct 9 2018, 11:01 AM
evandro added a comment to D32564: AArch64: compress jump tables to minimum size needed to reach destinations.

This is good data. However, I'd like to evaluate this patch a bit further on Exynos, if I may.

Oct 9 2018, 11:00 AM

Oct 8 2018

evandro added a comment to D32564: AArch64: compress jump tables to minimum size needed to reach destinations.

Can you please provide some figures on the code size saved and the effect on the performance of this change?

Oct 8 2018, 1:48 PM

Oct 1 2018

evandro committed rL343489: [AArch64] Refactor cheap cost model.
[AArch64] Refactor cheap cost model
Oct 1 2018, 9:13 AM

Sep 28 2018

evandro committed rL343354: [AArch64] Split zero cycle feature more granularly.
[AArch64] Split zero cycle feature more granularly
Sep 28 2018, 12:06 PM
evandro closed D52621: [AArch64] Split zero cycle feature more granularly.
Sep 28 2018, 12:06 PM

Sep 27 2018

evandro created D52621: [AArch64] Split zero cycle feature more granularly.
Sep 27 2018, 10:41 AM

Sep 24 2018

evandro committed rL342900: [ARM] Adjust the cost model for Exynos.
[ARM] Adjust the cost model for Exynos
Sep 24 2018, 9:36 AM
evandro committed rL342899: [ARM] Adjust the feature set for Exynos.
[ARM] Adjust the feature set for Exynos
Sep 24 2018, 9:36 AM

Sep 19 2018

evandro accepted D52256: AArch64: Add FuseCryptoEOR fusion rules.

Me likes it.

Sep 19 2018, 1:12 PM
evandro committed rL342585: [ARM] Adjust the feature set for Exynos.
[ARM] Adjust the feature set for Exynos
Sep 19 2018, 12:52 PM
evandro committed rL342583: [ARM] Refactor Exynos feature set (NFC).
[ARM] Refactor Exynos feature set (NFC)
Sep 19 2018, 12:44 PM
evandro added inline comments to D52256: AArch64: Add FuseCryptoEOR fusion rules.
Sep 19 2018, 8:52 AM

Aug 30 2018

evandro committed rL341101: [ARM] Adjust the feature set for Exynos.
[ARM] Adjust the feature set for Exynos
Aug 30 2018, 12:22 PM