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 (375 w, 4 d)

Recent Activity

Aug 18 2021

chh updated the diff for D107323: [clang-tidy] Add skip-headers; use skipLocation and setTraversalScope.

fix windows test failure

Aug 18 2021, 2:55 PM · Restricted Project
chh updated the diff for D98709: [clang-tidy] New feature --skip-headers, part 1, LocationFilter.

fix windows test failure

Aug 18 2021, 2:54 PM · Restricted Project

Aug 17 2021

chh updated the diff for D107323: [clang-tidy] Add skip-headers; use skipLocation and setTraversalScope.

Factor out LocationFilter; improve more tests.

Aug 17 2021, 11:09 PM · Restricted Project
chh updated the diff for D98709: [clang-tidy] New feature --skip-headers, part 1, LocationFilter.

Factor out LocationFilter; improve more test cases.

Aug 17 2021, 11:05 PM · Restricted Project

Aug 2 2021

chh requested review of D107323: [clang-tidy] Add skip-headers; use skipLocation and setTraversalScope.
Aug 2 2021, 9:15 PM · Restricted Project

Jul 29 2021

chh added a comment to D98709: [clang-tidy] New feature --skip-headers, part 1, LocationFilter.

This is enhanced implementation over D98710, to handle the new found failed test cases.

Jul 29 2021, 6:31 PM · Restricted Project
chh added reviewers for D98709: [clang-tidy] New feature --skip-headers, part 1, LocationFilter: sammccall, alexfh, srhines, aaron.ballman, hokein.
Jul 29 2021, 6:30 PM · Restricted Project
chh updated the diff for D98710: [clang-tidy] New feature --skip-headers, part 1, setTraversalScope.

sync to the latest source; apply clang-format; add new skip-headers-4.cpp test

Jul 29 2021, 3:38 AM · Restricted Project
chh updated the diff for D98709: [clang-tidy] New feature --skip-headers, part 1, LocationFilter.

sync to the latest source; apply clang-format; add new skip-headers-4.cpp test;
skip modernize-use-nullptr warnings in header files in UseNullptrCheck.cpp

Jul 29 2021, 3:37 AM · Restricted Project

Jul 27 2021

chh updated the diff for D98709: [clang-tidy] New feature --skip-headers, part 1, LocationFilter.

apply clang-format

Jul 27 2021, 7:09 PM · Restricted Project
chh updated the diff for D98710: [clang-tidy] New feature --skip-headers, part 1, setTraversalScope.

Add new test cases into misc-unused-using-decls.cpp.

Jul 27 2021, 5:14 PM · Restricted Project
chh updated the diff for D98709: [clang-tidy] New feature --skip-headers, part 1, LocationFilter.
  • Use clang-format layout in ClangTidy.cpp and ClangTidyModule.h.
  • Fix misc-unused-using-decls false-positive warning from --skip-headers.
    • UnusedUsingDeclsCheck is now registered as an AllFileCheck.
    • Add new test cases into misc-unused-using-decls.cpp.
Jul 27 2021, 4:15 PM · Restricted Project

Jul 26 2021

chh updated the diff for D98710: [clang-tidy] New feature --skip-headers, part 1, setTraversalScope.

add skip-headers-3.cpp test to show that checking only Decl locations is not enough to skip some warnings in header files

Jul 26 2021, 6:00 PM · Restricted Project
chh updated the diff for D98709: [clang-tidy] New feature --skip-headers, part 1, LocationFilter.

add skip-headers-3.cpp test to show that checking only Decl locations is not enough to skip some warnings in header files

Jul 26 2021, 6:00 PM · Restricted Project

Jul 23 2021

chh updated the diff for D98709: [clang-tidy] New feature --skip-headers, part 1, LocationFilter.

Add an AllFileFinder for checks that need to match all source files.
ForwardDeclarationNamespaceCheck is registered as an AllFileCheck,

Jul 23 2021, 12:17 PM · Restricted Project

Jul 22 2021

chh added a comment to D98710: [clang-tidy] New feature --skip-headers, part 1, setTraversalScope.

Some Android developers and legacy code care less about clang-tidy warnings.
Newer developers spend a lot of time to get lint-free new code.
So Android source tree has a lot of clang-tidy flags like
header-filter, checks, and warnings-as-errors to select checks
for different modules. People are even asking for new features like
making header-filter to accept a list of regexp like the checks flag.

Jul 22 2021, 3:37 PM · Restricted Project

Jul 21 2021

chh updated the diff for D106516: to run test only.
Jul 21 2021, 8:13 PM · Restricted Project
chh requested review of D106516: to run test only.
Jul 21 2021, 6:43 PM · Restricted Project
chh updated the diff for D98710: [clang-tidy] New feature --skip-headers, part 1, setTraversalScope.

Add one more skip-headers-2.cpp test, which shows desired check at a top-level Decl but not at nested Decl. Checking locations of only top-level Decls will miss the opportunity to skip nested Decls.

Jul 21 2021, 5:06 PM · Restricted Project
chh updated the diff for D98709: [clang-tidy] New feature --skip-headers, part 1, LocationFilter.

Add one more skip-headers-2.cpp test.

Jul 21 2021, 5:01 PM · Restricted Project

Jul 20 2021

chh updated the diff for D98710: [clang-tidy] New feature --skip-headers, part 1, setTraversalScope.

Add bugprone-forward-declaration-namespace-header.cpp test to
show that MatchFinder-based checks can also depend on header Decls.

Jul 20 2021, 6:42 PM · Restricted Project
chh updated the diff for D98709: [clang-tidy] New feature --skip-headers, part 1, LocationFilter.

Add bugprone-forward-declaration-namespace-header.cpp test; fix some coding style warnings.

Jul 20 2021, 6:39 PM · Restricted Project

Jul 19 2021

chh added a comment to D98710: [clang-tidy] New feature --skip-headers, part 1, setTraversalScope.

The latest tested change contained one of your suggestions:

using setTraversalScope for all consumers in the
ClangTidyASTConsumer::HandleTranslationUnit

It is good to pass all existing tests,
although not a proof of correctness yet.

Jul 19 2021, 6:12 PM · Restricted Project

Jul 16 2021

chh updated the diff for D98710: [clang-tidy] New feature --skip-headers, part 1, setTraversalScope.

--skip-headers is set to false by default;
many tidy tests runs are augmented with explicit --skip-headers or --skip-headers=0
to test this feature as on or off.

Jul 16 2021, 10:45 PM · Restricted Project
chh updated the diff for D98709: [clang-tidy] New feature --skip-headers, part 1, LocationFilter.

--skip-headers is set to false by default;
many tidy tests runs are augmented with explicit --skip-headers or --skip-headers=0
to test this feature as on or off.

Jul 16 2021, 10:43 PM · Restricted Project
chh updated the diff for D98710: [clang-tidy] New feature --skip-headers, part 1, setTraversalScope.

to test skip-headers as default, do not submit;
show that setTraversalScope failed some static analyzer checks,
see #if 0 comments in ClangTidy.cpp.

Jul 16 2021, 6:04 PM · Restricted Project
chh updated the diff for D98709: [clang-tidy] New feature --skip-headers, part 1, LocationFilter.

only coding style changes in clang-tidy files, to match other alternative implementation

Jul 16 2021, 3:18 PM · Restricted Project
chh updated the diff for D98709: [clang-tidy] New feature --skip-headers, part 1, LocationFilter.

sync with latest source, update more tests to test skip-headers as default

Jul 16 2021, 3:22 AM · Restricted Project

Jul 12 2021

chh added a comment to D98710: [clang-tidy] New feature --skip-headers, part 1, setTraversalScope.

Sam, the revision summary is updated. Could you review it again?

Jul 12 2021, 11:11 PM · Restricted Project
chh retitled D98710: [clang-tidy] New feature --skip-headers, part 1, setTraversalScope from [clang-tidy] Add --skip-headers, part 1 (use setTraversalScope) to [clang-tidy] New feature --skip-headers, part 1.
Jul 12 2021, 10:33 PM · Restricted Project

Jul 11 2021

chh added inline comments to D98710: [clang-tidy] New feature --skip-headers, part 1, setTraversalScope.
Jul 11 2021, 6:56 PM · Restricted Project
chh updated the diff for D98710: [clang-tidy] New feature --skip-headers, part 1, setTraversalScope.

sync up latest clang/llvm source; more format/style changes

Jul 11 2021, 6:53 PM · Restricted Project

Jul 5 2021

chh updated the diff for D98710: [clang-tidy] New feature --skip-headers, part 1, setTraversalScope.

No more change to or derivation from MatchFinder, but override two member functions in MultiplexConsumer.

Jul 5 2021, 7:41 PM · Restricted Project

Jul 2 2021

chh updated the diff for D98710: [clang-tidy] New feature --skip-headers, part 1, setTraversalScope.

fix clang-format coding style issue

Jul 2 2021, 10:11 PM · Restricted Project
chh updated the diff for D98710: [clang-tidy] New feature --skip-headers, part 1, setTraversalScope.

fix clang-format name style issue

Jul 2 2021, 9:36 PM · Restricted Project
chh added a comment to D98710: [clang-tidy] New feature --skip-headers, part 1, setTraversalScope.

Last build tests were green. Let's see if the new updated diff still passes all the tests.

Jul 2 2021, 6:58 PM · Restricted Project
chh updated the diff for D98710: [clang-tidy] New feature --skip-headers, part 1, setTraversalScope.
Jul 2 2021, 6:39 PM · Restricted Project

Jul 1 2021

chh updated the diff for D98710: [clang-tidy] New feature --skip-headers, part 1, setTraversalScope.

with clang-format suggested change

Jul 1 2021, 4:12 AM · Restricted Project

Jun 30 2021

chh added a comment to D98710: [clang-tidy] New feature --skip-headers, part 1, setTraversalScope.

I reproduced the ClangdTests::TargetDeclTest.Concept failure locally without this change,
using llvm git commit 0c400e8953. Will wait for upstream fix of the failed tests.

Jun 30 2021, 4:36 PM · Restricted Project
chh updated the diff for D98710: [clang-tidy] New feature --skip-headers, part 1, setTraversalScope.

Move almost all changes to MatchFinder into ClangTidy.cpp.

Jun 30 2021, 3:12 PM · Restricted Project

Jun 27 2021

chh added inline comments to D98710: [clang-tidy] New feature --skip-headers, part 1, setTraversalScope.
Jun 27 2021, 3:01 AM · Restricted Project
chh updated the diff for D98710: [clang-tidy] New feature --skip-headers, part 1, setTraversalScope.

update some comments and sync again with the latest clang/llvm source

Jun 27 2021, 2:59 AM · Restricted Project

Jun 19 2021

chh added inline comments to D98710: [clang-tidy] New feature --skip-headers, part 1, setTraversalScope.
Jun 19 2021, 11:29 PM · Restricted Project
chh updated the diff for D98710: [clang-tidy] New feature --skip-headers, part 1, setTraversalScope.

Sync up; moved DeclFilter to ClangTidy.cpp.

Jun 19 2021, 11:27 PM · Restricted Project

Jun 16 2021

chh added a comment to D98710: [clang-tidy] New feature --skip-headers, part 1, setTraversalScope.

Friendly ping reviewers. Now this change can pass all clang-tidy tests.
Please feel free to comment and/or add other reviewers. Thanks.

Jun 16 2021, 7:00 PM · Restricted Project

Jun 11 2021

chh added a comment to D98618: [clang-tidy] Add --skip-headers, part 1 (with TopLevelDecl bit).

Please review https://reviews.llvm.org/D98710, which uses get/setTraversalScope instead of adding a TopLevelDecl bit.

Jun 11 2021, 8:01 PM · Restricted Project
chh retitled D98710: [clang-tidy] New feature --skip-headers, part 1, setTraversalScope from [clang-tidy] Add --skip-headers, part 1 to [clang-tidy] Add --skip-headers, part 1 (use setTraversalScope).
Jun 11 2021, 7:58 PM · Restricted Project
chh retitled D98618: [clang-tidy] Add --skip-headers, part 1 (with TopLevelDecl bit) from [clang-tidy] Add --skip-headers, part 1 to [clang-tidy] Add --skip-headers, part 1 (with TopLevelDecl bit).
Jun 11 2021, 7:56 PM · Restricted Project
chh updated the diff for D98709: [clang-tidy] New feature --skip-headers, part 1, LocationFilter.

sync with latest clang/llvm

Jun 11 2021, 6:40 PM · Restricted Project
chh updated the diff for D98710: [clang-tidy] New feature --skip-headers, part 1, setTraversalScope.

sync with latest clang/llvm

Jun 11 2021, 6:36 PM · Restricted Project
chh updated the diff for D98618: [clang-tidy] Add --skip-headers, part 1 (with TopLevelDecl bit).

sync with latest clang/llvm

Jun 11 2021, 6:32 PM · Restricted Project

Apr 20 2021

chh updated the diff for D98618: [clang-tidy] Add --skip-headers, part 1 (with TopLevelDecl bit).

hide the --show-all-warnings flag from --help

Apr 20 2021, 6:15 PM · Restricted Project
chh updated the diff for D98710: [clang-tidy] New feature --skip-headers, part 1, setTraversalScope.

hide the --show-all-warnings flag from --help

Apr 20 2021, 6:13 PM · Restricted Project
chh updated the diff for D98709: [clang-tidy] New feature --skip-headers, part 1, LocationFilter.

hide the --show-all-warnings flag from --help

Apr 20 2021, 6:12 PM · Restricted Project

Mar 16 2021

chh requested review of D98710: [clang-tidy] New feature --skip-headers, part 1, setTraversalScope.
Mar 16 2021, 7:28 AM · Restricted Project
chh requested review of D98709: [clang-tidy] New feature --skip-headers, part 1, LocationFilter.
Mar 16 2021, 7:22 AM · Restricted Project

Mar 15 2021

chh updated the diff for D98618: [clang-tidy] Add --skip-headers, part 1 (with TopLevelDecl bit).

fix windows test failures

Mar 15 2021, 10:03 PM · Restricted Project
chh added a comment to D98618: [clang-tidy] Add --skip-headers, part 1 (with TopLevelDecl bit).

Here are some important sections copied from my design docs.
This patch presents only one of the simplest working implementation I have tried.
I hope it would serve as a good baseline to compare any alternatives.

Mar 15 2021, 4:14 PM · Restricted Project
chh added inline comments to D98618: [clang-tidy] Add --skip-headers, part 1 (with TopLevelDecl bit).
Mar 15 2021, 3:50 PM · Restricted Project
chh added a comment to D98618: [clang-tidy] Add --skip-headers, part 1 (with TopLevelDecl bit).

Can I ask what is the purpose of --skip-headers?
What does it offer that --header-filter doesn't already offer?

TL;DR: it avoids traversing a bunch of nodes where diagnostics will be filtered out anyway, thus running significantly faster.

@chh You're written quite a lot about the design of this, can you make this public please?

Mar 15 2021, 3:41 PM · Restricted Project
chh updated the diff for D98618: [clang-tidy] Add --skip-headers, part 1 (with TopLevelDecl bit).
Mar 15 2021, 3:22 PM · Restricted Project

Mar 14 2021

chh updated the summary of D98618: [clang-tidy] Add --skip-headers, part 1 (with TopLevelDecl bit).
Mar 14 2021, 11:28 PM · Restricted Project
chh added reviewers for D98618: [clang-tidy] Add --skip-headers, part 1 (with TopLevelDecl bit): alexfh, srhines, sammccall.
Mar 14 2021, 11:23 PM · Restricted Project
chh retitled D98618: [clang-tidy] Add --skip-headers, part 1 (with TopLevelDecl bit) from Add --skip-headers, part 1 to [clang-tidy] Add --skip-headers, part 1.
Mar 14 2021, 11:16 PM · Restricted Project
chh requested review of D98618: [clang-tidy] Add --skip-headers, part 1 (with TopLevelDecl bit).
Mar 14 2021, 11:14 PM · Restricted Project

Sep 11 2019

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

Sep 10 2019

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.

Sep 10 2019, 10:54 AM · Restricted Project

Sep 6 2019

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.

Sep 6 2019, 11:03 AM · Restricted Project

Sep 4 2019

chh updated subscribers of D67128: [X86] Move x86_64 fp128 conversion to libcalls from type legalization to DAG legalization.
Sep 4 2019, 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.

Sep 4 2019, 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