Page MenuHomePhabricator

chh (Chih-Hung Hsieh)
User

Projects

User does not belong to any projects.

User Details

User Since
Mar 16 2015, 4:30 PM (235 w, 1 d)

Recent Activity

Wed, Sep 11

chh accepted D67128: [X86] Move x86_64 fp128 conversion to libcalls from type legalization to DAG legalization.
Wed, Sep 11, 10:17 AM · Restricted Project

Tue, Sep 10

chh added a comment to D67128: [X86] Move x86_64 fp128 conversion to libcalls from type legalization to DAG legalization.

I applied this patch to current Android clang/llvm toolchain to build clang compiler.
Not all toolchain was built due to dependencies on other clang/llvm changes not picked into Android yet.
We will known only later when Android toolchain is updated with this and all dependent changes
whether f128 type still works on Android x86_64 devices.
As long as we keep this and future dependent changes small, we should be able to manage any regression found later.

Tue, Sep 10, 10:54 AM · Restricted Project

Fri, Sep 6

chh added a comment to D67128: [X86] Move x86_64 fp128 conversion to libcalls from type legalization to DAG legalization.

Craig, I tested your patch with some AOSP libm code.

Fri, Sep 6, 11:03 AM · Restricted Project

Wed, Sep 4

chh updated subscribers of D67128: [X86] Move x86_64 fp128 conversion to libcalls from type legalization to DAG legalization.
Wed, Sep 4, 11:22 AM · Restricted Project
chh added a comment to D67128: [X86] Move x86_64 fp128 conversion to libcalls from type legalization to DAG legalization.

I haven't read all code details yet; just some quick questions and comments.

Wed, Sep 4, 11:22 AM · Restricted Project

Feb 2 2019

chh added a reverting change for D31406: [clang-tidy] Reuse FileID in getLocation: rGb7b6c907bafc: [clang-tidy] Revert D31406 (Reuse FileID in getLocation).
Feb 2 2019, 1:00 AM

Nov 15 2018

chh accepted D54570: [DAGCombine] Fix non-deterministic debug output .

I probably won't have enough time to test this today.
This looks good to me. If you submit it now, I can cherry pick it and test later.
Thanks.

Nov 15 2018, 9:59 AM

Sep 19 2018

chh added inline comments to D52251: [builtins] Add __emutls_unregister_key function.
Sep 19 2018, 4:19 PM

Sep 18 2018

chh added inline comments to D52251: [builtins] Add __emutls_unregister_key function.
Sep 18 2018, 4:22 PM

Sep 11 2018

chh committed rLLD342007: [ELF] Revert "Also demote lazy symbols.".
[ELF] Revert "Also demote lazy symbols."
Sep 11 2018, 4:02 PM
chh committed rL342007: [ELF] Revert "Also demote lazy symbols.".
[ELF] Revert "Also demote lazy symbols."
Sep 11 2018, 4:01 PM
chh closed D51892: Revert "Also demote lazy symbols.".
Sep 11 2018, 4:01 PM
chh updated the diff for D51892: Revert "Also demote lazy symbols.".

Make it a positive unit test. Create library to test from .s file.

Sep 11 2018, 3:34 PM
chh updated the diff for D51892: Revert "Also demote lazy symbols.".

Add a unit test case.

Sep 11 2018, 12:50 PM

Sep 10 2018

chh added a comment to D51892: Revert "Also demote lazy symbols.".

Rui, could you help me creating a test?
All I have now is Android's link command for dex2oatds.
I don't know how to reduce that to an lld unit test.

Sep 10 2018, 3:35 PM
chh created D51892: Revert "Also demote lazy symbols.".
Sep 10 2018, 3:22 PM

Aug 22 2018

chh committed rC340421: [Tooling] Allow -flto flags and filter out -Wa, flags.
[Tooling] Allow -flto flags and filter out -Wa, flags
Aug 22 2018, 10:14 AM
chh committed rL340421: [Tooling] Allow -flto flags and filter out -Wa, flags.
[Tooling] Allow -flto flags and filter out -Wa, flags
Aug 22 2018, 10:14 AM
chh closed D51002: [Tooling] Allow -flto flags and filter out -Wa, flags.
Aug 22 2018, 10:14 AM

Aug 21 2018

chh added inline comments to D51002: [Tooling] Allow -flto flags and filter out -Wa, flags.
Aug 21 2018, 6:00 PM
chh added a comment to D51002: [Tooling] Allow -flto flags and filter out -Wa, flags.

I tested with clang-tidy test.cpp -- -c -Iinc -flto,
and found that in Driver.cpp:getTool Inputs has one action equal to
BackendJobClass (without -flto) or CompileJobClass (with -flto).

Aug 21 2018, 1:17 PM

Aug 20 2018

chh added a reviewer for D51002: [Tooling] Allow -flto flags and filter out -Wa, flags: klimek.
Aug 20 2018, 3:25 PM
chh added a reviewer for D51002: [Tooling] Allow -flto flags and filter out -Wa, flags: arphaman.
Aug 20 2018, 3:23 PM
chh updated subscribers of D51002: [Tooling] Allow -flto flags and filter out -Wa, flags.
Aug 20 2018, 3:21 PM
chh updated subscribers of D51002: [Tooling] Allow -flto flags and filter out -Wa, flags.
Aug 20 2018, 3:20 PM
chh updated subscribers of D51002: [Tooling] Allow -flto flags and filter out -Wa, flags.
Aug 20 2018, 3:16 PM
chh created D51002: [Tooling] Allow -flto flags and filter out -Wa, flags.
Aug 20 2018, 3:15 PM

Jun 29 2018

chh committed rL336019: [profile] Add llvm_gcov_flush to be called outside a shared library.
[profile] Add llvm_gcov_flush to be called outside a shared library
Jun 29 2018, 2:50 PM
chh committed rCRT336019: [profile] Add llvm_gcov_flush to be called outside a shared library.
[profile] Add llvm_gcov_flush to be called outside a shared library
Jun 29 2018, 2:50 PM
chh closed D45454: Add llvm_gcov_flush to be called outside a shared library.
Jun 29 2018, 2:50 PM
chh updated the diff for D45454: Add llvm_gcov_flush to be called outside a shared library.
Jun 29 2018, 2:32 PM
chh added inline comments to D45454: Add llvm_gcov_flush to be called outside a shared library.
Jun 29 2018, 2:26 PM
chh updated the diff for D45454: Add llvm_gcov_flush to be called outside a shared library.

check dlerror() where it shouldn't be NULL

Jun 29 2018, 2:26 PM
chh updated the diff for D45454: Add llvm_gcov_flush to be called outside a shared library.

Added calls to dlerror() before other dl* functions.

Jun 29 2018, 2:16 PM
chh added a comment to D45454: Add llvm_gcov_flush to be called outside a shared library.

Marco, latest patch does not change gcov_flush, which is also hidden in libgcov.
Android coverage test programs have depended on an earlier compiler-rt that did not hide
gcov_flush.
If that's the only use case broken by recent change of compiler-rt, which hide gcov_flush,
I think it is okay to keep compiler-rt the same as it is now.
Adding a visible llvm_gcov_flush will allow Android coverage test program to use it and dump system .so profiling data,
from the main test program.
Keeping an hidden
gcov_flush has the purpose that David mentioned earlier, to let each .so file dump its own profiling data.

Jun 29 2018, 11:37 AM
chh updated the diff for D45454: Add llvm_gcov_flush to be called outside a shared library.

Now keep __gcov_flush hidden as libgcov; add llvm_gcov_flush to call from outside of .so files.

Jun 29 2018, 10:48 AM

Jun 26 2018

chh updated the diff for D45454: Add llvm_gcov_flush to be called outside a shared library.
Jun 26 2018, 2:03 PM

Jun 25 2018

chh added a comment to D45454: Add llvm_gcov_flush to be called outside a shared library.

@chh I had a chance to try out your proposed changes. It's not causing us any trouble. In fact, __gcov_flush() is not even used at all (at least in LLVM 5.0.1).. I can recompile llvm, compiler_rt and clang and re-run all the tests with __gcov_flush commented out! No problem.

I would suggest adding a bit more documentation to __gcov_flush(), thus describing what those "special cases" are...

__gcov_flush is only used if you actually call it (it's needed for example if you want to profile only part of your program).

In GCC, gcov_flush is not hidden, so perhaps we should do the same to keep the same behavior? I've also submitted https://reviews.llvm.org/D48538, which is making gcov_flush flush counters for all shared libraries (like GCC does, with the same caveat: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83879).

Jun 25 2018, 10:12 AM

Jun 18 2018

Herald updated subscribers of D45650: [CFG] [analyzer] Don't treat argument constructors as temporary constructors..
Jun 18 2018, 9:35 AM

May 22 2018

chh accepted D46978: [builtins] Delay emutls deallocation for one round.

Only two minor suggestions. Everything looks fine. Thanks.

May 22 2018, 10:01 AM

May 18 2018

chh added inline comments to D46978: [builtins] Delay emutls deallocation for one round.
May 18 2018, 3:47 PM
chh added a reviewer for D46978: [builtins] Delay emutls deallocation for one round: chh.
May 18 2018, 3:44 PM

Apr 30 2018

chh added a comment to D34440: [Clang] Expand response files before loading compilation database.

FYI, Android NDK has another use case in https://github.com/android-ndk/ndk/issues/680.
It would be nice to have clang-tidy recognize the response file.

Apr 30 2018, 3:25 PM · Restricted Project

Apr 18 2018

chh added a comment to D43689: [analyzer] Disable constructor inlining when lifetime extension through fields occurs..

This change caused an assertion failure in ExprEngineCXX.cpp:
https://bugs.llvm.org/show_bug.cgi?id=37166

Apr 18 2018, 10:25 AM

Apr 11 2018

chh added a comment to D45454: Add llvm_gcov_flush to be called outside a shared library.

Yes, calling __gcov_flush within .so files are different,
but it's a revert of https://reviews.llvm.org/D38124.
I think https://bugs.llvm.org/show_bug.cgi?id=27224
can be fixed by hiding only llvm_gcda_* functions,
without any change to __gcov_flush.

Apr 11 2018, 11:31 AM

Apr 10 2018

chh added a comment to D45454: Add llvm_gcov_flush to be called outside a shared library.

If we use the unit test case, call __gcov_flush from the main function,
and dump static variables in GCDAProfiling.c, we can see that __gcov_flush
is resolved to the same copy for func.shared, func2.shared, and main.
However, when __gcov_flush is called from main and from f1_flush and f2_flush,
they use different copies of static variables defined in GCDAProfiling.c.
The "flush_fn_head" and its flush functions are different, so 3 calls of
__gcov_flush will flush to 3 different output files:

instrprof-dlopen-func.gcda
instrprof-dlopen-func2.gcda
instrprof-dlopen-dlclose-main.gcda
Apr 10 2018, 3:24 PM

Apr 9 2018

chh created D45454: Add llvm_gcov_flush to be called outside a shared library.
Apr 9 2018, 1:45 PM

Mar 26 2018

chh accepted D44852: [CodeGen] Mark fma as const for Android.
Mar 26 2018, 9:19 AM

Mar 1 2018

chh committed rC326499: [Driver] Pass -f[no-]emulated-tls and set up ExplicitEmulatedTLS.
[Driver] Pass -f[no-]emulated-tls and set up ExplicitEmulatedTLS
Mar 1 2018, 2:28 PM
chh committed rL326499: [Driver] Pass -f[no-]emulated-tls and set up ExplicitEmulatedTLS.
[Driver] Pass -f[no-]emulated-tls and set up ExplicitEmulatedTLS
Mar 1 2018, 2:28 PM
chh closed D43965: [Driver] Pass -f[no-]emulated-tls and set up ExplicitEmulatedTLS.
Mar 1 2018, 2:28 PM
chh added a comment to D43965: [Driver] Pass -f[no-]emulated-tls and set up ExplicitEmulatedTLS.

Martin, thanks for finding this problem.
Please review/accept my new change if it passes your tests.
After this and D42999, the default emulated TLS mode should only be decided in
llvm/trunk/include/llvm/ADT/Triple.h hasDefaultEmulatedTLS().

Mar 1 2018, 2:12 PM
chh added a comment to D42999: [TLS] use emulated TLS if the target supports only this mode.

The clang driver will be fixed in https://reviews.llvm.org/D43965

Mar 1 2018, 2:08 PM
chh updated subscribers of D43965: [Driver] Pass -f[no-]emulated-tls and set up ExplicitEmulatedTLS.
Mar 1 2018, 2:08 PM
chh updated the diff for D43965: [Driver] Pass -f[no-]emulated-tls and set up ExplicitEmulatedTLS.
Mar 1 2018, 2:03 PM
chh commandeered D43965: [Driver] Pass -f[no-]emulated-tls and set up ExplicitEmulatedTLS.

I will upload a different fix soon.
We should set ExplicitEmulatedTLS only when -f[no-]emulated-tls flag is found at command line.
Any front-end should only pass the flag and let backend decide the default based on target.

Mar 1 2018, 1:41 PM

Feb 28 2018

chh committed rL326341: [TLS] use emulated TLS if the target supports only this mode.
[TLS] use emulated TLS if the target supports only this mode
Feb 28 2018, 10:53 AM
chh closed D42999: [TLS] use emulated TLS if the target supports only this mode.
Feb 28 2018, 10:53 AM

Feb 27 2018

chh added a comment to D41693: [ARM][NFC] Avoid recreating MCSubtargetInfo in ARMAsmBackend.

This change produced a new error with LTO and AOSP ARM thumb code.
Please see a reduced test case at https://bugs.llvm.org/show_bug.cgi?id=36542

Feb 27 2018, 12:17 PM

Feb 26 2018

chh added a comment to D42999: [TLS] use emulated TLS if the target supports only this mode.

ping.

Feb 26 2018, 9:25 AM

Feb 13 2018

chh updated the diff for D42999: [TLS] use emulated TLS if the target supports only this mode.
Feb 13 2018, 10:22 AM

Feb 12 2018

chh added a comment to D42999: [TLS] use emulated TLS if the target supports only this mode.

ping.

Feb 12 2018, 10:18 AM

Feb 7 2018

chh updated the diff for D42999: [TLS] use emulated TLS if the target supports only this mode.

I don't think -fno-emulated-tls is used anywhere yet.
I should have not allowed that flag.
My original idea was to have only -femulated-tls for
targets like Android.

Feb 7 2018, 2:43 PM

Feb 6 2018

chh added a reviewer for D42999: [TLS] use emulated TLS if the target supports only this mode: chapuni.
Feb 6 2018, 6:07 PM
chh updated subscribers of D42999: [TLS] use emulated TLS if the target supports only this mode.
Feb 6 2018, 6:04 PM
chh created D42999: [TLS] use emulated TLS if the target supports only this mode.
Feb 6 2018, 6:04 PM

Jan 31 2018

chh committed rL323898: [Analysis] Disable calls to *_finite and other glibc-only functions on Android..
[Analysis] Disable calls to *_finite and other glibc-only functions on Android.
Jan 31 2018, 11:15 AM
chh closed D42668: [Analysis] Disable calls to *_finite and other glibc-only functions on Android..
Jan 31 2018, 11:15 AM
chh updated the diff for D42668: [Analysis] Disable calls to *_finite and other glibc-only functions on Android..
Jan 31 2018, 10:29 AM

Jan 30 2018

chh added inline comments to D42668: [Analysis] Disable calls to *_finite and other glibc-only functions on Android..
Jan 30 2018, 6:42 PM
chh added inline comments to D42668: [Analysis] Disable calls to *_finite and other glibc-only functions on Android..
Jan 30 2018, 3:30 PM
chh updated the diff for D42668: [Analysis] Disable calls to *_finite and other glibc-only functions on Android..
Jan 30 2018, 3:29 PM

Jan 29 2018

chh created D42668: [Analysis] Disable calls to *_finite and other glibc-only functions on Android..
Jan 29 2018, 3:43 PM

Jan 25 2018

chh added a comment to D41335: [InlineFunction] Inline vararg functions that do not access varargs..

Hi, I am trying to build Android with clang 7.0.
This change generates wrong inlined sprintf because Android bionic
used fortified version wrapper with attribute((always_inline)).

Jan 25 2018, 12:40 PM

Oct 30 2017

chh added reviewers for D39313: Handle x86 feature specific alignment of __builtin_alloca.: srhines, danalbert.
Oct 30 2017, 10:09 AM · Restricted Project

Oct 11 2017

chh added a comment to D38771: [x86] avoid infinite loop from SoftenFloatOperand (PR34866).

This change LGTM.
I added more comments in https://bugs.llvm.org/show_bug.cgi?id=34866.

Oct 11 2017, 10:22 AM

Sep 26 2017

chh committed rL314264: [clang-format] Adjust space around &/&& of structured bindings.
[clang-format] Adjust space around &/&& of structured bindings
Sep 26 2017, 6:00 PM
chh closed D35743: [clang-format] Adjust space around &/&& of structured bindings by committing rL314264: [clang-format] Adjust space around &/&& of structured bindings.
Sep 26 2017, 6:00 PM · Restricted Project

Sep 25 2017

chh added a comment to D35743: [clang-format] Adjust space around &/&& of structured bindings.

ping.

Sep 25 2017, 11:46 AM · Restricted Project

Sep 21 2017

chh updated the summary of D35743: [clang-format] Adjust space around &/&& of structured bindings.
Sep 21 2017, 9:12 AM · Restricted Project
chh updated the diff for D35743: [clang-format] Adjust space around &/&& of structured bindings.
Sep 21 2017, 9:11 AM · Restricted Project

Sep 20 2017

chh updated the diff for D35743: [clang-format] Adjust space around &/&& of structured bindings.
Sep 20 2017, 3:23 PM · Restricted Project

Sep 18 2017

chh added a comment to D37132: [clang-format] Add support for C++17 structured bindings..

Please review https://reviews.llvm.org/D35743.
I uploaded there a new diff that should fix the spaces around & and && tokens.
Thanks.

Sep 18 2017, 4:02 PM
chh added a reviewer for D35743: [clang-format] Adjust space around &/&& of structured bindings: curdeius.
Sep 18 2017, 4:00 PM · Restricted Project
chh updated the diff for D35743: [clang-format] Adjust space around &/&& of structured bindings.
Sep 18 2017, 3:57 PM · Restricted Project
chh retitled D35743: [clang-format] Adjust space around &/&& of structured bindings from [clang-format] Handle Structured binding declaration in C++17 to [clang-format] Adjust space around &/&& of structured bindings.
Sep 18 2017, 3:56 PM · Restricted Project
chh commandeered D35743: [clang-format] Adjust space around &/&& of structured bindings.
Sep 18 2017, 3:53 PM · Restricted Project

Sep 15 2017

chh added a comment to D37132: [clang-format] Add support for C++17 structured bindings..

Thanks for this change.
Could you take a look of https://reviews.llvm.org/D35743 too?

Sep 15 2017, 2:36 PM
chh added a comment to D35743: [clang-format] Adjust space around &/&& of structured bindings.

ping.

Sep 15 2017, 9:44 AM · Restricted Project

Sep 6 2017

chh added a reviewer for D37365: [x86] Enable f128 as a legal type in 64-bit mode if SSE is enabled rather than if MMX is enabled.: chh.
Sep 6 2017, 12:00 PM
chh removed a reviewer for D37365: [x86] Enable f128 as a legal type in 64-bit mode if SSE is enabled rather than if MMX is enabled.: chh.
Sep 6 2017, 11:59 AM
chh resigned from D37365: [x86] Enable f128 as a legal type in 64-bit mode if SSE is enabled rather than if MMX is enabled..

My original change in lib/Target/X86/X86ISelLowering.cpp
was part of https://reviews.llvm.org/D15134 to fix
calling convention bug of f128 type mentioned in
https://bugs.llvm.org/show_bug.cgi?id=23897.

Sep 6 2017, 11:56 AM

Sep 5 2017

chh added a comment to D37365: [x86] Enable f128 as a legal type in 64-bit mode if SSE is enabled rather than if MMX is enabled..

Okay, I see the change in extract_store.ll now.
The checks were not reduced.
The test mode +mmx was changed to +sse,
and expected output of +sse2, +sse4.1, +avx were changed.

Sep 5 2017, 4:04 PM

Sep 1 2017

chh requested changes to D37365: [x86] Enable f128 as a legal type in 64-bit mode if SSE is enabled rather than if MMX is enabled..

I cannot get clang to crash with "clang -c -mno-mmx" and the given example.
Maybe I missed something?

Sep 1 2017, 6:33 PM

Aug 16 2017

chh committed rL311040: [clang-tidy] Remove unused static variable..
[clang-tidy] Remove unused static variable.
Aug 16 2017, 2:02 PM
chh committed rL311035: [clang-tidy] Use const char* to compile with VC cl.exe..
[clang-tidy] Use const char* to compile with VC cl.exe.
Aug 16 2017, 12:14 PM
chh added inline comments to D35367: [clang-tidy] Add a close-on-exec check on epoll_create() in Android module..
Aug 16 2017, 11:04 AM · Restricted Project
chh committed rL311029: [clang-tidy] Add a close-on-exec check on epoll_create() in Android module..
[clang-tidy] Add a close-on-exec check on epoll_create() in Android module.
Aug 16 2017, 11:03 AM
chh closed D35367: [clang-tidy] Add a close-on-exec check on epoll_create() in Android module. by committing rL311029: [clang-tidy] Add a close-on-exec check on epoll_create() in Android module..
Aug 16 2017, 11:03 AM · Restricted Project
chh committed rL311028: [clang-tidy] Add a close-on-exec check on epoll_create1() in Android module..
[clang-tidy] Add a close-on-exec check on epoll_create1() in Android module.
Aug 16 2017, 10:54 AM