Page MenuHomePhabricator

evandro (Evandro Menezes)
User

Projects

User does not belong to any projects.

User Details

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

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

Recent Activity

Fri, Apr 19

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?

Fri, Apr 19, 10:38 AM · Restricted Project
evandro added inline comments to D60295: [SelectionDAG] Change the jump table size unit from entry to target.
Fri, Apr 19, 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?

Fri, Apr 19, 10:32 AM · Restricted Project

Fri, Apr 5

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?

Fri, Apr 5, 9:45 AM · Restricted Project

Thu, Apr 4

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.

Thu, Apr 4, 5:13 PM · Restricted Project
evandro created D60295: [SelectionDAG] Change the jump table size unit from entry to target.
Thu, Apr 4, 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.

Thu, Apr 4, 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)
Thu, Apr 4, 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)
Thu, Apr 4, 3:40 PM
evandro committed rC357731: [IR] Refactor attribute methods in Function class (NFC).
[IR] Refactor attribute methods in Function class (NFC)
Thu, Apr 4, 3:40 PM
evandro closed D60287: [IR] Refactor attribute methods in Function class (NFC).
Thu, Apr 4, 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).
Thu, Apr 4, 2:56 PM · Restricted Project, Restricted Project
evandro created D60287: [IR] Refactor attribute methods in Function class (NFC).
Thu, Apr 4, 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).
Thu, Apr 4, 2:56 PM · Restricted Project, Restricted Project

Wed, Apr 3

evandro committed rG7c711ccf36e0: [IR] Create new method in `Function` class (NFC) (authored by evandro).
[IR] Create new method in `Function` class (NFC)
Wed, Apr 3, 2:26 PM
evandro committed rL357638: [IR] Create new method in `Function` class (NFC).
[IR] Create new method in `Function` class (NFC)
Wed, Apr 3, 2:25 PM
evandro committed rC357638: [IR] Create new method in `Function` class (NFC).
[IR] Create new method in `Function` class (NFC)
Wed, Apr 3, 2:25 PM
evandro closed D59852: [IR] Create new method in the Function class (NFC).
Wed, Apr 3, 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().

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

Tue, Apr 2

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

Ping! 🔔

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

Fri, Mar 29

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
Fri, Mar 29, 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
Fri, Mar 29, 10:27 AM

Wed, Mar 27

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).
Wed, Mar 27, 2:33 PM · Restricted Project, Restricted Project

Tue, Mar 26

evandro created D59852: [IR] Create new method in the Function class (NFC).
Tue, Mar 26, 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
evandro committed rL352892: [InstCombine] Expand Windows test (NFC).
[InstCombine] Expand Windows test (NFC)
Feb 1 2019, 9:39 AM
evandro committed rL352886: [InstCombine] Refactor test checks (NFC).
[InstCombine] Refactor test checks (NFC)
Feb 1 2019, 8:57 AM

Jan 31 2019

evandro added inline comments to D57044: [AArch64] OOptimize floating point materialization.
Jan 31 2019, 2:06 PM · Restricted Project
evandro added inline comments to D57044: [AArch64] OOptimize floating point materialization.
Jan 31 2019, 1:35 PM · Restricted Project

Jan 30 2019

evandro committed rL352714: [InstCombine] Expand testing for Windows (NFC).
[InstCombine] Expand testing for Windows (NFC)
Jan 30 2019, 5:41 PM
evandro committed rL352707: [InstCombine] Simplify check clauses in test (NFC).
[InstCombine] Simplify check clauses in test (NFC)
Jan 30 2019, 4:51 PM
evandro added a comment to D57434: Optimize pow(X, 0.75) to sqrt(X) * sqrt(sqrt(X)).

Please, add a test for AArch64 and new cases in test/Transforms/InstCombine/pow-sqrt.ll as well.

Jan 30 2019, 10:59 AM · Restricted Project

Jan 14 2019

evandro committed rL351149: [AArch64] Adjust the feature set for Exynos.
[AArch64] Adjust the feature set for Exynos
Jan 14 2019, 5:57 PM
evandro committed rL351144: [AArch64] Fix typo (NFC).
[AArch64] Fix typo (NFC)
Jan 14 2019, 5:05 PM
evandro committed rL351143: [AArch64] Fix typo (NFC).
[AArch64] Fix typo (NFC)
Jan 14 2019, 4:24 PM
evandro committed rL351139: [AArch64] Add new target feature to fuse arithmetic and logic operations.
[AArch64] Add new target feature to fuse arithmetic and logic operations
Jan 14 2019, 3:58 PM
evandro closed D56572: [AArch64] Add new target feature to fuse arithmetic and logic operations.
Jan 14 2019, 3:58 PM

Jan 11 2019

evandro committed rL350986: [ARM] Fix typo.
[ARM] Fix typo
Jan 11 2019, 5:12 PM
evandro updated the diff for D56572: [AArch64] Add new target feature to fuse arithmetic and logic operations.

Replaced the test case with a MIR file.

Jan 11 2019, 2:45 PM
evandro committed rL350976: [AArch64] Improve Exynos predicates.
[AArch64] Improve Exynos predicates
Jan 11 2019, 2:44 PM
evandro committed rL350961: [llvm-mca] Update tests for Exynos (NFC).
[llvm-mca] Update tests for Exynos (NFC)
Jan 11 2019, 11:40 AM
evandro committed rL350960: [AArch64] Add pipeline model for Exynos M4.
[AArch64] Add pipeline model for Exynos M4
Jan 11 2019, 11:40 AM
evandro committed rC350954: [test] Update support for Exynos M4 (NFC).
[test] Update support for Exynos M4 (NFC)
Jan 11 2019, 11:00 AM
evandro committed rL350954: [test] Update support for Exynos M4 (NFC).
[test] Update support for Exynos M4 (NFC)
Jan 11 2019, 11:00 AM
evandro committed rL350953: [AArch64] Create feature set for Exynos M4.
[AArch64] Create feature set for Exynos M4
Jan 11 2019, 11:00 AM
evandro updated the diff for D56572: [AArch64] Add new target feature to fuse arithmetic and logic operations.

I'm afraid that I'll need more time to craft the MIR file. Then, I might as well do the same for the other fusion tests.

Jan 11 2019, 9:41 AM