ahatanak (Akira Hatanaka)
User

Projects

User does not belong to any projects.

User Details

User Since
Dec 4 2013, 1:37 PM (207 w, 1 d)

Recent Activity

Wed, Nov 15

ahatanak created D40112: [CodeGen][X86] Fix handling of __fp16 vectors.
Wed, Nov 15, 4:46 PM

Mon, Nov 13

ahatanak added a comment to D39913: [ObjC] warn about availability attributes missing from a method's declaration when they're specified for a method's definition .

Is it not necessary to print a diagnostic when a non-member function declaration is missing an availability attribute?

Mon, Nov 13, 7:34 PM

Thu, Nov 9

ahatanak added a comment to D39870: [sanitizer] Allow sanitizers to redefine implementation of signal interceptors.

This caused a bot failure:

Thu, Nov 9, 4:22 PM

Wed, Nov 8

ahatanak accepted D39776: [libcxx] Mark test cxa_deleted_virtual.pass.cpp as failing for previous libcxx versions..

LGTM

Wed, Nov 8, 6:55 AM

Tue, Nov 7

ahatanak accepted D39762: [ObjC] Boxed strings should use the nullability from stringWithUTF8String's return type.

LGTM

Tue, Nov 7, 5:44 PM
ahatanak added a comment to D28907: [SLP] Fix for PR30787: Failure to beneficially vectorize 'copyable' elements in integer binary ops..

I don't know what is wrong, but it looks like an assertion is failing when SLPVectorizerPass is run:

Tue, Nov 7, 3:21 PM

Thu, Nov 2

ahatanak added a comment to rL317281: Add feature to determine if host architecture is 64-bit in llvm-lit.

Hi Jake,

Thu, Nov 2, 4:47 PM
ahatanak added a comment to D39562: [CodeGen][ObjC] Fix an assertion failure caused by copy elision.

This is tracked by rdar://problem/34363596.

Thu, Nov 2, 2:07 PM
ahatanak created D39562: [CodeGen][ObjC] Fix an assertion failure caused by copy elision.
Thu, Nov 2, 12:45 PM

Oct 24 2017

ahatanak committed rL316531: [Sema][ObjC] Look for either objc_bridge or objc_bridge_mutable when.
[Sema][ObjC] Look for either objc_bridge or objc_bridge_mutable when
Oct 24 2017, 4:38 PM

Oct 16 2017

ahatanak committed rL315914: [ObjCARC] Do not move a release that has the clang.imprecise_release tag.
[ObjCARC] Do not move a release that has the clang.imprecise_release tag
Oct 16 2017, 9:47 AM

Oct 12 2017

ahatanak added a comment to rL313717: [Sema][ObjC] Warn about mismatches in attributes between overriding and.

OK, I committed a patch in r315639 to fix the test.

Oct 12 2017, 4:25 PM
ahatanak committed rL315639: [Sema][ObjC] Complete merging ObjC methods before checking their.
[Sema][ObjC] Complete merging ObjC methods before checking their
Oct 12 2017, 4:24 PM

Oct 11 2017

ahatanak added a comment to rL313717: [Sema][ObjC] Warn about mismatches in attributes between overriding and.

I think the right way to fix this is to merge the ObjCMethodDecls before iterating over the overridden methods in Sema::CheckObjCMethodOverridesmergeObjCMethodDecls so that NSReturnsRetainedAttr is propagated to the overriding method before the diagnostics are printed. If we just want to fix the nondeterminism, we can just stop using SmallPtrSet for OverrideSearch::Overridden.

Oct 11 2017, 3:14 PM
ahatanak added a comment to rL313717: [Sema][ObjC] Warn about mismatches in attributes between overriding and.

Yes, I'll take a look today, Thank you for letting me know, I didn't know this commit was causing bots to fail.

Oct 11 2017, 11:31 AM

Oct 9 2017

ahatanak committed rL315261: [Sema][ObjC] Preserve syntactic sugar when removing.
[Sema][ObjC] Preserve syntactic sugar when removing
Oct 9 2017, 6:24 PM
ahatanak closed D38659: [Sema][ObjC] Preserve syntactic sugar when removing ARCReclaimReturnedObject cast by committing rL315261: [Sema][ObjC] Preserve syntactic sugar when removing.
Oct 9 2017, 6:24 PM

Oct 6 2017

ahatanak created D38659: [Sema][ObjC] Preserve syntactic sugar when removing ARCReclaimReturnedObject cast.
Oct 6 2017, 7:05 PM
ahatanak added inline comments to D36918: [Sema] Take into account the current context when checking the accessibility of a member function pointer.
Oct 6 2017, 6:37 PM
ahatanak updated the diff for D36918: [Sema] Take into account the current context when checking the accessibility of a member function pointer.

Address review comments.

Oct 6 2017, 6:37 PM
ahatanak added a comment to D36918: [Sema] Take into account the current context when checking the accessibility of a member function pointer.

ping

Oct 6 2017, 10:39 AM
ahatanak committed rL315049: Fix one more check string after r315045..
Fix one more check string after r315045.
Oct 6 2017, 1:21 AM
ahatanak committed rL315047: Fix one more check string after r315045..
Fix one more check string after r315045.
Oct 6 2017, 1:07 AM
ahatanak committed rL315046: Fix check strings in test case and use llvm::to_string instead of.
Fix check strings in test case and use llvm::to_string instead of
Oct 6 2017, 12:49 AM
ahatanak committed rL315045: [CodeGen] Emit a helper function for __builtin_os_log_format to reduce.
[CodeGen] Emit a helper function for __builtin_os_log_format to reduce
Oct 6 2017, 12:14 AM
ahatanak closed D38606: [CodeGen] Emit a helper function for __builtin_os_log_format to reduce code size by committing rL315045: [CodeGen] Emit a helper function for __builtin_os_log_format to reduce.
Oct 6 2017, 12:14 AM

Oct 5 2017

ahatanak added a comment to D38606: [CodeGen] Emit a helper function for __builtin_os_log_format to reduce code size.

I think you are right. The linkage should be linkonce_odr even when not compiling with -Oz. I've fixed it in the latest patch.

Oct 5 2017, 11:37 PM
ahatanak updated the diff for D38606: [CodeGen] Emit a helper function for __builtin_os_log_format to reduce code size.

Always mark the helper function as linkonce_odr and hidden.

Oct 5 2017, 11:35 PM
ahatanak created D38606: [CodeGen] Emit a helper function for __builtin_os_log_format to reduce code size.
Oct 5 2017, 4:00 PM

Sep 29 2017

ahatanak added a comment to D36918: [Sema] Take into account the current context when checking the accessibility of a member function pointer.

ping

Sep 29 2017, 3:34 PM
ahatanak added a comment to D36915: [Sema] Diagnose local variables and parameters captured by lambda and block expressions in a default argument.

Any comments on this patch or alternate approaches?

Sep 29 2017, 3:28 PM

Sep 27 2017

ahatanak committed rL314370: Look through parentheses..
Look through parentheses.
Sep 27 2017, 6:33 PM

Sep 25 2017

ahatanak committed rL314056: Promote storage-only __fp16 vector operands to float vectors..
Promote storage-only __fp16 vector operands to float vectors.
Sep 25 2017, 5:08 AM
ahatanak closed D32520: Support __fp16 vectors by committing rL314056: Promote storage-only __fp16 vector operands to float vectors..
Sep 25 2017, 5:08 AM
ahatanak committed rL314029: [CodeGen][ObjC] Build the global block structure before emitting the.
[CodeGen][ObjC] Build the global block structure before emitting the
Sep 25 2017, 5:06 AM
ahatanak closed D38118: [CodeGen][ObjC] Build the global block structure before emitting the body of global block invoke functions by committing rL314029: [CodeGen][ObjC] Build the global block structure before emitting the.
Sep 25 2017, 5:06 AM

Sep 21 2017

ahatanak closed D38141: Annotate function parameters with attribute 'noescape'.

Thanks, committed in r313929.

Sep 21 2017, 9:19 PM
ahatanak committed rL313952: Add test cases that weren't committed in r313945..
Add test cases that weren't committed in r313945.
Sep 21 2017, 6:56 PM
ahatanak committed rL313945: Add support for attribute 'noescape'..
Add support for attribute 'noescape'.
Sep 21 2017, 5:42 PM
ahatanak committed rL313929: [tsan] Annotate function parameters with attribute 'noescape'..
[tsan] Annotate function parameters with attribute 'noescape'.
Sep 21 2017, 3:18 PM
ahatanak added inline comments to D32520: Support __fp16 vectors.
Sep 21 2017, 2:58 PM
ahatanak updated the diff for D32520: Support __fp16 vectors.

Address review comments.

Sep 21 2017, 2:57 PM
ahatanak updated the diff for D38141: Annotate function parameters with attribute 'noescape'.

Use DISPATCH_NOESCAPE instead of "attribute((noescape))".

Sep 21 2017, 11:38 AM
ahatanak added a comment to D38141: Annotate function parameters with attribute 'noescape'.

That's what we should do here. Since the file includes dispatch.h, we should be able to just use the DISPATCH_NOESCAPE macro, which already uses #if __has_attribute.

Sep 21 2017, 11:31 AM
ahatanak added a comment to D38141: Annotate function parameters with attribute 'noescape'.

What happens when building this code with a compiler that doesn't understand __attribute__((__noescape__))? Is it just ignored?

Sep 21 2017, 10:41 AM
ahatanak created D38141: Annotate function parameters with attribute 'noescape'.
Sep 21 2017, 9:54 AM

Sep 20 2017

ahatanak accepted D38009: [Sema] Fix using old initializer during switch statement transformation..

I think this is correct.

Sep 20 2017, 10:52 PM
ahatanak created D38118: [CodeGen][ObjC] Build the global block structure before emitting the body of global block invoke functions.
Sep 20 2017, 8:53 PM

Sep 19 2017

ahatanak committed rL313725: Revert "Add support for attribute 'noescape'.".
Revert "Add support for attribute 'noescape'."
Sep 19 2017, 11:57 PM
ahatanak updated the diff for D32520: Support __fp16 vectors.

Upload the rebased patch again.

Sep 19 2017, 11:43 PM
ahatanak reopened D32520: Support __fp16 vectors.

Reopening this review. I accidentally closed this review when I committed r313717 (the patch that adds support for 'noescape').

Sep 19 2017, 11:39 PM
ahatanak closed D32210: [Sema][ObjC] Add support for attribute "noescape".
Sep 19 2017, 11:39 PM
ahatanak accepted D32210: [Sema][ObjC] Add support for attribute "noescape".

This one can be closed.

Sep 19 2017, 11:39 PM
ahatanak reopened D32210: [Sema][ObjC] Add support for attribute "noescape".

Reopening this review. I accidentally closed this review when I committed r313717 (the patch that adds support for 'noescape').

Sep 19 2017, 11:37 PM
ahatanak committed rL313722: Add support for attribute 'noescape'..
Add support for attribute 'noescape'.
Sep 19 2017, 11:34 PM
ahatanak closed D32210: [Sema][ObjC] Add support for attribute "noescape" by committing rL313722: Add support for attribute 'noescape'..
Sep 19 2017, 11:34 PM
ahatanak committed rL313721: Revert "Add support for attribute 'noescape'.".
Revert "Add support for attribute 'noescape'."
Sep 19 2017, 11:29 PM
ahatanak committed rL313720: Add support for attribute 'noescape'..
Add support for attribute 'noescape'.
Sep 19 2017, 11:24 PM
ahatanak closed D32520: Support __fp16 vectors by committing rL313720: Add support for attribute 'noescape'..
Sep 19 2017, 11:24 PM
ahatanak committed rL313717: [Sema][ObjC] Warn about mismatches in attributes between overriding and.
[Sema][ObjC] Warn about mismatches in attributes between overriding and
Sep 19 2017, 10:41 PM
ahatanak added a comment to D36915: [Sema] Diagnose local variables and parameters captured by lambda and block expressions in a default argument.

ping

Sep 19 2017, 10:24 AM

Sep 15 2017

ahatanak added inline comments to D32210: [Sema][ObjC] Add support for attribute "noescape".
Sep 15 2017, 11:27 AM
ahatanak updated the diff for D32210: [Sema][ObjC] Add support for attribute "noescape".

Address review comments.

Sep 15 2017, 11:24 AM

Sep 14 2017

ahatanak updated the diff for D32520: Support __fp16 vectors.

Rebase.

Sep 14 2017, 3:35 PM
ahatanak accepted D37322: [Sema] Correct typos in LHS, RHS before building a binop expression..

I see. It looks like there is an ambiguity between 'new_anotation' and 'new_annotations' that can't be resolved in ActOnMemberAccessExpr because they have the same distance from 'new_annotation'. This doesn't happen if the full expression (new_annotation->Swap) is typo-corrected because 'new_anotation' will be the only valid choice in that case.

Sep 14 2017, 2:06 PM

Sep 12 2017

ahatanak added a comment to D37322: [Sema] Correct typos in LHS, RHS before building a binop expression..

I was thinking about correcting the typo in Sema::ActOnMemberAccessExpr before checking whether Base is dependent. Doing so would cause BuildMemberReferenceExpr to be called instead of ActOnDependentMemberExpr.

Sep 12 2017, 4:50 PM
ahatanak accepted D37777: [Driver] Disable uwtable by default in -ffreestanding mode.

LGTM

Sep 12 2017, 3:51 PM

Sep 11 2017

ahatanak updated the diff for D36915: [Sema] Diagnose local variables and parameters captured by lambda and block expressions in a default argument.

Address review comments.

Sep 11 2017, 7:31 PM

Sep 1 2017

ahatanak added a comment to D37322: [Sema] Correct typos in LHS, RHS before building a binop expression..

Is it possible to avoid creating CXXDependentScopeMemberExpr in the first place? It seems to me that we shouldn't be creating a CXXDependentScopeMemberExpr for an ObjC property access.

Sep 1 2017, 12:11 PM

Aug 31 2017

ahatanak committed rL312266: [ObjCARC] Pass the correct BasicBlock to fix assertion failure..
[ObjCARC] Pass the correct BasicBlock to fix assertion failure.
Aug 31 2017, 11:29 AM

Aug 28 2017

ahatanak added a comment to D36915: [Sema] Diagnose local variables and parameters captured by lambda and block expressions in a default argument.

clang currently rejects "void foo(int = a);" and so does gcc.

Aug 28 2017, 1:47 PM
ahatanak added a comment to D36915: [Sema] Diagnose local variables and parameters captured by lambda and block expressions in a default argument.

I don't think this approach is entirely correct for at least the following reasons:

  1. in the lambda case the machinery that diagnoses capture failures should be the machinery erroring on the lambda (when the parameter is odr-used)
Aug 28 2017, 11:14 AM

Aug 24 2017

ahatanak added a comment to D36915: [Sema] Diagnose local variables and parameters captured by lambda and block expressions in a default argument.

I don't think this approach is entirely correct for at least the following reasons:

  1. in the lambda case the machinery that diagnoses capture failures should be the machinery erroring on the lambda (when the parameter is odr-used)
  2. in the unevaluated case, once you disable the error, the instantiation machinery will fail to find the corresponding instantiated parmvardecl.
Aug 24 2017, 8:51 AM

Aug 21 2017

ahatanak committed rL311397: [Driver][Darwin] Do not pass -munwind-table if -fno-excpetions is.
[Driver][Darwin] Do not pass -munwind-table if -fno-excpetions is
Aug 21 2017, 3:48 PM

Aug 18 2017

ahatanak updated the diff for D36918: [Sema] Take into account the current context when checking the accessibility of a member function pointer.

Test access to protected member functions.

Aug 18 2017, 10:52 PM
ahatanak created D36918: [Sema] Take into account the current context when checking the accessibility of a member function pointer.
Aug 18 2017, 10:28 PM
ahatanak created D36915: [Sema] Diagnose local variables and parameters captured by lambda and block expressions in a default argument.
Aug 18 2017, 7:25 PM

Aug 10 2017

ahatanak committed rL310672: [Sema][ObjC] Fix spurious -Wcast-qual warnings..
[Sema][ObjC] Fix spurious -Wcast-qual warnings.
Aug 10 2017, 5:07 PM
ahatanak added inline comments to D32210: [Sema][ObjC] Add support for attribute "noescape".
Aug 10 2017, 11:48 AM
ahatanak updated the diff for D32210: [Sema][ObjC] Add support for attribute "noescape".

Address review comments.

Aug 10 2017, 11:47 AM

Aug 4 2017

ahatanak added inline comments to D32210: [Sema][ObjC] Add support for attribute "noescape".
Aug 4 2017, 1:42 PM
ahatanak updated the diff for D32210: [Sema][ObjC] Add support for attribute "noescape".

Include noescape attribute information in the function prototype and modify the AST printer and name mangling accordingly.

Aug 4 2017, 1:41 PM

Aug 3 2017

ahatanak committed rL310006: [Driver][Darwin] Pass -munwind-table when !UseSjLjExceptions..
[Driver][Darwin] Pass -munwind-table when !UseSjLjExceptions.
Aug 3 2017, 4:56 PM
ahatanak closed D35693: [Driver][Darwin] Pass -munwind-table when !UseSjLjExceptions by committing rL310006: [Driver][Darwin] Pass -munwind-table when !UseSjLjExceptions..
Aug 3 2017, 4:56 PM

Jul 31 2017

ahatanak committed rL309640: Use -target instead of -arch in test case..
Use -target instead of -arch in test case.
Jul 31 2017, 4:12 PM
ahatanak committed rL309636: Silence warning -Wmissing-sysroot..
Silence warning -Wmissing-sysroot.
Jul 31 2017, 3:46 PM
ahatanak committed rL309633: [Driver] Make sure the deployment target is earlier than iOS 11 when.
[Driver] Make sure the deployment target is earlier than iOS 11 when
Jul 31 2017, 3:20 PM
ahatanak committed rL309607: [Driver] Allow users to silence the warning that is issued when the.
[Driver] Allow users to silence the warning that is issued when the
Jul 31 2017, 12:17 PM

Jul 28 2017

ahatanak added a comment to D35693: [Driver][Darwin] Pass -munwind-table when !UseSjLjExceptions.

Does the ARM64 ABI call for unwind tables to be emitted for all functions, like the x86-64 ABI does?

Anyway, it seems pretty unfortunate that the default behavior breaks exceptions.

Jul 28 2017, 4:17 PM

Jul 27 2017

ahatanak committed rL309352: Update comment in test case after r309308..
Update comment in test case after r309308.
Jul 27 2017, 6:59 PM
ahatanak committed rL309308: Revert r264998 and r265035..
Revert r264998 and r265035.
Jul 27 2017, 11:53 AM

Jul 24 2017

ahatanak updated the diff for D32210: [Sema][ObjC] Add support for attribute "noescape".

Address review comments.

Jul 24 2017, 4:36 PM
ahatanak added a comment to D32210: [Sema][ObjC] Add support for attribute "noescape".

Address review comments.

  • Allow attaching "noescape" to pointers other than block pointers. Update the docs accordingly.
  • Attach attribute "nocapture" to parameters that are annotated with "noescape".
  • Call Sema::isValidPointerAttrType to determine whether "noescape" can be applied to a parameter. Also, use the existing warning "warn_attribute_pointers_only" rather than defining a new warning that will be used just for noescape.

    I also thought about what else we can do in the front-end when a parameter has 'noescape". One idea is to do something similar to what r301667 did and omit emitting retains and releases of block captures when the block is passed to a function taking a noescape parameter. If that is viable, I can look into it after committing this patch.

Hmm. Unfortunately, I'm not sure that's valid. The retains and releases of block captures don't protect against anything related to escaping the block; they protect against the original variables being modified during the lifetime of the block. It is true that a block literal passed to a noescape parameter has a shorter effective lifetime — we know for certain that it will be unused after the call, and ARC only promises that a value in an imprecise-lifetime strong variable like a block capture will be valid until the last load of that value from the variable. But that duration is still long enough for someone to modify the original variable in a way that is properly sequenced after the formation of the block.

Now, if you could prove that the variable was not modified for the duration of the call, that would be sufficient. And that would be easy to do in the common case by just proving that the address of the variable never escapes. Unfortunately, we don't have that information readily available because Sema doesn't collect it.

Jul 24 2017, 4:25 PM

Jul 20 2017

ahatanak created D35693: [Driver][Darwin] Pass -munwind-table when !UseSjLjExceptions.
Jul 20 2017, 11:43 AM

Jul 19 2017

ahatanak committed rL308498: Add AlignedAllocation.h..
Add AlignedAllocation.h.
Jul 19 2017, 10:27 AM
ahatanak committed rL308496: [Sema] Improve diagnostic message for unavailable C++17 aligned.
[Sema] Improve diagnostic message for unavailable C++17 aligned
Jul 19 2017, 10:19 AM
ahatanak closed D35520: [Sema] Improve diagnostic message for unavailable c++17 aligned allocation functions by committing rL308496: [Sema] Improve diagnostic message for unavailable C++17 aligned.
Jul 19 2017, 10:19 AM

Jul 18 2017

ahatanak updated the diff for D35520: [Sema] Improve diagnostic message for unavailable c++17 aligned allocation functions .

Address review comments.

Jul 18 2017, 11:10 AM

Jul 17 2017

ahatanak created D35520: [Sema] Improve diagnostic message for unavailable c++17 aligned allocation functions .
Jul 17 2017, 5:07 PM

Jul 14 2017

ahatanak updated the diff for D32210: [Sema][ObjC] Add support for attribute "noescape".

Address review comments.

Jul 14 2017, 5:09 PM