Page MenuHomePhabricator

gulfem (Gulfem Savrun Yeniceri)
User

Projects

User does not belong to any projects.

User Details

User Since
Oct 19 2020, 10:52 AM (18 w, 4 d)

Recent Activity

Wed, Feb 24

gulfem added inline comments to D94355: [Passes] Add relative lookup table converter pass.
Wed, Feb 24, 7:09 PM · Restricted Project, Restricted Project
gulfem added a comment to D94355: [Passes] Add relative lookup table converter pass.

It looks like you have everything setup for running on the new PM, but it doesn't look like the pass is added anywhere in the new PM pipeline.

Thank you very much for pointing that out @leonardchan !
I added this pass into both pass managers now.

Wed, Feb 24, 7:02 PM · Restricted Project, Restricted Project
gulfem added a comment to D94355: [Passes] Add relative lookup table converter pass.

Thanks for pushing this forward! I think this will be a nice transformation once all the details are worked out.

Thank you very much for all of your wonderful constructive feedback!
I learned much more about LLVM and IR internals.
Appreciate all your help!

Wed, Feb 24, 6:59 PM · Restricted Project, Restricted Project
gulfem added inline comments to D94355: [Passes] Add relative lookup table converter pass.
Wed, Feb 24, 6:54 PM · Restricted Project, Restricted Project
gulfem retitled D94355: [Passes] Add relative lookup table converter pass from [Passes] Add relative lookup table generator pass to [Passes] Add relative lookup table converter pass.
Wed, Feb 24, 6:47 PM · Restricted Project, Restricted Project
gulfem updated the diff for D94355: [Passes] Add relative lookup table converter pass.
  • Rename the pass to RelLookupTableConverter to be consistent
  • Addressed reviewers' feedback
  • Added tests for user-defined lookup tables and hidden visibility
Wed, Feb 24, 6:45 PM · Restricted Project, Restricted Project

Wed, Feb 17

gulfem updated the summary of D94355: [Passes] Add relative lookup table converter pass.
Wed, Feb 17, 8:54 AM · Restricted Project, Restricted Project
gulfem retitled D94355: [Passes] Add relative lookup table converter pass from [SimplifyCFG] Add relative switch lookup tables to [Passes] Add relative lookup table generator pass.
Wed, Feb 17, 8:54 AM · Restricted Project, Restricted Project

Tue, Feb 16

gulfem added a comment to D94355: [Passes] Add relative lookup table converter pass.

@lebedev.ri based on your feedback, I added it as a separate pass and added support for user-defined lookup tables.
Please let me know if you have any comments.

Tue, Feb 16, 6:07 PM · Restricted Project, Restricted Project
gulfem updated the diff for D94355: [Passes] Add relative lookup table converter pass.

Implement it as a separate pass and apply it to user-defined lookup tables as well.

Tue, Feb 16, 6:02 PM · Restricted Project, Restricted Project

Fri, Jan 29

gulfem added a comment to D94355: [Passes] Add relative lookup table converter pass.

Can you please add an explanation to the patch's description as to why
we don't want to instead convert non-relative/relative LUT's elsewhere,
please.

@mcgrathr gave some explanation to that:

Many backends generate PIC-friendly jump tables. This is about generating IR initializers that translate to the same kind of backend assembly expressions as those backends use for their jump tables.

Fri, Jan 29, 4:15 PM · Restricted Project, Restricted Project

Thu, Jan 28

gulfem added inline comments to D94355: [Passes] Add relative lookup table converter pass.
Thu, Jan 28, 7:03 PM · Restricted Project, Restricted Project
gulfem updated the diff for D94355: [Passes] Add relative lookup table converter pass.
  1. Simplified test cases and increased readibility of the tables
  2. Added x86_64 and aarch64 check and tiny or small code modes check to ensure 32 offsets
  3. Modified single value test case
Thu, Jan 28, 6:52 PM · Restricted Project, Restricted Project

Jan 21 2021

gulfem updated the diff for D94355: [Passes] Add relative lookup table converter pass.
  1. Apply relative lookup table generation in fPIC mode
  2. Add a test case for single value case
  3. Remove hard-coding 64 bit pointers
  4. Improve implementation and test coverage
Jan 21 2021, 5:59 PM · Restricted Project, Restricted Project

Jan 14 2021

gulfem added inline comments to D94355: [Passes] Add relative lookup table converter pass.
Jan 14 2021, 6:36 PM · Restricted Project, Restricted Project
gulfem updated the diff for D94355: [Passes] Add relative lookup table converter pass.
  1. Add dso_local check
  2. Remove -relative-switch-lookup-table flag, and enable it by default
  3. Use shift instead of mul
  4. Remove /ARM test and merge it with /X86 test
Jan 14 2021, 6:28 PM · Restricted Project, Restricted Project

Jan 13 2021

gulfem added a comment to D94355: [Passes] Add relative lookup table converter pass.
if (IsRelative)
  GenRelative
else 
  GenAbsolute

looks pretty ad-hoc, as-if some abstraction is missing.

Jan 13 2021, 5:19 PM · Restricted Project, Restricted Project
gulfem updated the diff for D94355: [Passes] Add relative lookup table converter pass.

Use llvm.load.relative intrinsic to compute the target address based on Leo's feedback.

Jan 13 2021, 5:09 PM · Restricted Project, Restricted Project
gulfem updated the diff for D94355: [Passes] Add relative lookup table converter pass.

Add a new Kind enumerator called RelOffsetArrayKind for relative lookup tables

Jan 13 2021, 12:08 PM · Restricted Project, Restricted Project

Jan 12 2021

gulfem added a comment to D94355: [Passes] Add relative lookup table converter pass.

Great stuff, thanks for working on this!

Thanks for the feedback!

Jan 12 2021, 6:35 PM · Restricted Project, Restricted Project

Jan 11 2021

gulfem added a comment to D94355: [Passes] Add relative lookup table converter pass.

Why must values have pointer types?

This optimization is only applied if the values have pointer types like strings to generate PIC friendly code for such cases.
If the values are not pointers but like integers, PIC friendly code is already generated without this optimization.

Jan 11 2021, 6:32 PM · Restricted Project, Restricted Project
gulfem added inline comments to D94355: [Passes] Add relative lookup table converter pass.
Jan 11 2021, 6:27 PM · Restricted Project, Restricted Project
gulfem updated the diff for D94355: [Passes] Add relative lookup table converter pass.

Addressed Leonard Chan's comments

Jan 11 2021, 6:25 PM · Restricted Project, Restricted Project

Jan 8 2021

gulfem added reviewers for D94355: [Passes] Add relative lookup table converter pass: leonardchan, mcgrathr, phosek, hans.
Jan 8 2021, 6:35 PM · Restricted Project, Restricted Project
gulfem requested review of D94355: [Passes] Add relative lookup table converter pass.
Jan 8 2021, 6:28 PM · Restricted Project, Restricted Project

Dec 16 2020

gulfem added reviewers for D93420: [IR] Fixed the typo in attributes test: mcgrathr, haowei.
Dec 16 2020, 2:32 PM · Restricted Project
gulfem requested review of D93420: [IR] Fixed the typo in attributes test.
Dec 16 2020, 2:31 PM · Restricted Project
gulfem added a comment to D90275: [clang][IR] Add support for leaf attribute.

I fixed it in
https://reviews.llvm.org/D92493
But that was just to make my test pass.

Ok, thank you!
I did not realize that typo after the merge, and sorry about that!
I fixed the typo that I introduced in https://reviews.llvm.org/D93420.

Dec 16 2020, 11:43 AM · Restricted Project, Restricted Project
gulfem added a comment to D90275: [clang][IR] Add support for leaf attribute.

The problem in llvm/test/Bitcode/attributes.ll is clear?

@xur Instead of define void @f70() nocallback, it should be define void @f69() nocallback, right?

Dec 16 2020, 11:35 AM · Restricted Project, Restricted Project

Dec 14 2020

gulfem added a comment to D90275: [clang][IR] Add support for leaf attribute.

This is missing a lang ref entry for nocallback and the attributes.ll test is arguably broken (see below).

Could you please elaborate on missing lang ref entry? Where that should be added?

Dec 14 2020, 6:34 PM · Restricted Project, Restricted Project
gulfem updated the summary of D90275: [clang][IR] Add support for leaf attribute.
Dec 14 2020, 9:25 AM · Restricted Project, Restricted Project

Dec 8 2020

gulfem updated the diff for D90275: [clang][IR] Add support for leaf attribute.

Add a new line at the end of the test file

Dec 8 2020, 10:55 AM · Restricted Project, Restricted Project
gulfem added inline comments to D90275: [clang][IR] Add support for leaf attribute.
Dec 8 2020, 10:26 AM · Restricted Project, Restricted Project
gulfem updated the diff for D90275: [clang][IR] Add support for leaf attribute.

Added more Sema test cases

Dec 8 2020, 10:25 AM · Restricted Project, Restricted Project

Dec 7 2020

gulfem added inline comments to D90275: [clang][IR] Add support for leaf attribute.
Dec 7 2020, 6:08 PM · Restricted Project, Restricted Project
gulfem updated the diff for D90275: [clang][IR] Add support for leaf attribute.

Only support leaf attribute in functions

Dec 7 2020, 4:42 PM · Restricted Project, Restricted Project
gulfem added inline comments to D90275: [clang][IR] Add support for leaf attribute.
Dec 7 2020, 12:50 PM · Restricted Project, Restricted Project

Dec 3 2020

gulfem added inline comments to D90275: [clang][IR] Add support for leaf attribute.
Dec 3 2020, 5:28 PM · Restricted Project, Restricted Project

Nov 18 2020

gulfem added inline comments to D90275: [clang][IR] Add support for leaf attribute.
Nov 18 2020, 6:11 PM · Restricted Project, Restricted Project

Nov 11 2020

gulfem added inline comments to D90275: [clang][IR] Add support for leaf attribute.
Nov 11 2020, 8:29 PM · Restricted Project, Restricted Project

Nov 10 2020

gulfem added inline comments to D90275: [clang][IR] Add support for leaf attribute.
Nov 10 2020, 5:33 PM · Restricted Project, Restricted Project

Nov 9 2020

gulfem added inline comments to D90275: [clang][IR] Add support for leaf attribute.
Nov 9 2020, 6:08 PM · Restricted Project, Restricted Project

Nov 5 2020

gulfem added inline comments to D90275: [clang][IR] Add support for leaf attribute.
Nov 5 2020, 11:38 AM · Restricted Project, Restricted Project
gulfem updated the diff for D90275: [clang][IR] Add support for leaf attribute.

Remove direct from description and ObjCMethod for Obj functionality

Nov 5 2020, 11:22 AM · Restricted Project, Restricted Project

Nov 4 2020

gulfem added a comment to D90275: [clang][IR] Add support for leaf attribute.

The more I think about it, the more I think we should never create a leaf/nocallback definition. Only declarations should carry that attribute.

Leaf attribute is specifically intended for library functions and I think all the existing usage of leaf attribute is in the library function declarations.
For ex, it is only used in syscalls in Fuchsia.
Therefore, I'm not sure whether it is really necessary to ban leaf attribute in function definitions.
Even though function attributes are typically intended to be used in the function declaration, compilers do not have policy to forbid using them in the function definition.

Nov 4 2020, 1:18 PM · Restricted Project, Restricted Project
gulfem added inline comments to D90275: [clang][IR] Add support for leaf attribute.
Nov 4 2020, 10:50 AM · Restricted Project, Restricted Project

Nov 3 2020

gulfem added inline comments to D90275: [clang][IR] Add support for leaf attribute.
Nov 3 2020, 5:26 PM · Restricted Project, Restricted Project
gulfem updated the diff for D90275: [clang][IR] Add support for leaf attribute.

Add a target into the test case

Nov 3 2020, 5:01 PM · Restricted Project, Restricted Project
gulfem added a comment to D90275: [clang][IR] Add support for leaf attribute.

The more I think about it, the more I think we should never create a leaf/nocallback definition. Only declarations should carry that attribute.

I'm also still not convinced nocallback is a good name. @efriedma @aqjune @fhahn @reames What are your thoughts on the name. My earlier idea was inaccesiblecodeonly, as it matches the inaccisblememonly idea. I'm not married to it, nocallback is just not great IMHO as direct calls back into the caller TU are also forbidden and there is already !callback.

Nov 3 2020, 12:20 PM · Restricted Project, Restricted Project

Nov 2 2020

gulfem added inline comments to D90275: [clang][IR] Add support for leaf attribute.
Nov 2 2020, 5:28 PM · Restricted Project, Restricted Project
gulfem added inline comments to D90275: [clang][IR] Add support for leaf attribute.
Nov 2 2020, 1:38 PM · Restricted Project, Restricted Project
gulfem updated the diff for D90275: [clang][IR] Add support for leaf attribute.

Update the attribute documentation

Nov 2 2020, 12:23 PM · Restricted Project, Restricted Project
gulfem added inline comments to D90275: [clang][IR] Add support for leaf attribute.
Nov 2 2020, 11:25 AM · Restricted Project, Restricted Project
gulfem added inline comments to D90275: [clang][IR] Add support for leaf attribute.
Nov 2 2020, 11:11 AM · Restricted Project, Restricted Project
gulfem updated the diff for D90275: [clang][IR] Add support for leaf attribute.

Addressed the comments about the documentation

Nov 2 2020, 11:10 AM · Restricted Project, Restricted Project

Oct 29 2020

gulfem updated the diff for D90275: [clang][IR] Add support for leaf attribute.

Fix the typo in the test case

Oct 29 2020, 4:52 PM · Restricted Project, Restricted Project
gulfem updated the diff for D90275: [clang][IR] Add support for leaf attribute.

Add IR and bitcode tests

Oct 29 2020, 4:40 PM · Restricted Project, Restricted Project

Oct 27 2020

gulfem added a comment to D90275: [clang][IR] Add support for leaf attribute.

There is an RFC going out with this prototype as reference. When there is consensus on the RFC, this will get in shape for landing with complete tests and all.

Great. I didn't find anything when I looked for leaf in my cfe-dev inbox. Could someone put a link here, maybe directly into the commit message as it will be useful even after this goes in. Thanks :)

Oct 27 2020, 5:41 PM · Restricted Project, Restricted Project
gulfem added reviewers for D90275: [clang][IR] Add support for leaf attribute: phosek, leonardchan, haowei, mcgrathr.
Oct 27 2020, 5:26 PM · Restricted Project, Restricted Project
gulfem requested review of D90275: [clang][IR] Add support for leaf attribute.
Oct 27 2020, 5:21 PM · Restricted Project, Restricted Project