Page MenuHomePhabricator

ahatanak (Akira Hatanaka)
User

Projects

User does not belong to any projects.

User Details

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

Recent Activity

Tue, Oct 20

ahatanak added a comment to D78760: Check a class doesn't have a dependent type before iterating over its base classes.

ping

Tue, Oct 20, 12:30 PM · Restricted Project
ahatanak added a comment to D83448: [CodeGen] Emit destructor calls to destruct non-trivial C struct temporaries created by conditional and assignment operators.

ping

Tue, Oct 20, 12:19 PM · Restricted Project
ahatanak committed rGb78045c2ce2d: Add a C++ test case for https://reviews.llvm.org/D86854 (authored by ahatanak).
Add a C++ test case for https://reviews.llvm.org/D86854
Tue, Oct 20, 7:35 AM
ahatanak abandoned D82999: [CodeGen] Check the cleanup flag before destructing lifetime-extended temporaries created in conditional expressions.

This was fixed by https://reviews.llvm.org/D86854.

Tue, Oct 20, 7:29 AM · Restricted Project

Mon, Oct 5

ahatanak planned changes to D88863: [docs] Fix vector literal examples that don't compile.

The parenthesis initialization does not work as documented for GCC or OpenCL vectors, so that has to be fixed too.

Mon, Oct 5, 5:41 PM · Restricted Project
ahatanak requested review of D88863: [docs] Fix vector literal examples that don't compile.
Mon, Oct 5, 4:56 PM · Restricted Project

Wed, Sep 30

ahatanak committed rG21cf2e6c263d: Handle unknown OSes in DarwinTargetInfo::getExnObjectAlignment (authored by ahatanak).
Handle unknown OSes in DarwinTargetInfo::getExnObjectAlignment
Wed, Sep 30, 4:05 PM

Tue, Sep 29

ahatanak accepted D88265: [Sema] Support Comma operator for fp16 vectors..
Tue, Sep 29, 1:46 PM · Restricted Project

Fri, Sep 25

Herald added a reviewer for D55063: [IR] Set nocapture attribute for va_start, va_end, and va_copy: jdoerfert.

Is this patch still being reviewed?

Fri, Sep 25, 7:03 PM · Restricted Project
ahatanak accepted D88336: [ubsan] nullability-arg: Fix crash on C++ member function pointers.

LGTM

Fri, Sep 25, 6:18 PM · Restricted Project
ahatanak added a comment to D88336: [ubsan] nullability-arg: Fix crash on C++ member function pointers.

It looks like this still doesn't check null correctly (i.e., compare to -1) for data member pointers. Is that correct?

Fri, Sep 25, 3:49 PM · Restricted Project

Sep 21 2020

ahatanak accepted D87806: [ObjCARC][NewPM] Port objc-arc-contract to NPM.

I don't think it would be hard to make this pass and ObjCARCOpt function passes, but we can do that later.

Sep 21 2020, 9:28 AM · Restricted Project
ahatanak added a comment to D87806: [ObjCARC][NewPM] Port objc-arc-contract to NPM.

Patch looks good to me, but do you have to change anything to fix the pre-merge check test failure?

Sep 21 2020, 12:57 AM · Restricted Project

Sep 14 2020

ahatanak added inline comments to D87611: [SystemZ][z/OS] Set aligned allocation unavailable by default for z/OS.
Sep 14 2020, 7:43 PM · Restricted Project

Sep 4 2020

ahatanak committed rG64bb582f4a07: Fix the type of the invoke function in the block ABI documentation (authored by ahatanak).
Fix the type of the invoke function in the block ABI documentation
Sep 4 2020, 10:29 AM

Aug 28 2020

ahatanak committed rG0231a4e5bd00: [ObjC][ARC] In HandlePotentialAlterRefCount, check whether an (authored by ahatanak).
[ObjC][ARC] In HandlePotentialAlterRefCount, check whether an
Aug 28 2020, 5:46 PM

Aug 27 2020

ahatanak accepted D86178: [ObjCARCOpt] Port objc-arc to NPM.

OK, thank you. LGTM, but you can wait for an approval from someone more familiar with the pass manager.

Aug 27 2020, 5:59 PM · Restricted Project
ahatanak added inline comments to D86178: [ObjCARCOpt] Port objc-arc to NPM.
Aug 27 2020, 4:26 PM · Restricted Project

Aug 3 2020

ahatanak committed rG41b1e97b12c1: [CodeGen][ObjC] Mark calls to objc_unsafeClaimAutoreleasedReturnValue as (authored by ahatanak).
[CodeGen][ObjC] Mark calls to objc_unsafeClaimAutoreleasedReturnValue as
Aug 3 2020, 1:25 PM
ahatanak closed D84540: [CodeGen][ObjC] Mark calls to objc_unsafeClaimAutoreleasedReturnValue as notail on x86-64.
Aug 3 2020, 1:25 PM · Restricted Project

Jul 24 2020

ahatanak created D84540: [CodeGen][ObjC] Mark calls to objc_unsafeClaimAutoreleasedReturnValue as notail on x86-64.
Jul 24 2020, 9:37 AM · Restricted Project

Jul 23 2020

ahatanak added a comment to D83997: [os_log] Improve the way we extend the lifetime of objects passed to __builtin_os_log_format.

The use case for this is a macro in which the call to __builtin_os_log_format that writes to the buffer and the call that uses the buffer appear in two different statements. For example:

Jul 23 2020, 9:20 AM · Restricted Project

Jul 21 2020

ahatanak committed rG73bc23ff8665: Fix the data layout mangling specification for 'i686-pc-macho' (authored by ahatanak).
Fix the data layout mangling specification for 'i686-pc-macho'
Jul 21 2020, 12:58 PM

Jul 16 2020

Herald added a reviewer for D83997: [os_log] Improve the way we extend the lifetime of objects passed to __builtin_os_log_format: shafik.
Jul 16 2020, 7:08 PM · Restricted Project

Jul 15 2020

ahatanak committed rGed6b578040a8: [CodeGen] Emit a call instruction instead of an invoke if the called llvm… (authored by ahatanak).
[CodeGen] Emit a call instruction instead of an invoke if the called llvm…
Jul 15 2020, 2:48 PM
ahatanak closed D83906: [CodeGen] Emit a call instruction instead of an invoke if the called llvm function is marked nounwind.
Jul 15 2020, 2:48 PM · Restricted Project
ahatanak updated the diff for D83906: [CodeGen] Emit a call instruction instead of an invoke if the called llvm function is marked nounwind.

Update comment in test case.

Jul 15 2020, 2:42 PM · Restricted Project
ahatanak added a comment to D83906: [CodeGen] Emit a call instruction instead of an invoke if the called llvm function is marked nounwind.

In case it wasn't clear, the calls to mayThrow() in the test cases are needed to prevent TryMarkNoThrow from annotating the functions with nounwind, which would cause a lot of churn.

Jul 15 2020, 2:22 PM · Restricted Project
ahatanak created D83906: [CodeGen] Emit a call instruction instead of an invoke if the called llvm function is marked nounwind.
Jul 15 2020, 2:11 PM · Restricted Project

Jul 14 2020

GitHub <noreply@github.com> committed rG3ca4474db9b3: Merge pull request #1429 from apple/PR-65158878 (authored by ahatanak).
Merge pull request #1429 from apple/PR-65158878
Jul 14 2020, 4:57 PM
ahatanak committed rG5658d859d7af: [Sema] Teach -Wcast-align to compute alignment of CXXThisExpr (authored by ahatanak).
[Sema] Teach -Wcast-align to compute alignment of CXXThisExpr
Jul 14 2020, 4:57 PM
GitHub <noreply@github.com> committed rGddae8bc837b2: Merge pull request #1412 from apple/PR-64909619 (authored by ahatanak).
Merge pull request #1412 from apple/PR-64909619
Jul 14 2020, 4:56 PM
ahatanak committed rG67da4609a75d: Fix Darwin 'constinit thread_local' variables. (authored by jyknight).
Fix Darwin 'constinit thread_local' variables.
Jul 14 2020, 4:56 PM
GitHub <noreply@github.com> committed rGc00c2700a17a: Merge pull request #1231 from apple/PR-59242343 (authored by ahatanak).
Merge pull request #1231 from apple/PR-59242343
Jul 14 2020, 4:51 PM
ahatanak committed rGa5dd41127282: [Sema] Teach -Wcast-align to compute an accurate alignment using the alignment… (authored by ahatanak).
[Sema] Teach -Wcast-align to compute an accurate alignment using the alignment…
Jul 14 2020, 4:51 PM
GitHub <noreply@github.com> committed rG8d6c10290c61: Merge pull request #1223 from apple/PR-61203170 (authored by ahatanak).
Merge pull request #1223 from apple/PR-61203170
Jul 14 2020, 4:50 PM
ahatanak committed rG280aaf1e15c6: Don't apply lvalue-to-rvalue conversion in DefaultLValueConversion to the… (authored by ahatanak).
Don't apply lvalue-to-rvalue conversion in DefaultLValueConversion to the…
Jul 14 2020, 4:50 PM
GitHub <noreply@github.com> committed rGb7867f6ff1ec: Merge pull request #1100 from apple/PR-59994008 (authored by ahatanak).
Merge pull request #1100 from apple/PR-59994008
Jul 14 2020, 4:44 PM
ahatanak committed rG750e49cf5a6f: Revert "[InstCombine] fold zext of masked bit set/clear" (authored by kadircet).
Revert "[InstCombine] fold zext of masked bit set/clear"
Jul 14 2020, 4:44 PM
ahatanak added a reverting change for rGa041c4ec6f7a: [InstCombine] fold zext of masked bit set/clear: rG750e49cf5a6f: Revert "[InstCombine] fold zext of masked bit set/clear".
Jul 14 2020, 4:44 PM
GitHub <noreply@github.com> committed rG53556b0787b2: Merge pull request #1096 from apple/PR-54603670 (authored by ahatanak).
Merge pull request #1096 from apple/PR-54603670
Jul 14 2020, 4:43 PM
ahatanak committed rGa6823609073b: Don't drop ptrauth qualifiers when constructing C++ composite types (authored by ahatanak).
Don't drop ptrauth qualifiers when constructing C++ composite types
Jul 14 2020, 4:43 PM
GitHub <noreply@github.com> committed rG3469c9f93298: Merge pull request #1064 from apple/PR-55983556 (authored by ahatanak).
Merge pull request #1064 from apple/PR-55983556
Jul 14 2020, 4:42 PM
ahatanak committed rG129e448bf21f: [Sema] Use the canonical type in function isVector (authored by ahatanak).
[Sema] Use the canonical type in function isVector
Jul 14 2020, 4:42 PM
ahatanak committed rG3e305f95617f: Fix the type of the capture passed to LambdaIntroducer::addCapture in… (authored by ahatanak).
Fix the type of the capture passed to LambdaIntroducer::addCapture in…
Jul 14 2020, 4:41 PM
GitHub <noreply@github.com> committed rG40b14009f18a: Merge pull request #1052 from apple/PR-47550338 (authored by ahatanak).
Merge pull request #1052 from apple/PR-47550338
Jul 14 2020, 4:41 PM
GitHub <noreply@github.com> committed rGae5085a81a29: Merge pull request #1051 from apple/PR-51867864 (authored by ahatanak).
Merge pull request #1051 from apple/PR-51867864
Jul 14 2020, 4:41 PM
ahatanak committed rG22f43f1fb47b: [CodeGen] Emit destructor calls to destruct compound literals (authored by ahatanak).
[CodeGen] Emit destructor calls to destruct compound literals
Jul 14 2020, 4:41 PM
GitHub <noreply@github.com> committed rGfe86c40266bd: Merge pull request #1048 from apple/PR-59275894 (authored by ahatanak).
Merge pull request #1048 from apple/PR-59275894
Jul 14 2020, 4:41 PM
ahatanak committed rG526baedc52f5: [CodeGen] Emit destructor calls to destruct non-trivial C struct objects… (authored by ahatanak).
[CodeGen] Emit destructor calls to destruct non-trivial C struct objects…
Jul 14 2020, 4:41 PM
ahatanak committed rG3bce03e453f4: [ObjC][ARC] Don't remove autoreleaseRV/retainRV pairs if the call isn't a tail… (authored by ahatanak).
[ObjC][ARC] Don't remove autoreleaseRV/retainRV pairs if the call isn't a tail…
Jul 14 2020, 4:41 PM
GitHub <noreply@github.com> committed rG9e1d28db47db: Merge pull request #1016 from apple/PR-60888064 (authored by ahatanak).
Merge pull request #1016 from apple/PR-60888064
Jul 14 2020, 4:38 PM
ahatanak committed rG9bf6c87bbca5: [Sema] Check that return and argument types of a virtual member function (#993) (authored by ahatanak).
[Sema] Check that return and argument types of a virtual member function (#993)
Jul 14 2020, 4:38 PM
GitHub <noreply@github.com> committed rG02900b8513f7: Merge pull request #899 from apple/PR-60301219 (authored by ahatanak).
Merge pull request #899 from apple/PR-60301219
Jul 14 2020, 4:33 PM
ahatanak committed rG56b0f9650562: [CodeGen][ObjC] Extend lifetime of ObjC pointers passed to calls to… (authored by ahatanak).
[CodeGen][ObjC] Extend lifetime of ObjC pointers passed to calls to…
Jul 14 2020, 4:33 PM
ahatanak committed rG99652f6aaedf: [CodeGen][ObjC] Don't extend lifetime of ObjC pointers passed to calls to… (authored by ahatanak).
[CodeGen][ObjC] Don't extend lifetime of ObjC pointers passed to calls to…
Jul 14 2020, 4:33 PM
ahatanak committed rG410612f43a09: [ObjC][ARC] Don't move a retain call living outside a loop into the loop body (authored by ahatanak).
[ObjC][ARC] Don't move a retain call living outside a loop into the loop body
Jul 14 2020, 4:28 PM
ahatanak committed rG6e20eff487b7: [ObjC][ARC] Keep track of phis that have been discovered to avoid an infinite… (authored by ahatanak).
[ObjC][ARC] Keep track of phis that have been discovered to avoid an infinite…
Jul 14 2020, 4:23 PM
ahatanak committed rGee718f34fc5d: [ObjC][ARC] Delete ARC runtime calls that take inert phi values (authored by ahatanak).
[ObjC][ARC] Delete ARC runtime calls that take inert phi values
Jul 14 2020, 4:23 PM

Jul 10 2020

ahatanak committed rG3a5617c02e38: Fix build error (authored by ahatanak).
Fix build error
Jul 10 2020, 5:42 PM
ahatanak committed rGe9bf0a710c99: [CodeGen] Store the return value of the target function call to the thunk's… (authored by ahatanak).
[CodeGen] Store the return value of the target function call to the thunk's…
Jul 10 2020, 5:24 PM
ahatanak closed D82513: [CodeGen] Store the return value of the target function call to the thunk's return value slot directly when the return type is an aggregate instead of doing so via a temporary.
Jul 10 2020, 5:24 PM · Restricted Project
ahatanak updated the diff for D82513: [CodeGen] Store the return value of the target function call to the thunk's return value slot directly when the return type is an aggregate instead of doing so via a temporary.

Assert in EmitReturnFromThunk that the result type isn't an aggregate.

Jul 10 2020, 4:30 PM · Restricted Project

Jul 9 2020

ahatanak added a comment to D82513: [CodeGen] Store the return value of the target function call to the thunk's return value slot directly when the return type is an aggregate instead of doing so via a temporary.

This seems fine. I do wonder if the "real" bug is that this ought to be handled properly in EmitReturnFromThunk, but regardless, the fix seems acceptable.

Jul 9 2020, 3:55 PM · Restricted Project
ahatanak updated the diff for D82513: [CodeGen] Store the return value of the target function call to the thunk's return value slot directly when the return type is an aggregate instead of doing so via a temporary.

Add test case for trivial_abi.

Jul 9 2020, 3:44 PM · Restricted Project
ahatanak updated the summary of D82513: [CodeGen] Store the return value of the target function call to the thunk's return value slot directly when the return type is an aggregate instead of doing so via a temporary.
Jul 9 2020, 3:40 PM · Restricted Project

Jul 8 2020

ahatanak created D83448: [CodeGen] Emit destructor calls to destruct non-trivial C struct temporaries created by conditional and assignment operators.
Jul 8 2020, 7:30 PM · Restricted Project
ahatanak added a comment to D78760: Check a class doesn't have a dependent type before iterating over its base classes.

Does the updated patch look okay?

Jul 8 2020, 6:34 PM · Restricted Project
ahatanak added a comment to D82999: [CodeGen] Check the cleanup flag before destructing lifetime-extended temporaries created in conditional expressions.

In test case test13 in clang/test/CodeGenCXX/exceptions.cpp, I think you can turn invoke void @_ZN6test131AC1Ev into call void @_ZN6test131AC1Ev, no? If the false expression throws, there is nothing to clean up in the false expression and also nothing in the true expression has to be cleaned up.

Yes, this is true. It would be possible to enhance Clang's cleanup stack to support this sort of thing — we'd want to be able to mark a cleanup as "currently known inactive" without potentially popping it off the cleanup stack, and then we could have conditional scopes remember the cleanups that were added, deactivate them this way, and then reactivate them after the merge. Swift's cleanup manager supports something similar.

Jul 8 2020, 6:31 PM · Restricted Project

Jul 7 2020

ahatanak committed rG04027052a72f: [Sema] Teach -Wcast-align to compute alignment of CXXThisExpr (authored by ahatanak).
[Sema] Teach -Wcast-align to compute alignment of CXXThisExpr
Jul 7 2020, 5:48 PM
ahatanak closed D83317: [Sema] Teach -Wcast-align to compute alignment of CXXThisExpr.
Jul 7 2020, 5:48 PM · Restricted Project
ahatanak created D83317: [Sema] Teach -Wcast-align to compute alignment of CXXThisExpr.
Jul 7 2020, 8:52 AM · Restricted Project

Jul 6 2020

ahatanak added a comment to D81751: [SemaObjC] Fix a -Wobjc-signed-char-bool false-positive with binary conditional operator.

This looks good to me.

Jul 6 2020, 6:51 PM · Restricted Project

Jul 2 2020

ahatanak added a comment to D82999: [CodeGen] Check the cleanup flag before destructing lifetime-extended temporaries created in conditional expressions.

And if the constructor call for A in the true expression throws, it's not necessary to call the destructor either since the object hasn't been constructed.

Jul 2 2020, 4:13 PM · Restricted Project
ahatanak added a comment to D82999: [CodeGen] Check the cleanup flag before destructing lifetime-extended temporaries created in conditional expressions.

In test case test13 in clang/test/CodeGenCXX/exceptions.cpp, I think you can turn invoke void @_ZN6test131AC1Ev into call void @_ZN6test131AC1Ev, no? If the false expression throws, there is nothing to clean up in the false expression and also nothing in the true expression has to be cleaned up.

Jul 2 2020, 3:41 PM · Restricted Project
ahatanak added a comment to D82999: [CodeGen] Check the cleanup flag before destructing lifetime-extended temporaries created in conditional expressions.

After-full-expression cleanup looks fine to me. pushCleanupAfterFullExpr sets the flags and saves the values when it's in a conditional branch.

Jul 2 2020, 1:31 PM · Restricted Project
ahatanak retitled D82999: [CodeGen] Check the cleanup flag before destructing lifetime-extended temporaries created in conditional expressions from [CodeGen] Check the cleanup flag before destructing temporaries created in conditional expressions to [CodeGen] Check the cleanup flag before destructing lifetime-extended temporaries created in conditional expressions.
Jul 2 2020, 1:30 PM · Restricted Project

Jul 1 2020

ahatanak created D82999: [CodeGen] Check the cleanup flag before destructing lifetime-extended temporaries created in conditional expressions.
Jul 1 2020, 3:09 PM · Restricted Project

Jun 30 2020

ahatanak added a comment to D71491: [ubsan] Check implicit casts in ObjC for-in statements.

Thank you, LGTM.

Jun 30 2020, 8:03 PM · Restricted Project, Restricted Project, Restricted Project

Jun 26 2020

ahatanak added inline comments to D71491: [ubsan] Check implicit casts in ObjC for-in statements.
Jun 26 2020, 1:36 AM · Restricted Project, Restricted Project, Restricted Project

Jun 24 2020

ahatanak committed rG413a187856a6: [Inliner] Handle 'no-signed-zeros-fp-math' function attribute. (authored by michele.scandale).
[Inliner] Handle 'no-signed-zeros-fp-math' function attribute.
Jun 24 2020, 5:57 PM
ahatanak closed D81714: [Inliner] Handle 'no-signed-zeros-fp-math' function attribute..
Jun 24 2020, 5:57 PM · Restricted Project
ahatanak created D82513: [CodeGen] Store the return value of the target function call to the thunk's return value slot directly when the return type is an aggregate instead of doing so via a temporary.
Jun 24 2020, 5:56 PM · Restricted Project
ahatanak committed rGcdd6a2788cac: [ObjC] Copy a block to the heap if it is passed as a variadic argument (authored by ahatanak).
[ObjC] Copy a block to the heap if it is passed as a variadic argument
Jun 24 2020, 11:56 AM

Jun 17 2020

ahatanak accepted D81714: [Inliner] Handle 'no-signed-zeros-fp-math' function attribute..

LGTM

Jun 17 2020, 12:56 PM · Restricted Project

Jun 15 2020

ahatanak committed rG2cfb027369e6: [CodeGen][NFC] Add a helper function that returns the addresses of parameters… (authored by ahatanak).
[CodeGen][NFC] Add a helper function that returns the addresses of parameters…
Jun 15 2020, 4:04 PM

Jun 11 2020

ahatanak committed rGc9a52de00260: [CodeGen] Simplify the way lifetime of block captures is extended (authored by ahatanak).
[CodeGen] Simplify the way lifetime of block captures is extended
Jun 11 2020, 4:34 PM
ahatanak closed D81624: [CodeGen] Simplify the way lifetime of block captures is extended.
Jun 11 2020, 4:34 PM · Restricted Project

Jun 10 2020

ahatanak added a comment to D81624: [CodeGen] Simplify the way lifetime of block captures is extended.

To clarify my comment, the lifetime of the block capture in test22 gets extended to the end of the enclosing scope, but of course not beyond the end of the return statement.

Jun 10 2020, 6:20 PM · Restricted Project
ahatanak updated the summary of D81624: [CodeGen] Simplify the way lifetime of block captures is extended.
Jun 10 2020, 6:20 PM · Restricted Project
ahatanak created D81624: [CodeGen] Simplify the way lifetime of block captures is extended.
Jun 10 2020, 5:47 PM · Restricted Project
ahatanak committed rGf466f0beda59: Disallow trivial_abi on a class if all copy and move constructors are deleted (authored by ahatanak).
Disallow trivial_abi on a class if all copy and move constructors are deleted
Jun 10 2020, 2:29 PM
ahatanak closed D57626: Disallow trivial_abi on a class if all copy and move constructors are deleted.
Jun 10 2020, 2:29 PM · Restricted Project

Jun 9 2020

ahatanak committed rGf56659d2bae6: Don't use a variable that isn't defined (authored by ahatanak).
Don't use a variable that isn't defined
Jun 9 2020, 4:37 PM
ahatanak added a comment to D57626: Disallow trivial_abi on a class if all copy and move constructors are deleted.

Yes, I'm still interested in pursuing this. I'll rebase the patch and commit it if I don't get any more feedback.

Jun 9 2020, 12:40 PM · Restricted Project
ahatanak updated the diff for D57626: Disallow trivial_abi on a class if all copy and move constructors are deleted.

Rebase patch.

Jun 9 2020, 12:40 PM · Restricted Project

Jun 1 2020

ahatanak committed rG959517ace1cd: Clean up clang/test/CodeGenObjC/os_log.m (authored by ahatanak).
Clean up clang/test/CodeGenObjC/os_log.m
Jun 1 2020, 2:06 PM

May 29 2020

ahatanak added inline comments to D60108: [os_log] Mark os_log_helper `nounwind`.
May 29 2020, 6:02 PM · Restricted Project

May 19 2020

ahatanak updated the diff for D78760: Check a class doesn't have a dependent type before iterating over its base classes.
May 19 2020, 12:37 PM · Restricted Project

May 15 2020

ahatanak committed rG854f5f332af4: [Sema] Teach -Wcast-align to compute an accurate alignment using the alignment… (authored by ahatanak).
[Sema] Teach -Wcast-align to compute an accurate alignment using the alignment…
May 15 2020, 1:36 AM