Page MenuHomePhabricator

zequanwu (Zequan Wu)
User

Projects

User does not belong to any projects.

User Details

User Since
Mar 31 2020, 4:54 PM (63 w, 3 d)

Recent Activity

Wed, Jun 16

zequanwu added a comment to D104272: [OpaquePtr] Mangle intrinsics with opaque pointers arguments.

I couldn't parse your comment, could you rephrase?

Oh, I just went and looked more - and now I see that the mangled parameter types are . separated, so the ambiguities I thought could occur (is p0i8 an opaque pointer followed by an i8 or a typed pointer-to-i8? Not actually ambiguous, because opaque pointer followed by i8 would be p0.i8 instead).

Carry on!

Wed, Jun 16, 1:56 PM · Restricted Project

Tue, Jun 15

zequanwu added a comment to D104272: [OpaquePtr] Mangle intrinsics with opaque pointers arguments.

The patch looks mostly good, but I'm not sold on "op". Can we just use "p"?

Presumably then we wouldn't know whether to parse a type after the address space or not? Unless we only support this when everything is opaque pointers? (so there can be no confusion between opaque pointers or not)

Tue, Jun 15, 4:20 PM · Restricted Project
zequanwu updated the diff for D104272: [OpaquePtr] Mangle intrinsics with opaque pointers arguments.

update.

Tue, Jun 15, 4:06 PM · Restricted Project
zequanwu updated the diff for D104272: [OpaquePtr] Mangle intrinsics with opaque pointers arguments.

Address comment.

Tue, Jun 15, 4:05 PM · Restricted Project
zequanwu updated the diff for D104272: [OpaquePtr] Mangle intrinsics with opaque pointers arguments.

Rebase.

Tue, Jun 15, 3:00 PM · Restricted Project
zequanwu committed rGfad8d4230ff7: [OpaquePtr] Verify Opaque pointer in function parameter (authored by zequanwu).
[OpaquePtr] Verify Opaque pointer in function parameter
Tue, Jun 15, 2:58 PM
zequanwu closed D104309: [OpaquePtr] Verify Opaque pointer in function parameter.
Tue, Jun 15, 2:57 PM · Restricted Project
zequanwu updated the diff for D104309: [OpaquePtr] Verify Opaque pointer in function parameter.

Update.

Tue, Jun 15, 2:44 PM · Restricted Project
zequanwu updated the diff for D104309: [OpaquePtr] Verify Opaque pointer in function parameter.

Update.

Tue, Jun 15, 11:55 AM · Restricted Project
zequanwu requested review of D104309: [OpaquePtr] Verify Opaque pointer in function parameter.
Tue, Jun 15, 10:01 AM · Restricted Project

Mon, Jun 14

zequanwu updated the summary of D104272: [OpaquePtr] Mangle intrinsics with opaque pointers arguments.
Mon, Jun 14, 4:00 PM · Restricted Project
zequanwu updated the diff for D104272: [OpaquePtr] Mangle intrinsics with opaque pointers arguments.

Add a test case.

Mon, Jun 14, 3:59 PM · Restricted Project
zequanwu requested review of D104272: [OpaquePtr] Mangle intrinsics with opaque pointers arguments.
Mon, Jun 14, 3:05 PM · Restricted Project

Fri, Jun 11

zequanwu abandoned D99695: [llvm-cov] Use -path-equivalence to support relative path..
Fri, Jun 11, 1:45 PM · Restricted Project

Thu, May 27

zequanwu committed rG59b8afe50274: [clang-cl] Bump default -fms-compatibility-version to 19.14 (authored by zequanwu).
[clang-cl] Bump default -fms-compatibility-version to 19.14
Thu, May 27, 8:41 PM
zequanwu closed D103293: [clang-cl] Bump default -fms-compatibility-version to 19.14.
Thu, May 27, 8:41 PM · Restricted Project
zequanwu updated the diff for D103293: [clang-cl] Bump default -fms-compatibility-version to 19.14.

address comment

Thu, May 27, 8:40 PM · Restricted Project
zequanwu requested review of D103293: [clang-cl] Bump default -fms-compatibility-version to 19.14.
Thu, May 27, 4:39 PM · Restricted Project

May 11 2021

zequanwu added a comment to D100232: [Coverage] Support overriding compilation directory.

Any update? Do you plan to land those two patches?

May 11 2021, 11:45 AM · Restricted Project

Apr 29 2021

zequanwu added a reverting change for rGa78fa73bcf98: Revert "[lld-link] Enable addrsig table in COFF lto": rG6b30240288fc: Reland "[lld-link] Enable addrsig table in COFF lto".
Apr 29 2021, 3:54 PM
zequanwu committed rG6b30240288fc: Reland "[lld-link] Enable addrsig table in COFF lto" (authored by zequanwu).
Reland "[lld-link] Enable addrsig table in COFF lto"
Apr 29 2021, 3:54 PM
zequanwu committed rGcab48e2f0e00: [CodeGen] don't emit addrsig symbol if it's used only by metadata (authored by zequanwu).
[CodeGen] don't emit addrsig symbol if it's used only by metadata
Apr 29 2021, 3:40 PM
zequanwu closed D101512: [CodeGen] don't emit addrsig symbol if it's used only by metadata.
Apr 29 2021, 3:40 PM · Restricted Project
zequanwu updated the diff for D101512: [CodeGen] don't emit addrsig symbol if it's used only by metadata.

Refactor.

Apr 29 2021, 3:39 PM · Restricted Project
zequanwu updated the diff for D101512: [CodeGen] don't emit addrsig symbol if it's used only by metadata.

Address comment.

Apr 29 2021, 2:44 PM · Restricted Project
zequanwu added inline comments to D101512: [CodeGen] don't emit addrsig symbol if it's used only by metadata.
Apr 29 2021, 2:20 PM · Restricted Project

Apr 28 2021

zequanwu abandoned D100994: [MC] Set addrsig symbol as weak/weakExternal.
Apr 28 2021, 9:42 PM · Restricted Project
zequanwu requested review of D101512: [CodeGen] don't emit addrsig symbol if it's used only by metadata.
Apr 28 2021, 9:42 PM · Restricted Project

Apr 22 2021

zequanwu accepted D100232: [Coverage] Support overriding compilation directory.

lgtm.

Apr 22 2021, 3:16 PM · Restricted Project

Apr 21 2021

zequanwu abandoned D100966: [lld-link] Ignore undefined symbols in .addrsig table.

This is not correct. A symbol marked by .addrsig_sym can be referenced via normal means. With this patch, the diagnostic may change from error: undefined symbol: bar to error: relocation against symbol in discarded section: bar

Apr 21 2021, 1:13 PM · Restricted Project
zequanwu requested review of D100994: [MC] Set addrsig symbol as weak/weakExternal.
Apr 21 2021, 1:13 PM · Restricted Project
zequanwu requested review of D100966: [lld-link] Ignore undefined symbols in .addrsig table.
Apr 21 2021, 9:17 AM · Restricted Project

Apr 20 2021

zequanwu committed rGaa80955f638f: [lld-link] Warn on exported deleting dtor (authored by zequanwu).
[lld-link] Warn on exported deleting dtor
Apr 20 2021, 2:07 PM
zequanwu closed D100606: [lld-link] Warn on exported deleting dtor.
Apr 20 2021, 2:06 PM · Restricted Project
zequanwu removed a reviewer for D100535: [llvm-cov] Support for v4 format in convert-for-testing: zequanwu.

Sorry, I'm not familiar with the format of coverage mapping.

Apr 20 2021, 10:24 AM · Restricted Project

Apr 19 2021

zequanwu updated the diff for D100606: [lld-link] Warn on exported deleting dtor.
  • Check e.sym for null. If the flag /export=foo is provided and foo is not in the object file. e.sym will be null.
  • Remove $ in exported name to have same name on windows and linux.
Apr 19 2021, 3:27 PM · Restricted Project
zequanwu committed rGe28435caf63b: [ThinLTO] Copy UnnamedAddr when spliting module. (authored by zequanwu).
[ThinLTO] Copy UnnamedAddr when spliting module.
Apr 19 2021, 2:05 PM
zequanwu closed D100498: [ThinLTO] Copy UnnamedAddr when spliting module..
Apr 19 2021, 2:05 PM · Restricted Project
zequanwu updated the diff for D100498: [ThinLTO] Copy UnnamedAddr when spliting module..

update and tested to build chrome.

Apr 19 2021, 2:03 PM · Restricted Project

Apr 16 2021

zequanwu updated the diff for D100606: [lld-link] Warn on exported deleting dtor.

Update testcase.

Apr 16 2021, 7:05 PM · Restricted Project

Apr 15 2021

zequanwu requested review of D100606: [lld-link] Warn on exported deleting dtor.
Apr 15 2021, 4:25 PM · Restricted Project

Apr 14 2021

zequanwu updated the diff for D100498: [ThinLTO] Copy UnnamedAddr when spliting module..
  • Copy function attributes and remove ret/param attributes.
  • Add a test case.
Apr 14 2021, 6:29 PM · Restricted Project
zequanwu added a comment to D100498: [ThinLTO] Copy UnnamedAddr when spliting module..
Apr 14 2021, 3:51 PM · Restricted Project
zequanwu updated the summary of D100498: [ThinLTO] Copy UnnamedAddr when spliting module..
Apr 14 2021, 11:30 AM · Restricted Project
zequanwu requested review of D100498: [ThinLTO] Copy UnnamedAddr when spliting module..
Apr 14 2021, 11:27 AM · Restricted Project

Apr 9 2021

zequanwu added a comment to D100232: [Coverage] Support overriding compilation directory.

Can you add a test case for the llvm-cov new flag? Otherwise looks good to me.

Apr 9 2021, 3:46 PM · Restricted Project

Apr 2 2021

zequanwu added a comment to D99695: [llvm-cov] Use -path-equivalence to support relative path..
In D99695#2664701, @vsk wrote:

I think then you would somehow need multiple -compilation-dir options if e.g. you have paths with different levels of ../ nesting, e.g. ../../foo.c and ../../../../bar.c. That sounds like it could become hard to manage.

In RawCoverageFilenamesReader::readUncompressed, we do:

SmallString<256> P(CWD);
llvm::sys::path::append(P, Filename);

Can this just be turned into an absolute path?

The flag would override the compilation dir that's stored inside the profile (the 0th path entry) so there should be just one. In that code snippet, it means overriding CWD.

Apr 2 2021, 5:28 PM · Restricted Project

Apr 1 2021

zequanwu added a comment to D99695: [llvm-cov] Use -path-equivalence to support relative path..
In D99695#2664701, @vsk wrote:

I think then you would somehow need multiple -compilation-dir options if e.g. you have paths with different levels of ../ nesting, e.g. ../../foo.c and ../../../../bar.c. That sounds like it could become hard to manage.

This case is hard to manage. This patch would only handle case that all paths have same level of ../.

Apr 1 2021, 12:30 PM · Restricted Project
zequanwu added a comment to D99695: [llvm-cov] Use -path-equivalence to support relative path..
In D99695#2664545, @vsk wrote:

For example, if we have /tmp/src/a.cpp embedded in the binary, llvm-cov show -path-equivalence=/tmp/src/,/cov ... will generate output direcotry like this: coverage/cov/a.cpp.

What happens if the binary has a relative path '../../a.cpp' embedded and the user passes -path-equivalence=/tmp/src/,/cov to llvm-cov? Is a.cpp written to <coverage-dir>/cov/../../a.cpp?

In this case, ../../ is not matching /tmp/src. So, it's like -path-equivalence is not given. llvm-cov will lookup a.cpp in ../../ relative to current working directory.

Apr 1 2021, 11:51 AM · Restricted Project

Mar 31 2021

zequanwu requested review of D99695: [llvm-cov] Use -path-equivalence to support relative path..
Mar 31 2021, 5:20 PM · Restricted Project

Mar 30 2021

zequanwu committed rGeabd55b1b2c5: [lld-link] Enable addrsig table in COFF lto (authored by zequanwu).
[lld-link] Enable addrsig table in COFF lto
Mar 30 2021, 4:02 PM
zequanwu closed D99613: [lld-link] Enable addrsig table in COFF lto.
Mar 30 2021, 4:02 PM · Restricted Project
zequanwu abandoned D98463: [IR] Add significant_addr property..
Mar 30 2021, 11:04 AM · Restricted Project
zequanwu requested review of D99613: [lld-link] Enable addrsig table in COFF lto.
Mar 30 2021, 11:04 AM · Restricted Project

Mar 24 2021

zequanwu committed rGdd388ba3e0b0: [llvm-cov] Check path emptyness in path-equivalence after removing dots. (authored by zequanwu).
[llvm-cov] Check path emptyness in path-equivalence after removing dots.
Mar 24 2021, 5:55 PM

Mar 23 2021

zequanwu added a reverting change for rG424bf5d8918f: [Driver] Bring back "Clean up Debian multiarch /usr/include/<triplet> madness"…: rGaae84b8e3939: Revert "[Driver] Bring back "Clean up Debian multiarch /usr/include/<triplet>….
Mar 23 2021, 8:14 PM
zequanwu committed rGaae84b8e3939: Revert "[Driver] Bring back "Clean up Debian multiarch /usr/include/<triplet>… (authored by zequanwu).
Revert "[Driver] Bring back "Clean up Debian multiarch /usr/include/<triplet>…
Mar 23 2021, 8:14 PM

Mar 22 2021

zequanwu abandoned D98295: [Clang] Add addrsig attribute to mark global functions/variables as address significant..

This overlaps with the functionality of attribute used.

Mar 22 2021, 2:39 PM · Restricted Project, Restricted Project

Mar 18 2021

zequanwu committed rG1c740b29fae3: [clang-cl] make -ffile-compilation-dir a CoreOption. (authored by zequanwu).
[clang-cl] make -ffile-compilation-dir a CoreOption.
Mar 18 2021, 1:29 PM
zequanwu closed D98887: [clang-cl] make -ffile-compilation-dir a CoreOption..
Mar 18 2021, 1:29 PM · Restricted Project
zequanwu requested review of D98887: [clang-cl] make -ffile-compilation-dir a CoreOption..
Mar 18 2021, 12:30 PM · Restricted Project

Mar 16 2021

zequanwu added a reverting change for rGedf700485151: [ConstantFold] Handle vectors in ConstantFoldLoadThroughBitcast(): rGcbd7eabea88e: Revert "[ConstantFold] Handle vectors in ConstantFoldLoadThroughBitcast()".
Mar 16 2021, 2:37 PM
zequanwu committed rGcbd7eabea88e: Revert "[ConstantFold] Handle vectors in ConstantFoldLoadThroughBitcast()" (authored by zequanwu).
Revert "[ConstantFold] Handle vectors in ConstantFoldLoadThroughBitcast()"
Mar 16 2021, 2:37 PM

Mar 12 2021

zequanwu updated the diff for D98463: [IR] Add significant_addr property..

Update LangRef.

Mar 12 2021, 3:14 PM · Restricted Project

Mar 11 2021

zequanwu updated the diff for D98295: [Clang] Add addrsig attribute to mark global functions/variables as address significant..

Split clang change and IR change.

Mar 11 2021, 4:19 PM · Restricted Project, Restricted Project
zequanwu requested review of D98463: [IR] Add significant_addr property..
Mar 11 2021, 3:45 PM · Restricted Project
zequanwu accepted D98444: [FIX] Allow non-constant assume operand bundle operands..
Mar 11 2021, 12:54 PM · Restricted Project
zequanwu added a comment to D98444: [FIX] Allow non-constant assume operand bundle operands..

LGTM.

Mar 11 2021, 12:54 PM · Restricted Project

Mar 9 2021

zequanwu committed rG8d5c3ae357b5: Revert "[llvm-cov] reset executation count to 0 after wrapped segment" (authored by zequanwu).
Revert "[llvm-cov] reset executation count to 0 after wrapped segment"
Mar 9 2021, 2:48 PM
zequanwu added a reverting change for D85036: [llvm-cov] reset executation count to 0 after wrapped segment: rG8d5c3ae357b5: Revert "[llvm-cov] reset executation count to 0 after wrapped segment".
Mar 9 2021, 2:48 PM · Restricted Project
zequanwu closed D98084: Revert "[llvm-cov] reset executation count to 0 after wrapped segment".
Mar 9 2021, 2:48 PM · Restricted Project
zequanwu requested review of D98295: [Clang] Add addrsig attribute to mark global functions/variables as address significant..
Mar 9 2021, 2:44 PM · Restricted Project, Restricted Project

Mar 5 2021

zequanwu updated the diff for D98084: Revert "[llvm-cov] reset executation count to 0 after wrapped segment".

Update test.

Mar 5 2021, 3:27 PM · Restricted Project
zequanwu requested review of D98084: Revert "[llvm-cov] reset executation count to 0 after wrapped segment".
Mar 5 2021, 3:26 PM · Restricted Project
zequanwu added a reverting change for D85036: [llvm-cov] reset executation count to 0 after wrapped segment: D98084: Revert "[llvm-cov] reset executation count to 0 after wrapped segment".
Mar 5 2021, 3:26 PM · Restricted Project

Mar 4 2021

zequanwu added a comment to D97101: [Coverage] Emit gap region between statements if first statements contains terminate statements..

This broke ContinuousSyncMode/basic.c in check-profile on macOS (see e.g. end of https://logs.chromium.org/logs/chromium/buildbucket/cr-buildbucket.appspot.com/8853690069583264896/+/steps/package_clang/0/stdout?format=raw), so I reverted it for now.

It repros on my laptop, so let me know if you want me to try things :)

Mar 4 2021, 11:53 AM · Restricted Project, Restricted Project
zequanwu added a reverting change for rGfe5c2c3ca682: Revert "[Coverage] Emit gap region between statements if first statements…: rG9783e2098800: Revert "Revert "[Coverage] Emit gap region between statements if first….
Mar 4 2021, 11:53 AM
zequanwu committed rG9783e2098800: Revert "Revert "[Coverage] Emit gap region between statements if first… (authored by zequanwu).
Revert "Revert "[Coverage] Emit gap region between statements if first…
Mar 4 2021, 11:53 AM

Mar 3 2021

zequanwu added a comment to D97436: [lld-link] Add safe icf mode to lld-link, which does safe icf for all sections..

I'm super confused by this change. lld-link used to do aggressive icf for code and safe icf for data. The consensus on https://bugs.chromium.org/p/chromium/issues/detail?id=1087923 was that we want aggressive icf for both code and data, like lld on other platforms. But this change adds an option to make ICF less aggressive, not more aggressive, from what I understand (correct?)

Mar 3 2021, 4:48 PM · Restricted Project
zequanwu committed rG5bdc5e7efda4: [lld-link] Add safe icf mode to lld-link, which does safe icf for all sections. (authored by zequanwu).
[lld-link] Add safe icf mode to lld-link, which does safe icf for all sections.
Mar 3 2021, 2:53 PM
zequanwu closed D97436: [lld-link] Add safe icf mode to lld-link, which does safe icf for all sections..
Mar 3 2021, 2:53 PM · Restricted Project
zequanwu updated the summary of D97436: [lld-link] Add safe icf mode to lld-link, which does safe icf for all sections..
Mar 3 2021, 2:28 PM · Restricted Project
zequanwu retitled D97436: [lld-link] Add safe icf mode to lld-link, which does safe icf for all sections. from [lld-link] Fix addrsig symbols merging in ICF. to [lld-link] Add safe icf mode to lld-link, which does safe icf for all sections..
Mar 3 2021, 2:27 PM · Restricted Project
zequanwu updated the diff for D97436: [lld-link] Add safe icf mode to lld-link, which does safe icf for all sections..

Address comment.

Mar 3 2021, 2:27 PM · Restricted Project
zequanwu added inline comments to D97436: [lld-link] Add safe icf mode to lld-link, which does safe icf for all sections..
Mar 3 2021, 12:20 PM · Restricted Project
zequanwu committed rG2d7374a0c680: [Coverage] Emit gap region between statements if first statements contains… (authored by zequanwu).
[Coverage] Emit gap region between statements if first statements contains…
Mar 3 2021, 11:26 AM
zequanwu closed D97101: [Coverage] Emit gap region between statements if first statements contains terminate statements..
Mar 3 2021, 11:26 AM · Restricted Project, Restricted Project
zequanwu added a comment to D97101: [Coverage] Emit gap region between statements if first statements contains terminate statements..

Thanks for reviewing.

Mar 3 2021, 11:14 AM · Restricted Project, Restricted Project
zequanwu updated the diff for D97101: [Coverage] Emit gap region between statements if first statements contains terminate statements..

use itanium abi in terminate-statements.cpp

Mar 3 2021, 11:14 AM · Restricted Project, Restricted Project

Mar 2 2021

zequanwu retitled D97101: [Coverage] Emit gap region between statements if first statements contains terminate statements. from [Coverage] Emit zero count gap region between statements if first statements contains return, throw, goto, co_return to [Coverage] Emit gap region between statements if first statements contains terminate statements..
Mar 2 2021, 8:54 PM · Restricted Project, Restricted Project
zequanwu added inline comments to D97101: [Coverage] Emit gap region between statements if first statements contains terminate statements..
Mar 2 2021, 8:39 PM · Restricted Project, Restricted Project
zequanwu updated the diff for D97101: [Coverage] Emit gap region between statements if first statements contains terminate statements..
  • Deprecate deferred region. Use the notion of gap region inserted in VisitStmt to replace deferred region.
  • Emit gap region with OutCounter from last statement if exists.
  • Move test cases from deferred-region.cpp to terminate-statements.cpp
Mar 2 2021, 8:39 PM · Restricted Project, Restricted Project

Mar 1 2021

zequanwu updated the diff for D97436: [lld-link] Add safe icf mode to lld-link, which does safe icf for all sections..

address comment.

Mar 1 2021, 6:17 PM · Restricted Project
zequanwu added inline comments to D97101: [Coverage] Emit gap region between statements if first statements contains terminate statements..
Mar 1 2021, 5:01 PM · Restricted Project, Restricted Project
zequanwu updated the diff for D97436: [lld-link] Add safe icf mode to lld-link, which does safe icf for all sections..

Update test case.

Mar 1 2021, 12:03 PM · Restricted Project
zequanwu updated the diff for D97436: [lld-link] Add safe icf mode to lld-link, which does safe icf for all sections..

Preserve the bahavior of /opt:icf. Using /opt:safeicf to do safe icf for all sections.

Mar 1 2021, 11:56 AM · Restricted Project

Feb 26 2021

zequanwu added a reviewer for D97436: [lld-link] Add safe icf mode to lld-link, which does safe icf for all sections.: pcc.
In D97436#2591761, @pcc wrote:

As far as I know the current behavior is that /opt:icf gives you full ICF for executable sections and safe ICF for non-executable sections. This is more than what MSVC does, which is full ICF for executable sections and no ICF for non-executable sections. I think it makes sense to add a mode that gives you full ICF for non-executable sections, but the behavior of /opt:icf should be preserved.

Feb 26 2021, 8:36 PM · Restricted Project
zequanwu updated the diff for D97436: [lld-link] Add safe icf mode to lld-link, which does safe icf for all sections..
  • Add /OPT:safeicf, which will mark all sections as unique if .addrsig doesn't exist. By default, /OPT:icf will do aggressive icf, matching the behavior of MSVC linker's /OPT:icf.
  • Update test cases.
Feb 26 2021, 4:43 PM · Restricted Project

Feb 25 2021

zequanwu committed rG4500f0a7321d: [Clang][Attributes] Allow not_tail_called attribute to be applied to virtual… (authored by zequanwu).
[Clang][Attributes] Allow not_tail_called attribute to be applied to virtual…
Feb 25 2021, 2:59 PM
zequanwu closed D96832: [Clang][Attributes] Allow not_tail_called attribute to be applied to virtual function..
Feb 25 2021, 2:58 PM · Restricted Project