Page MenuHomePhabricator

uenoku (Hideto Ueno)
User

Projects

User does not belong to any projects.

User Details

User Since
Mar 8 2019, 5:25 AM (18 w, 5 d)

Recent Activity

Today

uenoku committed rG11d3710c1cd2: [Attributor] Deduce "willreturn" function attribute (authored by uenoku).
[Attributor] Deduce "willreturn" function attribute
Wed, Jul 17, 8:20 AM
uenoku committed rL366335: [Attributor] Deduce "willreturn" function attribute.
[Attributor] Deduce "willreturn" function attribute
Wed, Jul 17, 8:15 AM
uenoku closed D63046: [Attributor] Deduce "willreturn" function attribute.
Wed, Jul 17, 8:15 AM · Restricted Project
uenoku updated the diff for D63046: [Attributor] Deduce "willreturn" function attribute.

Rebase.

Wed, Jul 17, 7:55 AM · Restricted Project

Mon, Jul 15

uenoku updated the diff for D63046: [Attributor] Deduce "willreturn" function attribute.

Remove annotation for now.

Mon, Jul 15, 7:06 AM · Restricted Project

Sun, Jul 14

uenoku committed rG54869ec907f3: [Attributor] Deduce "nonnull" attribute (authored by uenoku).
[Attributor] Deduce "nonnull" attribute
Sun, Jul 14, 11:51 PM
uenoku committed rL366043: [Attributor] Deduce "nonnull" attribute.
[Attributor] Deduce "nonnull" attribute
Sun, Jul 14, 11:51 PM
uenoku closed D63604: [Attributor] Deduce "nonnull" attribute.
Sun, Jul 14, 11:51 PM · Restricted Project
uenoku updated the diff for D63604: [Attributor] Deduce "nonnull" attribute.

Fix test.

Sun, Jul 14, 11:08 PM · Restricted Project
uenoku updated the diff for D63604: [Attributor] Deduce "nonnull" attribute.

Address comments.

Sun, Jul 14, 2:39 PM · Restricted Project
uenoku updated the diff for D63604: [Attributor] Deduce "nonnull" attribute.

Fix typo.

Sun, Jul 14, 5:28 AM · Restricted Project
uenoku updated the diff for D63604: [Attributor] Deduce "nonnull" attribute.

Add other tests and check-all passed.

Sun, Jul 14, 5:22 AM · Restricted Project
uenoku updated the diff for D63604: [Attributor] Deduce "nonnull" attribute.

Fix AANonNullArgument::updateImpl.

Sun, Jul 14, 4:17 AM · Restricted Project

Fri, Jul 12

uenoku updated the diff for D63604: [Attributor] Deduce "nonnull" attribute.
Fri, Jul 12, 5:54 PM · Restricted Project
uenoku added a comment to D63046: [Attributor] Deduce "willreturn" function attribute.

For some intrinsics, I can not judge whether it is allowed to mark willreturn. I want to hear an opinion.

  • Standard C libray: especially memcpy, memmove, memset

Can we do the following:

  • Commit this with conservative intrinsic handling. That is, without all the intrinsics marking stuff.
  • Open another patch for the marking stuff as you have it now in here. Basically, split the patch in two and commit the first part assuming the comments in (https://reviews.llvm.org/D63046#1572140) have been addressed.

    To answer your question: memcpy, memmove, memset are willreturn
Fri, Jul 12, 2:56 PM · Restricted Project
uenoku added inline comments to D63604: [Attributor] Deduce "nonnull" attribute.
Fri, Jul 12, 2:39 PM · Restricted Project
uenoku updated the diff for D63604: [Attributor] Deduce "nonnull" attribute.

Add test and address comments.

Fri, Jul 12, 2:33 PM · Restricted Project
uenoku updated the diff for D63604: [Attributor] Deduce "nonnull" attribute.
Fri, Jul 12, 2:31 PM · Restricted Project
uenoku added a comment to D63046: [Attributor] Deduce "willreturn" function attribute.

For some intrinsics, I can not judge whether it is allowed to mark willreturn. I want to hear an opinion.

Fri, Jul 12, 1:04 PM · Restricted Project
uenoku updated the diff for D63046: [Attributor] Deduce "willreturn" function attribute.

Rebase and add NoRecurse interface. check-all passed.

Fri, Jul 12, 12:51 PM · Restricted Project
uenoku committed rG65bbaf9ece26: [Attributor] Deduce "nofree" function attribute (authored by uenoku).
[Attributor] Deduce "nofree" function attribute
Fri, Jul 12, 10:40 AM
uenoku committed rL365924: [Attributor] Deduce "nofree" function attribute.
[Attributor] Deduce "nofree" function attribute
Fri, Jul 12, 10:39 AM
uenoku closed D62687: [Attributor] Deduce "nofree" function attribute.
Fri, Jul 12, 10:39 AM · Restricted Project
uenoku removed a child revision for D62313: Add a test for "nofree" function attribute: D62687: [Attributor] Deduce "nofree" function attribute.
Fri, Jul 12, 9:53 AM · Restricted Project
uenoku removed a parent revision for D62687: [Attributor] Deduce "nofree" function attribute: D62313: Add a test for "nofree" function attribute.
Fri, Jul 12, 9:53 AM · Restricted Project
uenoku closed D62313: Add a test for "nofree" function attribute.
Fri, Jul 12, 9:39 AM · Restricted Project
uenoku committed rG8ea7326b7f28: [FunctionAttrs] Add a test for "nofree" function attribute (authored by uenoku).
[FunctionAttrs] Add a test for "nofree" function attribute
Fri, Jul 12, 9:30 AM
uenoku added 1 commit(s) for D62313: Add a test for "nofree" function attribute: rL365916: [FunctionAttrs] Add a test for "nofree" function attribute.
Fri, Jul 12, 9:30 AM · Restricted Project
uenoku added an edge to rL365916: [FunctionAttrs] Add a test for "nofree" function attribute: D62313: Add a test for "nofree" function attribute.
Fri, Jul 12, 9:30 AM
uenoku committed rL365916: [FunctionAttrs] Add a test for "nofree" function attribute.
[FunctionAttrs] Add a test for "nofree" function attribute
Fri, Jul 12, 9:28 AM
uenoku committed rG81b7b2b57414: Test commit (authored by uenoku).
Test commit
Fri, Jul 12, 9:12 AM
uenoku committed rL365912: Test commit.
Test commit
Fri, Jul 12, 9:08 AM
uenoku updated the diff for D62687: [Attributor] Deduce "nofree" function attribute.

Add tests and check-all passed.

Fri, Jul 12, 8:58 AM · Restricted Project

Thu, Jul 11

uenoku added inline comments to D63604: [Attributor] Deduce "nonnull" attribute.
Thu, Jul 11, 11:12 AM · Restricted Project
uenoku updated the diff for D63604: [Attributor] Deduce "nonnull" attribute.

Address comments.

Thu, Jul 11, 11:06 AM · Restricted Project
uenoku added a comment to D63046: [Attributor] Deduce "willreturn" function attribute.

@jdoerfert
In the current implementation, updateImpl depends on AANoRecurseFunction. However, norecurse patch is abandoned and what should I do?

Thu, Jul 11, 8:26 AM · Restricted Project
uenoku updated the diff for D63046: [Attributor] Deduce "willreturn" function attribute.

Annotate "willreturn" in Attributes.td and add related test changes.

Thu, Jul 11, 8:19 AM · Restricted Project

Wed, Jul 10

uenoku added inline comments to D63604: [Attributor] Deduce "nonnull" attribute.
Wed, Jul 10, 8:19 AM · Restricted Project

Tue, Jul 9

uenoku updated the diff for D63604: [Attributor] Deduce "nonnull" attribute.
  • Deduce nonnull on functions argument if we have nonnull in whole call sites (mostly based on D59202).
  • Deduce nonnull on a call site argument if the passed value is assumed nonnull.
Tue, Jul 9, 1:48 PM · Restricted Project
uenoku updated the diff for D63604: [Attributor] Deduce "nonnull" attribute.

Address comments.

Tue, Jul 9, 1:34 AM · Restricted Project
uenoku updated the diff for D64152: [Attributor] Deduce "align" attribute on return value.

Address comments.

Tue, Jul 9, 1:22 AM · Restricted Project

Mon, Jul 8

uenoku updated the diff for D62313: Add a test for "nofree" function attribute.

Add --disable-nofree-inference=false.

Mon, Jul 8, 10:49 PM · Restricted Project
uenoku added a comment to D62313: Add a test for "nofree" function attribute.

But even if I run with --disable-nofree-inference=false, I couldn't get any nofree (even only_return).

Mon, Jul 8, 10:43 PM · Restricted Project
uenoku updated the diff for D62313: Add a test for "nofree" function attribute.

Rebase and ninja check-all passed. I'll commit.

Mon, Jul 8, 10:21 PM · Restricted Project

Thu, Jul 4

uenoku updated the diff for D63604: [Attributor] Deduce "nonnull" attribute.

Fix comment.

Thu, Jul 4, 6:40 PM · Restricted Project
uenoku updated the diff for D63604: [Attributor] Deduce "nonnull" attribute.

Use isKnownNonZero.

Thu, Jul 4, 6:36 PM · Restricted Project
uenoku updated the diff for D64152: [Attributor] Deduce "align" attribute on return value.

Use getPointerAlignment.

Thu, Jul 4, 5:51 PM · Restricted Project
uenoku updated the diff for D64152: [Attributor] Deduce "align" attribute on return value.

Use IntegerState and take a minimum of alignment.

Thu, Jul 4, 11:36 AM · Restricted Project

Wed, Jul 3

uenoku added a comment to D64152: [Attributor] Deduce "align" attribute on return value.

@jdoerfert
I know align attribute is integer attribute and we need somewhat different deduction with other attributes. However, I implement AAAlignImpl as a subclass of BooleanState for now. Is it better to add some base class for the integer attribute?

Wed, Jul 3, 12:48 PM · Restricted Project
uenoku updated the diff for D64152: [Attributor] Deduce "align" attribute on return value.

Fix patch

Wed, Jul 3, 12:39 PM · Restricted Project
uenoku created D64152: [Attributor] Deduce "align" attribute on return value.
Wed, Jul 3, 12:28 PM · Restricted Project

Tue, Jul 2

uenoku updated the diff for D63604: [Attributor] Deduce "nonnull" attribute.

Address comments.

Tue, Jul 2, 1:38 AM · Restricted Project

Sun, Jun 30

uenoku updated the diff for D63604: [Attributor] Deduce "nonnull" attribute.

Fix typo and add comment.

Sun, Jun 30, 1:02 AM · Restricted Project
uenoku updated the diff for D63604: [Attributor] Deduce "nonnull" attribute.

Add tests and AANonNullArgument

Sun, Jun 30, 12:50 AM · Restricted Project

Wed, Jun 26

uenoku updated the diff for D63604: [Attributor] Deduce "nonnull" attribute.

Fix patch.

Wed, Jun 26, 11:43 PM · Restricted Project
uenoku updated the diff for D63604: [Attributor] Deduce "nonnull" attribute.

When a return value is an argument, see it.

Wed, Jun 26, 11:42 PM · Restricted Project
uenoku updated the diff for D62801: Add "willreturn" function attribute.

Address comment.

Wed, Jun 26, 10:29 PM · Restricted Project
uenoku updated the diff for D63046: [Attributor] Deduce "willreturn" function attribute.

Use enum attribute.

Wed, Jun 26, 12:20 AM · Restricted Project

Tue, Jun 25

uenoku updated the diff for D62801: Add "willreturn" function attribute.

Fix test.

Tue, Jun 25, 11:47 PM · Restricted Project
uenoku updated the diff for D62801: Add "willreturn" function attribute.

Make willreturn enum attribute.

Tue, Jun 25, 9:57 AM · Restricted Project
uenoku updated the diff for D63372: Use "willreturn" function attribute in isGuaranteedToTransferExecutionToSuccessor.

Use enum attr.

Tue, Jun 25, 7:21 AM · Restricted Project

Mon, Jun 24

uenoku added a comment to D63372: Use "willreturn" function attribute in isGuaranteedToTransferExecutionToSuccessor.

I think this looks fine with one request for change: We "decided" to use enum attributes not string attributes (for willreturn and others).

I'll fix it.

Mon, Jun 24, 10:06 PM · Restricted Project

Thu, Jun 20

uenoku added a child revision for D59919: [Attributor] Deduce "returned" argument attribute: D63604: [Attributor] Deduce "nonnull" attribute.
Thu, Jun 20, 9:46 AM · Restricted Project, Restricted Project
uenoku added a parent revision for D63604: [Attributor] Deduce "nonnull" attribute: D59919: [Attributor] Deduce "returned" argument attribute.
Thu, Jun 20, 9:46 AM · Restricted Project
uenoku added a comment to D63604: [Attributor] Deduce "nonnull" attribute.

Currently, nonnull is deduced if all the return values are defined by nonnull return function.

Thu, Jun 20, 9:24 AM · Restricted Project
uenoku updated the diff for D63604: [Attributor] Deduce "nonnull" attribute.

Fix test.

Thu, Jun 20, 8:25 AM · Restricted Project
uenoku created D63604: [Attributor] Deduce "nonnull" attribute.
Thu, Jun 20, 8:22 AM · Restricted Project
uenoku added a comment to D63372: Use "willreturn" function attribute in isGuaranteedToTransferExecutionToSuccessor.

Could you run this with the LLVM test suite [0]?
Do you see a difference in statistics, compile time and/or runtime?

If you don't have a computer to do so, let me know.

[0] http://llvm.org/docs/lnt/quickstart.html

Thu, Jun 20, 7:38 AM · Restricted Project
uenoku updated the diff for D63372: Use "willreturn" function attribute in isGuaranteedToTransferExecutionToSuccessor.

Address comment.

Thu, Jun 20, 6:17 AM · Restricted Project

Tue, Jun 18

uenoku updated the diff for D62801: Add "willreturn" function attribute.

Change test file name.

Tue, Jun 18, 10:42 PM · Restricted Project
uenoku updated the diff for D63046: [Attributor] Deduce "willreturn" function attribute.

Remove nofree.

Tue, Jun 18, 10:36 PM · Restricted Project

Mon, Jun 17

uenoku updated the diff for D62313: Add a test for "nofree" function attribute.

Rename test file.

Mon, Jun 17, 10:00 PM · Restricted Project
uenoku added a comment to D62687: [Attributor] Deduce "nofree" function attribute.
Mon, Jun 17, 9:53 PM · Restricted Project
uenoku added a comment to D62687: [Attributor] Deduce "nofree" function attribute.
  • use enum attribute
  • rename test file
Mon, Jun 17, 9:53 PM · Restricted Project
uenoku updated the diff for D62687: [Attributor] Deduce "nofree" function attribute.
Mon, Jun 17, 9:50 PM · Restricted Project

Jun 17 2019

uenoku added a comment to D49165: Add, and infer, a nofree function attribute.

@homerdin
I want to use nofree enum attribute in D62687. If it's OK with you, can I take over this patch?

Jun 17 2019, 6:25 AM · Restricted Project

Jun 14 2019

uenoku added a parent revision for D63372: Use "willreturn" function attribute in isGuaranteedToTransferExecutionToSuccessor: D62801: Add "willreturn" function attribute.
Jun 14 2019, 11:38 PM · Restricted Project
uenoku created D63372: Use "willreturn" function attribute in isGuaranteedToTransferExecutionToSuccessor.
Jun 14 2019, 11:38 PM · Restricted Project
uenoku added a child revision for D62801: Add "willreturn" function attribute: D63372: Use "willreturn" function attribute in isGuaranteedToTransferExecutionToSuccessor.
Jun 14 2019, 11:38 PM · Restricted Project

Jun 13 2019

uenoku updated the diff for D63046: [Attributor] Deduce "willreturn" function attribute.

Add TODO.

Jun 13 2019, 5:28 PM · Restricted Project

Jun 12 2019

uenoku added inline comments to D63046: [Attributor] Deduce "willreturn" function attribute.
Jun 12 2019, 11:04 PM · Restricted Project
uenoku updated the diff for D63046: [Attributor] Deduce "willreturn" function attribute.

Address comments

Jun 12 2019, 10:52 PM · Restricted Project
uenoku added a comment to D62313: Add a test for "nofree" function attribute.

As mentioned in D62766, we should make nofree an enum attribute. See D62766 for some pointer on how to do so.

Jun 12 2019, 10:07 PM · Restricted Project

Jun 11 2019

uenoku updated the diff for D63046: [Attributor] Deduce "willreturn" function attribute.

Fix patch.

Jun 11 2019, 8:49 PM · Restricted Project

Jun 10 2019

uenoku added a parent revision for D63046: [Attributor] Deduce "willreturn" function attribute: D59978: [Attributor] Deduce "no-return" function attribute.
Jun 10 2019, 6:25 AM · Restricted Project
uenoku added a child revision for D59978: [Attributor] Deduce "no-return" function attribute: D63046: [Attributor] Deduce "willreturn" function attribute.
Jun 10 2019, 6:25 AM · Restricted Project

Jun 9 2019

uenoku updated the diff for D63046: [Attributor] Deduce "willreturn" function attribute.
  • Rename "Loop" to "Cycle".
  • Prohibit noreturn intrinsic (ex. longjump) and add longjump test.
  • Check AANoReturnFunction
Jun 9 2019, 10:54 PM · Restricted Project
uenoku added a comment to D62687: [Attributor] Deduce "nofree" function attribute.

Why does this depend on D63046?

I included "nofree" attribute in D63046 test change for now(I thought it is convenient for merging). So I regarded this as a parent just in case.

Jun 9 2019, 10:06 PM · Restricted Project
uenoku added a comment to D63046: [Attributor] Deduce "willreturn" function attribute.

The current algorithm can deduce only for very simple cases.

  • A function doesn't have any loop.
  • A function doesn't have any recursion.

What about functions that exit the program, throw an exception, or longjmp?

Jun 9 2019, 9:57 PM · Restricted Project
uenoku added parent revisions for D63046: [Attributor] Deduce "willreturn" function attribute: D60074: [Attributor] Deduce "no-recurse" function attribute, D62687: [Attributor] Deduce "nofree" function attribute.
Jun 9 2019, 7:32 PM · Restricted Project
uenoku added a child revision for D60074: [Attributor] Deduce "no-recurse" function attribute: D63046: [Attributor] Deduce "willreturn" function attribute.
Jun 9 2019, 7:32 PM · Restricted Project
uenoku added a child revision for D62687: [Attributor] Deduce "nofree" function attribute: D63046: [Attributor] Deduce "willreturn" function attribute.
Jun 9 2019, 7:32 PM · Restricted Project
uenoku updated the diff for D63046: [Attributor] Deduce "willreturn" function attribute.

Add declarations in base class.

Jun 9 2019, 7:29 PM · Restricted Project
uenoku updated the diff for D63046: [Attributor] Deduce "willreturn" function attribute.

Adress comments

Jun 9 2019, 5:46 PM · Restricted Project

Jun 8 2019

uenoku added a comment to D63046: [Attributor] Deduce "willreturn" function attribute.

Can you clang format the code?

I always clang format before submitting a patch.
Is there something wrong?

Jun 8 2019, 11:59 PM · Restricted Project
uenoku updated the diff for D63046: [Attributor] Deduce "willreturn" function attribute.

Address comments and add test change.

Jun 8 2019, 11:54 PM · Restricted Project
uenoku added a comment to D63046: [Attributor] Deduce "willreturn" function attribute.

The current algorithm can deduce only for very simple cases.

Jun 8 2019, 7:33 AM · Restricted Project
uenoku created D63046: [Attributor] Deduce "willreturn" function attribute.
Jun 8 2019, 7:18 AM · Restricted Project

Jun 7 2019

uenoku added a comment to D62801: Add "willreturn" function attribute.

This contains the langref changes, and the test+test changes.
But the actual code isn't here, and any other differentials aren't linked in "Stack"?

No code yet (I think). I asked @uenoku to write up the LangRef and tests first so we know what we actually want to derive.

Jun 7 2019, 11:07 AM · Restricted Project

Jun 5 2019

uenoku updated the diff for D62801: Add "willreturn" function attribute.

Fix 2.2 LLVM IR.

Jun 5 2019, 9:23 PM · Restricted Project