Page MenuHomePhabricator

evandro (Evandro Menezes)
User

Projects

User does not belong to any projects.

User Details

User Since
Jan 5 2016, 9:21 AM (181 w, 1 d)

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

Recent Activity

Today

evandro committed rG42e13c83284e: [CodeGen] Improve formatting of jump tables (NFC) (authored by evandro).
[CodeGen] Improve formatting of jump tables (NFC)
Wed, Jun 26, 8:13 AM
evandro committed rL364436: [CodeGen] Improve formatting of jump tables (NFC).
[CodeGen] Improve formatting of jump tables (NFC)
Wed, Jun 26, 8:13 AM

Thu, Jun 20

evandro committed rG944a7117e929: [CodeGen] Refactor check of suitability for a jump table (NFC) (authored by evandro).
[CodeGen] Refactor check of suitability for a jump table (NFC)
Thu, Jun 20, 3:03 PM
evandro committed rL363992: [CodeGen] Refactor check of suitability for a jump table (NFC).
[CodeGen] Refactor check of suitability for a jump table (NFC)
Thu, Jun 20, 3:00 PM
evandro committed rGaa10f050447d: [CodeGen] Fix formatting and comments (NFC) (authored by evandro).
[CodeGen] Fix formatting and comments (NFC)
Thu, Jun 20, 9:33 AM
evandro committed rL363947: [CodeGen] Fix formatting and comments (NFC).
[CodeGen] Fix formatting and comments (NFC)
Thu, Jun 20, 9:30 AM

Wed, Jun 19

evandro committed rGa7ed3a627b4b: [AArch64] Improve jump tables testing (NFC) (authored by evandro).
[AArch64] Improve jump tables testing (NFC)
Wed, Jun 19, 9:58 AM
evandro committed rL363839: [AArch64] Improve jump tables testing (NFC).
[AArch64] Improve jump tables testing (NFC)
Wed, Jun 19, 9:56 AM
evandro committed rG54252b8243e3: [AArch64] Improve jump tables testing (NFC) (authored by evandro).
[AArch64] Improve jump tables testing (NFC)
Wed, Jun 19, 9:33 AM
evandro committed rL363837: [AArch64] Improve jump tables testing (NFC).
[AArch64] Improve jump tables testing (NFC)
Wed, Jun 19, 9:33 AM
evandro committed rG567f6c150dd7: [AVR] Change limit type to match the argument type (NFC) (authored by evandro).
[AVR] Change limit type to match the argument type (NFC)
Wed, Jun 19, 9:10 AM
evandro committed rG56c45e93ab1b: [Hexagon] Change limit type to match the argument type (NFC) (authored by evandro).
[Hexagon] Change limit type to match the argument type (NFC)
Wed, Jun 19, 9:10 AM
evandro committed rL363832: [AVR] Change limit type to match the argument type (NFC).
[AVR] Change limit type to match the argument type (NFC)
Wed, Jun 19, 9:09 AM
evandro committed rL363831: [Hexagon] Change limit type to match the argument type (NFC).
[Hexagon] Change limit type to match the argument type (NFC)
Wed, Jun 19, 9:08 AM

Tue, Jun 18

evandro committed rG1933cbe86620: [test] Change comment wording (NFC) (authored by evandro).
[test] Change comment wording (NFC)
Tue, Jun 18, 4:30 PM
evandro committed rL363751: [test] Change comment wording (NFC).
[test] Change comment wording (NFC)
Tue, Jun 18, 4:28 PM

May 2 2019

evandro committed rG111df108e685: [AArch64] Update for Exynos (authored by evandro).
[AArch64] Update for Exynos
May 2 2019, 3:00 PM
evandro committed rL359834: [AArch64] Update for Exynos.
[AArch64] Update for Exynos
May 2 2019, 2:59 PM

Apr 30 2019

evandro committed rGea349f3ef592: [SimplifyLibCalls] Clean up code (NFC) (authored by evandro).
[SimplifyLibCalls] Clean up code (NFC)
Apr 30 2019, 11:35 AM
evandro committed rL359595: [SimplifyLibCalls] Clean up code (NFC).
[SimplifyLibCalls] Clean up code (NFC)
Apr 30 2019, 11:34 AM

Apr 25 2019

evandro added a comment to D60295: [SelectionDAG] Change the jump table size unit from entry to target.

Yes, default, whether explicit or implicit, counts too, for the resources used inside the target only care about different addresses. In you example, a typical branch predictor will see up to 3 target addresses. Of course, branch predictors are trained by branches that are actually taken, so only target addresses that are executed count. Which opens the window for future work involving FDO or just the static heuristics.

Apr 25 2019, 6:25 AM · Restricted Project

Apr 19 2019

evandro added a comment to D60295: [SelectionDAG] Change the jump table size unit from entry to target.

I still think looking at the number of cases isn't that much better than looking at the size of the range though. As you said, the point is to limit the load on the branch target predictor, and IIUC that's limited on the number of *different branch targets*, which is really orthogonal to the number of cases. I realize that we don't have that information as readily available, but do you agree that limiting the jump table to a certain number of different targets would be a better approach?

Apr 19 2019, 10:38 AM · Restricted Project
evandro added inline comments to D60295: [SelectionDAG] Change the jump table size unit from entry to target.
Apr 19 2019, 10:33 AM · Restricted Project
evandro added a comment to D60295: [SelectionDAG] Change the jump table size unit from entry to target.

What does this do for codesize?

Apr 19 2019, 10:32 AM · Restricted Project

Apr 5 2019

evandro added a comment to D60295: [SelectionDAG] Change the jump table size unit from entry to target.

I also don't see exactly how the semantics of max-jump-table-size are changed with this patch? What am I missing? Can you upload it again with more context maybe?

Apr 5 2019, 9:45 AM · Restricted Project

Apr 4 2019

evandro added a comment to D60295: [SelectionDAG] Change the jump table size unit from entry to target.

I'm still collecting data on other architectures, but I've observed improvements between 3 and 15% in some SPEC benchmarks, such as 253.perlbmk and 400.perlbench, and proprietary ones on AArch64.

Apr 4 2019, 5:13 PM · Restricted Project
evandro created D60295: [SelectionDAG] Change the jump table size unit from entry to target.
Apr 4 2019, 5:11 PM · Restricted Project
evandro added a comment to D60287: [IR] Refactor attribute methods in Function class (NFC).

If anyone could give me a tip on how to avoid the review to be collapsed to just the part of whichever repo was hit first by a commit, I'd appreciate it.

Apr 4 2019, 3:49 PM · Restricted Project, Restricted Project
evandro committed rL357731: [IR] Refactor attribute methods in Function class (NFC).
[IR] Refactor attribute methods in Function class (NFC)
Apr 4 2019, 3:40 PM
evandro committed rG85bd3978ae4e: [IR] Refactor attribute methods in Function class (NFC) (authored by evandro).
[IR] Refactor attribute methods in Function class (NFC)
Apr 4 2019, 3:40 PM
evandro committed rC357731: [IR] Refactor attribute methods in Function class (NFC).
[IR] Refactor attribute methods in Function class (NFC)
Apr 4 2019, 3:40 PM
evandro closed D60287: [IR] Refactor attribute methods in Function class (NFC).
Apr 4 2019, 3:40 PM · Restricted Project, Restricted Project
evandro added a parent revision for D60287: [IR] Refactor attribute methods in Function class (NFC): D59852: [IR] Create new method in the Function class (NFC).
Apr 4 2019, 2:56 PM · Restricted Project, Restricted Project
evandro created D60287: [IR] Refactor attribute methods in Function class (NFC).
Apr 4 2019, 2:56 PM · Restricted Project, Restricted Project
evandro added a child revision for D59852: [IR] Create new method in the Function class (NFC): D60287: [IR] Refactor attribute methods in Function class (NFC).
Apr 4 2019, 2:56 PM · Restricted Project, Restricted Project

Apr 3 2019

evandro committed rG7c711ccf36e0: [IR] Create new method in `Function` class (NFC) (authored by evandro).
[IR] Create new method in `Function` class (NFC)
Apr 3 2019, 2:26 PM
evandro committed rL357638: [IR] Create new method in `Function` class (NFC).
[IR] Create new method in `Function` class (NFC)
Apr 3 2019, 2:25 PM
evandro committed rC357638: [IR] Create new method in `Function` class (NFC).
[IR] Create new method in `Function` class (NFC)
Apr 3 2019, 2:25 PM
evandro closed D59852: [IR] Create new method in the Function class (NFC).
Apr 3 2019, 2:25 PM · Restricted Project, Restricted Project
evandro added a comment to D59852: [IR] Create new method in the Function class (NFC).

That's a good idea to follow up on, following the pattern of hasOptNone().

Apr 3 2019, 1:38 PM · Restricted Project, Restricted Project
evandro added inline comments to D59852: [IR] Create new method in the Function class (NFC).
Apr 3 2019, 11:54 AM · Restricted Project, Restricted Project

Apr 2 2019

evandro added inline comments to D59852: [IR] Create new method in the Function class (NFC).
Apr 2 2019, 2:23 PM · Restricted Project, Restricted Project
evandro added a comment to D59852: [IR] Create new method in the Function class (NFC).

Ping! 🔔

Apr 2 2019, 10:35 AM · Restricted Project, Restricted Project

Mar 29 2019

evandro committed rG0f797b873292: [CodeGen] Refactor the option for the maximum jump table size (authored by evandro).
[CodeGen] Refactor the option for the maximum jump table size
Mar 29 2019, 10:28 AM
evandro committed rL357280: [CodeGen] Refactor the option for the maximum jump table size.
[CodeGen] Refactor the option for the maximum jump table size
Mar 29 2019, 10:27 AM

Mar 27 2019

evandro retitled D59852: [IR] Create new method in the Function class (NFC) from [IR] Create new method in `Function` class (NFC) to [IR] Create new method in the Function class (NFC).
Mar 27 2019, 2:33 PM · Restricted Project, Restricted Project

Mar 26 2019

evandro created D59852: [IR] Create new method in the Function class (NFC).
Mar 26 2019, 3:40 PM · Restricted Project, Restricted Project

Mar 25 2019

evandro committed rG7e8476ddfa77: [clang] Remove cmake warning message (NFC) (authored by evandro).
[clang] Remove cmake warning message (NFC)
Mar 25 2019, 9:39 AM
evandro committed rL356920: [clang] Remove cmake warning message (NFC).
[clang] Remove cmake warning message (NFC)
Mar 25 2019, 9:38 AM
evandro committed rC356920: [clang] Remove cmake warning message (NFC).
[clang] Remove cmake warning message (NFC)
Mar 25 2019, 9:38 AM

Mar 22 2019

evandro committed rG36b31bbe8cf8: [clang] Add support for Exynos M5 (NFC) (authored by evandro).
[clang] Add support for Exynos M5 (NFC)
Mar 22 2019, 11:43 AM
evandro committed rC356794: [clang] Add support for Exynos M5 (NFC).
[clang] Add support for Exynos M5 (NFC)
Mar 22 2019, 11:43 AM
evandro committed rL356794: [clang] Add support for Exynos M5 (NFC).
[clang] Add support for Exynos M5 (NFC)
Mar 22 2019, 11:43 AM
evandro committed rG4a7739b68188: [AArch64, ARM] Add support for Exynos M5 (authored by evandro).
[AArch64, ARM] Add support for Exynos M5
Mar 22 2019, 11:42 AM
evandro committed rL356793: [AArch64, ARM] Add support for Exynos M5.
[AArch64, ARM] Add support for Exynos M5
Mar 22 2019, 11:42 AM

Mar 21 2019

evandro committed rGe5e77815b48a: [AArch64] Update for Exynos (authored by evandro).
[AArch64] Update for Exynos
Mar 21 2019, 11:55 AM
evandro committed rL356698: [AArch64] Update for Exynos.
[AArch64] Update for Exynos
Mar 21 2019, 11:55 AM

Mar 20 2019

evandro committed rGf7522cab397e: [AArch64] Fix formatting (NFC) (authored by evandro).
[AArch64] Fix formatting (NFC)
Mar 20 2019, 12:59 PM
evandro committed rL356604: [AArch64] Fix formatting (NFC).
[AArch64] Fix formatting (NFC)
Mar 20 2019, 12:58 PM

Mar 11 2019

evandro accepted D58690: [AArch64] Add code size information on isFPImmLegal.

LGTM, after the minor issues below are addressed.

Mar 11 2019, 1:57 PM · Restricted Project
evandro added inline comments to D58690: [AArch64] Add code size information on isFPImmLegal.
Mar 11 2019, 1:50 PM · Restricted Project
evandro added inline comments to D58690: [AArch64] Add code size information on isFPImmLegal.
Mar 11 2019, 11:56 AM · Restricted Project

Feb 27 2019

evandro added a comment to D58690: [AArch64] Add code size information on isFPImmLegal.

TargetLoweringBase::isFPImmLegal() could have a default value of false for ForCodeSize.

Feb 27 2019, 10:49 AM · Restricted Project
evandro added inline comments to D58460: [AArch64] Optimize floating point materialization.
Feb 27 2019, 10:41 AM · Restricted Project

Feb 11 2019

evandro added a comment to D57625: [TargetLibraryInfo] Update run time support for Windows.

Commited extra float C99 functions in rGf4a369596f7b.

Feb 11 2019, 2:16 PM · Restricted Project
evandro committed rGf4a369596f7b: [TargetLibraryInfo] Update run time support for Windows (authored by evandro).
[TargetLibraryInfo] Update run time support for Windows
Feb 11 2019, 2:13 PM
evandro committed rL353758: [TargetLibraryInfo] Update run time support for Windows.
[TargetLibraryInfo] Update run time support for Windows
Feb 11 2019, 2:12 PM
evandro committed rG4b86c474ff10: [TargetLibraryInfo] Update run time support for Windows (authored by evandro).
[TargetLibraryInfo] Update run time support for Windows
Feb 11 2019, 11:03 AM
evandro committed rL353733: [TargetLibraryInfo] Update run time support for Windows.
[TargetLibraryInfo] Update run time support for Windows
Feb 11 2019, 11:02 AM
evandro closed D57625: [TargetLibraryInfo] Update run time support for Windows.
Feb 11 2019, 11:02 AM · Restricted Project
evandro added inline comments to D57625: [TargetLibraryInfo] Update run time support for Windows.
Feb 11 2019, 8:48 AM · Restricted Project

Feb 7 2019

evandro updated subscribers of D57625: [TargetLibraryInfo] Update run time support for Windows.
Feb 7 2019, 1:19 PM · Restricted Project
evandro accepted D57434: Optimize pow(X, 0.75) to sqrt(X) * sqrt(sqrt(X)).

After the nsz check is addressed, it LGTM.

Feb 7 2019, 8:40 AM · Restricted Project
evandro added a comment to D57434: Optimize pow(X, 0.75) to sqrt(X) * sqrt(sqrt(X)).

@evandro Why do we want to add new cases in test/Transforms/InstCombine/pow-sqrt.ll? Am I right that InstCombine tests opt? This new changes happen in llc.

Feb 7 2019, 8:37 AM · Restricted Project

Feb 6 2019

evandro updated the diff for D57625: [TargetLibraryInfo] Update run time support for Windows.

Separated functions between VC19 and float.

Feb 6 2019, 11:30 AM · Restricted Project
evandro added inline comments to D57625: [TargetLibraryInfo] Update run time support for Windows.
Feb 6 2019, 10:11 AM · Restricted Project
evandro added inline comments to D57625: [TargetLibraryInfo] Update run time support for Windows.
Feb 6 2019, 9:41 AM · Restricted Project

Feb 5 2019

evandro updated the diff for D57625: [TargetLibraryInfo] Update run time support for Windows.

Assume VC19 as the default. However, I wonder if this should be the default earlier, in the clang driver.

Feb 5 2019, 6:34 PM · Restricted Project
evandro updated the summary of D57625: [TargetLibraryInfo] Update run time support for Windows.
Feb 5 2019, 5:26 PM · Restricted Project
evandro updated the diff for D57625: [TargetLibraryInfo] Update run time support for Windows.

Restrict the improvements to VS2015.

Feb 5 2019, 5:22 PM · Restricted Project
evandro added inline comments to D57625: [TargetLibraryInfo] Update run time support for Windows.
Feb 5 2019, 3:18 PM · Restricted Project
evandro added inline comments to D57625: [TargetLibraryInfo] Update run time support for Windows.
Feb 5 2019, 3:15 PM · Restricted Project
evandro added a comment to D57625: [TargetLibraryInfo] Update run time support for Windows.
In D57625#1386061, @rnk wrote:

Do we know when most of these were added? Did the all arrive in more or less the same version? It would be nice to make this conditional on a new enough environment version. That gives users a way to indicate that they are targetting an old CRT if they need to.

Feb 5 2019, 3:03 PM · Restricted Project
evandro updated the diff for D57625: [TargetLibraryInfo] Update run time support for Windows.

Rebase.

Feb 5 2019, 12:27 PM · Restricted Project
evandro committed rGe5bb58b11593: [TargetLibraryInfo] Regroup run time functions for Windows (NFC) (authored by evandro).
[TargetLibraryInfo] Regroup run time functions for Windows (NFC)
Feb 5 2019, 12:24 PM
evandro committed rL353213: [TargetLibraryInfo] Regroup run time functions for Windows (NFC).
[TargetLibraryInfo] Regroup run time functions for Windows (NFC)
Feb 5 2019, 12:24 PM
evandro updated the diff for D57625: [TargetLibraryInfo] Update run time support for Windows.

Include ARM.

Feb 5 2019, 9:46 AM · Restricted Project
evandro added a comment to D57625: [TargetLibraryInfo] Update run time support for Windows.

But the other point still stands; even if compiling LLVM requires VS 2015 or newer, the generated code can work with older MSVC runtimes as well. @rnk - is there any declared minimum for this? I'm using Clang with MSVC 2013 SDK/runtimes just fine in one setup at least (although this setup currently uses Clang/LLVM 4.0, I haven't recently retested it with latest). AFAIK, the exact version of MSVC that is targeted is kept available via Triplet::getEnvironmentVersion, so unless it's intended to drop support for all the older runtimes as well, this would have to check the version of it.

Feb 5 2019, 9:34 AM · Restricted Project

Feb 4 2019

evandro committed rG98f356cd74ad: Revert "[PATCH] [TargetLibraryInfo] Update run time support for Windows" (authored by evandro).
Revert "[PATCH] [TargetLibraryInfo] Update run time support for Windows"
Feb 4 2019, 3:36 PM
evandro committed rGd01676377419: [ADT] Refactor the Windows query functions (NFC) (authored by evandro).
[ADT] Refactor the Windows query functions (NFC)
Feb 4 2019, 3:36 PM
evandro committed rL353118: Revert "[PATCH] [TargetLibraryInfo] Update run time support for Windows".
Revert "[PATCH] [TargetLibraryInfo] Update run time support for Windows"
Feb 4 2019, 3:35 PM
evandro committed rL353117: [ADT] Refactor the Windows query functions (NFC).
[ADT] Refactor the Windows query functions (NFC)
Feb 4 2019, 3:35 PM
evandro committed rGff5527718d5d: [PATCH] [TargetLibraryInfo] Update run time support for Windows (authored by evandro).
[PATCH] [TargetLibraryInfo] Update run time support for Windows
Feb 4 2019, 3:31 PM
evandro committed rL353114: [PATCH] [TargetLibraryInfo] Update run time support for Windows.
[PATCH] [TargetLibraryInfo] Update run time support for Windows
Feb 4 2019, 3:30 PM
evandro added a comment to D57625: [TargetLibraryInfo] Update run time support for Windows.

(And it also works with mingw which normally uses an ancient msvcrt.)

Feb 4 2019, 2:39 PM · Restricted Project

Feb 1 2019

evandro created D57625: [TargetLibraryInfo] Update run time support for Windows.
Feb 1 2019, 3:08 PM · Restricted Project
evandro committed rL352935: [InstCombine] Refactor test checks (NFC).
[InstCombine] Refactor test checks (NFC)
Feb 1 2019, 2:52 PM
evandro committed rL352917: [InstCombine] Expand Windows test (NFC).
[InstCombine] Expand Windows test (NFC)
Feb 1 2019, 1:14 PM
evandro committed rL352908: [InstCombine] Expand Windows test (NFC).
[InstCombine] Expand Windows test (NFC)
Feb 1 2019, 12:42 PM
evandro committed rL352895: [InstCombine] Refactor test checks (NFC).
[InstCombine] Refactor test checks (NFC)
Feb 1 2019, 10:34 AM