ahatanak (Akira Hatanaka)
User

Projects

User does not belong to any projects.

User Details

User Since
Dec 4 2013, 1:37 PM (245 w, 16 h)

Recent Activity

Yesterday

ahatanak added a comment to D50783: [CodeGen] Merge identical block descriptor global variables.

A few points I forgot to mention:

Wed, Aug 15, 9:38 AM
ahatanak created D50783: [CodeGen] Merge identical block descriptor global variables.
Wed, Aug 15, 8:23 AM

Mon, Aug 13

ahatanak committed rL339633: [CodeGen] Before returning a copy/dispose helper function, bitcast it to.
[CodeGen] Before returning a copy/dispose helper function, bitcast it to
Mon, Aug 13, 5:16 PM
ahatanak committed rC339633: [CodeGen] Before returning a copy/dispose helper function, bitcast it to.
[CodeGen] Before returning a copy/dispose helper function, bitcast it to
Mon, Aug 13, 5:16 PM
ahatanak committed rL339632: Fix check strings in test/CodeGenObjC/arc-blocks.m in preperation for.
Fix check strings in test/CodeGenObjC/arc-blocks.m in preperation for
Mon, Aug 13, 5:16 PM
ahatanak committed rC339632: Fix check strings in test/CodeGenObjC/arc-blocks.m in preperation for.
Fix check strings in test/CodeGenObjC/arc-blocks.m in preperation for
Mon, Aug 13, 5:16 PM
ahatanak committed rL339613: Convert if/else to a switch. NFC..
Convert if/else to a switch. NFC.
Mon, Aug 13, 2:00 PM
ahatanak committed rC339613: Convert if/else to a switch. NFC..
Convert if/else to a switch. NFC.
Mon, Aug 13, 2:00 PM

Fri, Aug 10

ahatanak committed rC339452: Make changes to the check strings so that the test I modified in r339438.
Make changes to the check strings so that the test I modified in r339438
Fri, Aug 10, 10:08 AM
ahatanak committed rL339452: Make changes to the check strings so that the test I modified in r339438.
Make changes to the check strings so that the test I modified in r339438
Fri, Aug 10, 10:07 AM
ahatanak committed rL339438: [CodeGen] Merge equivalent block copy/helper functions..
[CodeGen] Merge equivalent block copy/helper functions.
Fri, Aug 10, 8:10 AM
ahatanak committed rC339438: [CodeGen] Merge equivalent block copy/helper functions..
[CodeGen] Merge equivalent block copy/helper functions.
Fri, Aug 10, 8:10 AM
ahatanak closed D50152: [CodeGen] Merge equivalent block copy/helper functions.
Fri, Aug 10, 8:10 AM

Thu, Aug 9

ahatanak updated the diff for D50152: [CodeGen] Merge equivalent block copy/helper functions.

Replace the two flags, EHOnly and DisposeCannotThrow, passed to pushCaptureCleanup with a single flag ForCopyHelper.

Thu, Aug 9, 9:00 PM
ahatanak updated the diff for D47757: [Sema] Produce diagnostics when unavailable aligned allocation/deallocation functions are called.

Call MarkFunctionReferenced to mark the function __builtin_operator_new or __builtin_operator_delete will call as referenced.

Thu, Aug 9, 7:02 PM
ahatanak added inline comments to D50152: [CodeGen] Merge equivalent block copy/helper functions.
Thu, Aug 9, 5:52 PM
ahatanak updated the diff for D50152: [CodeGen] Merge equivalent block copy/helper functions.

Define functions inline in the header file.

Thu, Aug 9, 5:51 PM
ahatanak added a comment to D47757: [Sema] Produce diagnostics when unavailable aligned allocation/deallocation functions are called.

ping

Thu, Aug 9, 10:02 AM
ahatanak added inline comments to D50152: [CodeGen] Merge equivalent block copy/helper functions.
Thu, Aug 9, 7:50 AM
ahatanak updated the diff for D50152: [CodeGen] Merge equivalent block copy/helper functions.

Address review comments.

Thu, Aug 9, 7:49 AM

Wed, Aug 8

ahatanak added inline comments to D50152: [CodeGen] Merge equivalent block copy/helper functions.
Wed, Aug 8, 7:49 PM
ahatanak updated the diff for D50152: [CodeGen] Merge equivalent block copy/helper functions.

Address review comments.

Wed, Aug 8, 7:49 PM
ahatanak updated the diff for D50152: [CodeGen] Merge equivalent block copy/helper functions.

Modify getBlockVarCopyInits and setBlockVarCopyInits to get and set both the copy expression and the boolean flag that indicates whether the expression can throw or not.

Wed, Aug 8, 2:40 PM
ahatanak updated the diff for D50152: [CodeGen] Merge equivalent block copy/helper functions.

Change the value type of BlockVarCopyInits to PointerIntPair<Expr *, 1, bool>. The boolean flag indicates whether the copy expression can throw. Serialize/deserialize the copy expression and the boolean flag and add a regression test to test/PCH.

Wed, Aug 8, 11:33 AM

Tue, Aug 7

ahatanak added a comment to D50152: [CodeGen] Merge equivalent block copy/helper functions.

Since BlockVarCopyInits is a map with key VarDecl *, I think we want to add a flag to VarDecl (NonParmVarDeclBits) that indicates whether the copy expression can throw or not. Or is there a reason to store the bit in BlockDecl::Capture instead?

Tue, Aug 7, 7:46 PM
ahatanak added a comment to D50152: [CodeGen] Merge equivalent block copy/helper functions.

I thought it was okay to skip the work done by ResolveExceptionSpec in IRGen as long as the exception specifications that are needed have already been resolved in Sema. But calling Sema::canThrow in Sema::CheckCompleteVariableDeclaration and storing the result in BlockDecl::Capture is clearly the better solution since it doesn't introduce the complexity introduced in the updated patch.

Tue, Aug 7, 11:49 AM
ahatanak updated the diff for D50152: [CodeGen] Merge equivalent block copy/helper functions.

Remove a stale comment and add an assertion to check the destructor's exception specification has been resolved.

Tue, Aug 7, 11:03 AM
ahatanak added inline comments to D50152: [CodeGen] Merge equivalent block copy/helper functions.
Tue, Aug 7, 10:53 AM
ahatanak updated the diff for D50152: [CodeGen] Merge equivalent block copy/helper functions.

Address review comments.

Tue, Aug 7, 10:53 AM

Mon, Aug 6

ahatanak added inline comments to D50152: [CodeGen] Merge equivalent block copy/helper functions.
Mon, Aug 6, 2:06 PM
ahatanak added inline comments to D50152: [CodeGen] Merge equivalent block copy/helper functions.
Mon, Aug 6, 1:56 PM
ahatanak updated the diff for D50152: [CodeGen] Merge equivalent block copy/helper functions.

Address review comments.

Mon, Aug 6, 1:55 PM
ahatanak added inline comments to D50152: [CodeGen] Merge equivalent block copy/helper functions.
Mon, Aug 6, 12:20 AM
ahatanak updated the diff for D50152: [CodeGen] Merge equivalent block copy/helper functions.

Address review comments.

Mon, Aug 6, 12:19 AM

Thu, Aug 2

ahatanak added inline comments to D50152: [CodeGen] Merge equivalent block copy/helper functions.
Thu, Aug 2, 7:41 PM
ahatanak updated the diff for D50152: [CodeGen] Merge equivalent block copy/helper functions.

Address review comments.

Thu, Aug 2, 7:41 PM
ahatanak added a comment to D50205: [libc++] Add availability markup for aligned new/delete.

I just wanted to make sure that this doesn't have the same problem as https://reviews.llvm.org/D34556. Is that correct?

Thu, Aug 2, 4:03 PM
ahatanak added inline comments to D50152: [CodeGen] Merge equivalent block copy/helper functions.
Thu, Aug 2, 9:11 AM
ahatanak updated the diff for D50152: [CodeGen] Merge equivalent block copy/helper functions.

Address review comments.

Thu, Aug 2, 9:11 AM

Wed, Aug 1

ahatanak committed rL338664: Pass triple to RUN line to fix failing bots..
Pass triple to RUN line to fix failing bots.
Wed, Aug 1, 6:52 PM
ahatanak committed rC338664: Pass triple to RUN line to fix failing bots..
Pass triple to RUN line to fix failing bots.
Wed, Aug 1, 6:52 PM
ahatanak committed rC338656: Serialize DoesNotEscape..
Serialize DoesNotEscape.
Wed, Aug 1, 4:52 PM
ahatanak committed rL338656: Serialize DoesNotEscape..
Serialize DoesNotEscape.
Wed, Aug 1, 4:52 PM
ahatanak added inline comments to D50152: [CodeGen] Merge equivalent block copy/helper functions.
Wed, Aug 1, 2:29 PM
ahatanak updated the diff for D50152: [CodeGen] Merge equivalent block copy/helper functions.

Use llvm::sort.

Wed, Aug 1, 2:29 PM
ahatanak added inline comments to D50152: [CodeGen] Merge equivalent block copy/helper functions.
Wed, Aug 1, 12:18 PM
ahatanak created D50152: [CodeGen] Merge equivalent block copy/helper functions.
Wed, Aug 1, 12:10 PM

Fri, Jul 27

ahatanak committed rL338189: [Sema][ObjC] Warn when a method declared in a protocol takes a.
[Sema][ObjC] Warn when a method declared in a protocol takes a
Fri, Jul 27, 9:06 PM
ahatanak committed rC338189: [Sema][ObjC] Warn when a method declared in a protocol takes a.
[Sema][ObjC] Warn when a method declared in a protocol takes a
Fri, Jul 27, 9:06 PM
ahatanak closed D49119: [Sema][ObjC] Issue a warning when a method declared in a protocol is non-escaping but the corresponding method in the implementation is escaping..
Fri, Jul 27, 9:06 PM · Restricted Project
ahatanak updated the diff for D49119: [Sema][ObjC] Issue a warning when a method declared in a protocol is non-escaping but the corresponding method in the implementation is escaping..
  • Produce a note that tells users where the class extension conforming to the protocol containing the non-escaping method is declared.
  • Add a class method that has the same name as the instance method and check that no spurious warnings are issued.
Fri, Jul 27, 5:21 PM · Restricted Project
ahatanak added a comment to D49119: [Sema][ObjC] Issue a warning when a method declared in a protocol is non-escaping but the corresponding method in the implementation is escaping..

Thanks, I'll update the patch and commit it today.

Fri, Jul 27, 3:47 PM · Restricted Project

Thu, Jul 26

ahatanak committed rC338048: [Sema][ObjC] Do not propagate the nullability specifier on the receiver.
[Sema][ObjC] Do not propagate the nullability specifier on the receiver
Thu, Jul 26, 10:51 AM
ahatanak committed rL338048: [Sema][ObjC] Do not propagate the nullability specifier on the receiver.
[Sema][ObjC] Do not propagate the nullability specifier on the receiver
Thu, Jul 26, 10:51 AM
ahatanak committed rL338041: [CodeGen][ObjC] Make block copy/dispose helper functions exception-safe..
[CodeGen][ObjC] Make block copy/dispose helper functions exception-safe.
Thu, Jul 26, 9:51 AM
ahatanak committed rC338041: [CodeGen][ObjC] Make block copy/dispose helper functions exception-safe..
[CodeGen][ObjC] Make block copy/dispose helper functions exception-safe.
Thu, Jul 26, 9:51 AM
ahatanak closed D49718: [CodeGen][ObjC] Make block copy/dispose helper function exception-safe..
Thu, Jul 26, 9:51 AM

Wed, Jul 25

ahatanak added inline comments to D49718: [CodeGen][ObjC] Make block copy/dispose helper function exception-safe..
Wed, Jul 25, 10:15 PM
ahatanak updated the diff for D49119: [Sema][ObjC] Issue a warning when a method declared in a protocol is non-escaping but the corresponding method in the implementation is escaping..

Add a test case for an interface conforming to a non-escaping protocol.

Wed, Jul 25, 4:50 PM · Restricted Project
ahatanak updated the diff for D49718: [CodeGen][ObjC] Make block copy/dispose helper function exception-safe..

Document the meaning of enterByrefCleanup's parameters.

Wed, Jul 25, 4:36 PM
ahatanak added a comment to D47757: [Sema] Produce diagnostics when unavailable aligned allocation/deallocation functions are called.

ping

Wed, Jul 25, 3:33 PM
ahatanak updated the diff for D49718: [CodeGen][ObjC] Make block copy/dispose helper function exception-safe..

Set the BLOCK_FIELD_IS_WEAK bit of the flag passed to the call to enterByrefCleanup in EmitAutoVarCleanups and fix test case test/CodeGenObjC/blocks.m.

Wed, Jul 25, 3:32 PM
ahatanak updated the diff for D45898: [SemaCXX] Mark destructor as referenced .

Check if destructors are accessible from InitListChecker's constructor. Add test cases for designated initializer and brace elision.

Wed, Jul 25, 2:53 PM

Tue, Jul 24

ahatanak updated the diff for D49718: [CodeGen][ObjC] Make block copy/dispose helper function exception-safe..

Merge pushBlockObjectRelease and enterByrefCleanup.

Tue, Jul 24, 3:49 PM
ahatanak added inline comments to D49718: [CodeGen][ObjC] Make block copy/dispose helper function exception-safe..
Tue, Jul 24, 12:00 PM
ahatanak updated the diff for D49718: [CodeGen][ObjC] Make block copy/dispose helper function exception-safe..

Address review comments.

Tue, Jul 24, 11:59 AM

Mon, Jul 23

ahatanak added a comment to D49718: [CodeGen][ObjC] Make block copy/dispose helper function exception-safe..

Note that in order to destruct C++ objects, I'm using pushDestroy which pushes a NormalCleanup when exception handling isn't enabled. This is different from PushDestructorCleanup which always pushes a NormalAndEHCleanup, but I think using pushDestroy is more correct since I don't think we need to do a cleanup on the EH path when exception isn't enabled.

Mon, Jul 23, 10:33 PM
ahatanak created D49718: [CodeGen][ObjC] Make block copy/dispose helper function exception-safe..
Mon, Jul 23, 10:04 PM

Fri, Jul 20

ahatanak committed rC337580: [CodeGen][ObjC] Make copying and disposing of a non-escaping block.
[CodeGen][ObjC] Make copying and disposing of a non-escaping block
Fri, Jul 20, 10:16 AM
ahatanak committed rL337580: [CodeGen][ObjC] Make copying and disposing of a non-escaping block.
[CodeGen][ObjC] Make copying and disposing of a non-escaping block
Fri, Jul 20, 10:15 AM
ahatanak closed D49303: [CodeGen][ObjC] Treat non-escaping blocks as global blocks to make copy/dispose a no-op.
Fri, Jul 20, 10:15 AM

Thu, Jul 19

ahatanak updated the diff for D49303: [CodeGen][ObjC] Treat non-escaping blocks as global blocks to make copy/dispose a no-op.

Add a comment that explains the meaning of BLOCK_IS_NOESCAPE to the docs. Rename function needsCopyDispose to needsCopyDisposeHelpers.

Thu, Jul 19, 5:15 PM
ahatanak updated the diff for D49303: [CodeGen][ObjC] Treat non-escaping blocks as global blocks to make copy/dispose a no-op.

Fix a bug where the capture cleanups weren't pushed when BlockDecl::doesNotEscape() returns true.

Thu, Jul 19, 11:50 AM

Wed, Jul 18

ahatanak added a comment to D45898: [SemaCXX] Mark destructor as referenced .

ping

Wed, Jul 18, 5:09 PM
ahatanak planned changes to D49303: [CodeGen][ObjC] Treat non-escaping blocks as global blocks to make copy/dispose a no-op.

Please test that we still copy captures correctly into the block object and destroy them when the block object is destroyed.

Wed, Jul 18, 4:12 PM

Jul 16 2018

ahatanak added a comment to D47757: [Sema] Produce diagnostics when unavailable aligned allocation/deallocation functions are called.

ping

Jul 16 2018, 6:40 PM
ahatanak added inline comments to D22391: [Sema] Add warning for implicitly casting a null constant to a non null pointer type .
Jul 16 2018, 11:19 AM

Jul 13 2018

ahatanak created D49303: [CodeGen][ObjC] Treat non-escaping blocks as global blocks to make copy/dispose a no-op.
Jul 13 2018, 9:36 AM

Jul 11 2018

ahatanak committed rL336863: os_log: When there are multiple privacy annotations in the format.
os_log: When there are multiple privacy annotations in the format
Jul 11 2018, 3:24 PM
ahatanak committed rC336863: os_log: When there are multiple privacy annotations in the format.
os_log: When there are multiple privacy annotations in the format
Jul 11 2018, 3:24 PM
ahatanak added a comment to D45898: [SemaCXX] Mark destructor as referenced .

ping

Jul 11 2018, 2:30 PM

Jul 10 2018

ahatanak added inline comments to D22391: [Sema] Add warning for implicitly casting a null constant to a non null pointer type .
Jul 10 2018, 6:02 PM
ahatanak updated the diff for D22391: [Sema] Add warning for implicitly casting a null constant to a non null pointer type .

Address review comments.

Jul 10 2018, 6:02 PM

Jul 9 2018

ahatanak added a comment to D22391: [Sema] Add warning for implicitly casting a null constant to a non null pointer type .

ping

Jul 9 2018, 8:56 PM
ahatanak added a comment to D47757: [Sema] Produce diagnostics when unavailable aligned allocation/deallocation functions are called.

ping

Jul 9 2018, 8:54 PM
ahatanak created D49119: [Sema][ObjC] Issue a warning when a method declared in a protocol is non-escaping but the corresponding method in the implementation is escaping..
Jul 9 2018, 7:03 PM · Restricted Project
ahatanak committed rL336629: Fix parsing of privacy annotations in os_log format strings..
Fix parsing of privacy annotations in os_log format strings.
Jul 9 2018, 5:55 PM
ahatanak committed rC336629: Fix parsing of privacy annotations in os_log format strings..
Fix parsing of privacy annotations in os_log format strings.
Jul 9 2018, 5:55 PM

Jul 2 2018

ahatanak updated the diff for D45898: [SemaCXX] Mark destructor as referenced .

Implement the new rule defined here: http://wg21.link/p0968r0#2227. Produce a diagnostic if a class is initialized with aggregate initialization and one of its element's destructor is not accessible.

Jul 2 2018, 2:47 PM

Jun 25 2018

ahatanak added a comment to D47757: [Sema] Produce diagnostics when unavailable aligned allocation/deallocation functions are called.

Yes, that is the case. It doesn't change overloading resolution, it is just producing a diagnostic.

Jun 25 2018, 3:24 PM
ahatanak added a comment to D47757: [Sema] Produce diagnostics when unavailable aligned allocation/deallocation functions are called.

I mean ToT clang (without my patch applied) seems to select the non-sized host version 'T::operator delete(void*)'.

Jun 25 2018, 3:00 PM
ahatanak added a comment to D47757: [Sema] Produce diagnostics when unavailable aligned allocation/deallocation functions are called.

The original comment said "call sized device delete even though host has preferable non-sized version", but it seems that the non-sized host version 'T::operator delete(void*)' is being called in the IR, not the sized device version of delete. Is that a bug in overload resolution?

Jun 25 2018, 2:56 PM
ahatanak added a reviewer for D47757: [Sema] Produce diagnostics when unavailable aligned allocation/deallocation functions are called: jlebar.

@jlebar, is the change I made to call-host-fn-from-device.cu correct?

Jun 25 2018, 2:39 PM

Jun 20 2018

ahatanak accepted D48407: ProvenanceAnalysis: Store WeakTrackingVH instead of Value* in UnderlyingValue Cache..

LGTM

Jun 20 2018, 8:50 PM
ahatanak added inline comments to rC335021: [Sema] Produce diagnostics for attribute 'trivial_abi' that appears.
Jun 20 2018, 4:02 PM
ahatanak committed rC335189: Use cast instead of dyn_cast_or_null..
Use cast instead of dyn_cast_or_null.
Jun 20 2018, 4:01 PM
ahatanak committed rL335189: Use cast instead of dyn_cast_or_null..
Use cast instead of dyn_cast_or_null.
Jun 20 2018, 4:01 PM

Jun 18 2018

ahatanak committed rL335021: [Sema] Produce diagnostics for attribute 'trivial_abi' that appears.
[Sema] Produce diagnostics for attribute 'trivial_abi' that appears
Jun 18 2018, 10:09 PM
ahatanak committed rC335021: [Sema] Produce diagnostics for attribute 'trivial_abi' that appears.
[Sema] Produce diagnostics for attribute 'trivial_abi' that appears
Jun 18 2018, 10:09 PM

Jun 12 2018

ahatanak committed rL334569: [Sema] When the address of a member function is used as a template.
[Sema] When the address of a member function is used as a template
Jun 12 2018, 10:30 PM