Page MenuHomePhabricator

steven_wu (Steven Wu)
User

Projects

User does not belong to any projects.

User Details

User Since
Nov 4 2014, 3:46 PM (271 w, 3 d)

Recent Activity

Fri, Jan 10

steven_wu created D72543: [libcxxabi] Insert padding in __cxa_exception struct for compatibility.
Fri, Jan 10, 2:54 PM · Restricted Project

Thu, Dec 19

steven_wu added a comment to D71219: Fix conflict value for metadata "Objective-C Garbage Collection" in the mix of swift and Objective-C bitcode.
  1. I will add a llvm-link tests for combining objc and swift bitcode.
  2. What do you mean by "codegen tests for correct value in the object file"? There is no "object file" in the picture. Are you asking for a test that checks the value in the output of llvm-link?
Thu, Dec 19, 3:13 PM · Restricted Project

Dec 18 2019

steven_wu committed rG9366397f057d: [libunwind] Fix evaluating DWARF operation DW_OP_pick (authored by steven_wu).
[libunwind] Fix evaluating DWARF operation DW_OP_pick
Dec 18 2019, 12:34 PM
steven_wu closed D69893: libunwind: Evaluating DWARF operation DW_OP_pick is broken.
Dec 18 2019, 12:34 PM · Restricted Project
steven_wu added a comment to D69893: libunwind: Evaluating DWARF operation DW_OP_pick is broken.

Commited in: 9366397f057d18401e680b2cb28a0ee17c59d4a6

Dec 18 2019, 12:34 PM · Restricted Project
steven_wu accepted D69893: libunwind: Evaluating DWARF operation DW_OP_pick is broken.

The fix LGTM. Do you have a reproducer that can be used as a test case? We should really add more tests for libunwind.

I currently do not have a reproducer test case for this.

Dec 18 2019, 12:24 PM · Restricted Project
steven_wu accepted D71261: [ThinLTO] upgrade IR symtab in parallel ahead of time.

LLVM LTO part LGTM. I will get another pair of eyes on lld changes.

Dec 18 2019, 12:15 PM · Restricted Project

Dec 16 2019

steven_wu accepted D71579: [driver][darwin] Pass -platform_version flag to the linker instead of the -<platform>_version_min flag.

SGTM.

Dec 16 2019, 5:03 PM · Restricted Project, Restricted Project
steven_wu added inline comments to D71579: [driver][darwin] Pass -platform_version flag to the linker instead of the -<platform>_version_min flag.
Dec 16 2019, 4:34 PM · Restricted Project, Restricted Project
steven_wu added inline comments to D71579: [driver][darwin] Pass -platform_version flag to the linker instead of the -<platform>_version_min flag.
Dec 16 2019, 4:07 PM · Restricted Project, Restricted Project
steven_wu added a comment to D71261: [ThinLTO] upgrade IR symtab in parallel ahead of time.

This sounds like a good idea. Have you thought about just write out upgraded bitcode file on disk (since you named it a "SymTabCache"), maybe into thinLTO cache? This will speed up the incremental build as well. I think most of the upgrade path are coming from linking a bitcode static library, which is probably not changing during incremental build so we just need to upgrade once.

Dec 16 2019, 11:40 AM · Restricted Project
steven_wu added a comment to D69893: libunwind: Evaluating DWARF operation DW_OP_pick is broken.

The fix LGTM. Do you have a reproducer that can be used as a testcase? We should really add more tests for libunwind.

Dec 16 2019, 10:07 AM · Restricted Project
steven_wu committed rG2597135571ec: [llvm-cxxfilt] Correctly demangle COFF import thunk (authored by steven_wu).
[llvm-cxxfilt] Correctly demangle COFF import thunk
Dec 16 2019, 9:57 AM
steven_wu closed D71425: [llvm-cxxfilt] Correctly demangle COFF import thunk.
Dec 16 2019, 9:57 AM · Restricted Project

Dec 13 2019

steven_wu updated the diff for D71425: [llvm-cxxfilt] Correctly demangle COFF import thunk.

Address review feedback

Dec 13 2019, 9:38 AM · Restricted Project
steven_wu added inline comments to D71425: [llvm-cxxfilt] Correctly demangle COFF import thunk.
Dec 13 2019, 9:38 AM · Restricted Project

Dec 12 2019

steven_wu created D71425: [llvm-cxxfilt] Correctly demangle COFF import thunk.
Dec 12 2019, 9:28 AM · Restricted Project

Dec 10 2019

steven_wu added inline comments to D68213: [LTO] Support for embedding bitcode section during LTO.
Dec 10 2019, 4:18 PM · Restricted Project, Restricted Project

Dec 9 2019

steven_wu added a comment to D71219: Fix conflict value for metadata "Objective-C Garbage Collection" in the mix of swift and Objective-C bitcode.

Breaking part the meta data sounds like a good idea. You will probably need to combine the value in the backend to generate the field in the object file.

Dec 9 2019, 3:21 PM · Restricted Project
steven_wu added a comment to rGdba420bc05ae: [test][tools] Add missing and improve testing.

Thanks for increasing test coverage. One comment in line.

Dec 9 2019, 9:10 AM
steven_wu added a comment to rGdba420bc05ae: [test][tools] Add missing and improve testing.

Ah, I miss your fix. The fix LGTM.

Dec 9 2019, 9:10 AM

Dec 5 2019

steven_wu accepted D70984: [ThinLTO] Add option to disable readonly/writeonly attribute propagation.

LGTM!

Dec 5 2019, 3:12 PM · Restricted Project

Dec 4 2019

steven_wu added inline comments to D70984: [ThinLTO] Add option to disable readonly/writeonly attribute propagation.
Dec 4 2019, 3:36 PM · Restricted Project
steven_wu accepted D70977: [ThinLTO] Fix importing of writeonly variables in distributed ThinLTO.

LGTM

Dec 4 2019, 9:52 AM · Restricted Project

Dec 2 2019

steven_wu added inline comments to D70577: [Remarks][LTO] Infer remarks file path from -object_path_lto.
Dec 2 2019, 11:01 AM
steven_wu requested changes to D70577: [Remarks][LTO] Infer remarks file path from -object_path_lto.
Dec 2 2019, 9:12 AM

Nov 21 2019

steven_wu added a comment to D70404: [ThinLTO] Always import constants.

I reimplemented the patch, now using extra 'Constant' attribute in GlobalVarSummary.

The goal is to allow importing of constants, which are not being detected as 'ReadOnly'. Such constants are imported with available_externally linkage, still allowing compiler to make some optimizations along the way.

Nov 21 2019, 10:14 AM · Restricted Project

Nov 20 2019

steven_wu added a comment to D70397: [libunwind] Adjust the signal_frame test for Arm.

In this patch, add another stack frame completely defeat the purpose of assert(unw_step(&cursor) > 0);.

Is the DWARF unwinder supposed to be always able to step out of main()?

Nov 20 2019, 10:21 AM · Restricted Project
steven_wu added a comment to D70397: [libunwind] Adjust the signal_frame test for Arm.

This test won't compile for ARM Linux (using ARM EHABI), I get the error this directive must appear between .cfi_startproc and .cfi_endproc directives.

Nov 20 2019, 9:47 AM · Restricted Project

Nov 19 2019

steven_wu accepted D70463: [LTO][Legacy] Add API for passing LLVM options separately.
Nov 19 2019, 4:13 PM · Restricted Project
steven_wu added a comment to D70463: [LTO][Legacy] Add API for passing LLVM options separately.

LGTM with one nitpick.

Nov 19 2019, 3:00 PM · Restricted Project

Nov 18 2019

steven_wu committed rGe84468c1f145: [llvm-cxxfilt] Improve strip-underscore behavior (authored by steven_wu).
[llvm-cxxfilt] Improve strip-underscore behavior
Nov 18 2019, 3:06 PM
steven_wu closed D70250: [llvm-cxxfilt] Improve strip-underscore behavior.
Nov 18 2019, 3:06 PM · Restricted Project
steven_wu updated the diff for D70250: [llvm-cxxfilt] Improve strip-underscore behavior.

Fix comments

Nov 18 2019, 3:04 PM · Restricted Project
steven_wu added inline comments to D70250: [llvm-cxxfilt] Improve strip-underscore behavior.
Nov 18 2019, 3:04 PM · Restricted Project
steven_wu updated the diff for D70250: [llvm-cxxfilt] Improve strip-underscore behavior.

Address review feedback

Nov 18 2019, 3:04 PM · Restricted Project
steven_wu added a comment to D70250: [llvm-cxxfilt] Improve strip-underscore behavior.

ping

Nov 18 2019, 2:10 PM · Restricted Project
steven_wu accepted D70383: [ThinLTO] Make ValueInfo::operator bool() explicit.

LGTM

Nov 18 2019, 8:35 AM · Restricted Project

Nov 14 2019

steven_wu edited reviewers for D70250: [llvm-cxxfilt] Improve strip-underscore behavior, added: mattd; removed: davis-matthew.
Nov 14 2019, 9:38 AM · Restricted Project
steven_wu created D70250: [llvm-cxxfilt] Improve strip-underscore behavior.
Nov 14 2019, 9:38 AM · Restricted Project

Nov 8 2019

steven_wu added a comment to D70006: [ThinLTO] Fix bug when importing writeonly variables.

I think this is probably the best fix I can think as well. Agree with Teresa says, please add comments for reasons why it is implemented this way.

Nov 8 2019, 8:35 AM · Restricted Project

Nov 6 2019

steven_wu committed rG2293b3f169a2: Fix a typo in my previous commit (authored by steven_wu).
Fix a typo in my previous commit
Nov 6 2019, 11:43 AM
steven_wu committed rG6da58e7e0fac: [Object][MachO] Rewrite macho-invalid-fat-arch-size into YAML (authored by steven_wu).
[Object][MachO] Rewrite macho-invalid-fat-arch-size into YAML
Nov 6 2019, 11:32 AM
steven_wu closed D69856: [Object][MachO] Rewrite macho-invalid-fat-arch-size into YAML.
Nov 6 2019, 11:32 AM · Restricted Project

Nov 5 2019

steven_wu created D69856: [Object][MachO] Rewrite macho-invalid-fat-arch-size into YAML.
Nov 5 2019, 9:51 AM · Restricted Project
steven_wu committed rGe64f7bfefe4f: Revert "[Object][MachO] Rewrite macho-invalid-fat-arch-size into YAML" (authored by steven_wu).
Revert "[Object][MachO] Rewrite macho-invalid-fat-arch-size into YAML"
Nov 5 2019, 9:43 AM
steven_wu committed rGbc496677d0ec: [Object][MachO] Rewrite macho-invalid-fat-arch-size into YAML (authored by steven_wu).
[Object][MachO] Rewrite macho-invalid-fat-arch-size into YAML
Nov 5 2019, 9:15 AM

Oct 30 2019

steven_wu accepted D69561: [ThinLTO] Import readonly vars with refs.

LGTM.

Oct 30 2019, 10:51 AM · Restricted Project

Oct 29 2019

steven_wu committed rG5f3f800143f7: Merge remote-tracking branch 'llvm.org/master' into upstream-with-swift (authored by steven_wu).
Merge remote-tracking branch 'llvm.org/master' into upstream-with-swift
Oct 29 2019, 4:21 PM
steven_wu committed rG2613b2cfedf0: Merge remote-tracking branch 'llvm.org/master' into upstream-with-swift (authored by steven_wu).
Merge remote-tracking branch 'llvm.org/master' into upstream-with-swift
Oct 29 2019, 2:27 PM
steven_wu committed rG30387284cb03: Merge remote-tracking branch 'llvm.org/master' into upstream-with-swift (authored by steven_wu).
Merge remote-tracking branch 'llvm.org/master' into upstream-with-swift
Oct 29 2019, 1:18 PM
steven_wu added a comment to D69561: [ThinLTO] Import readonly vars with refs.

I can see why this is a good idea, but do you have numbers for this optimization? How much code can be inlined? Benchmark for speedup? code size? compile time impact?

Oct 29 2019, 9:58 AM · Restricted Project

Oct 24 2019

steven_wu accepted D69406: [clang][ThinLTO] Promote cc1 -fthin_link_bitcode to driver -fthinlto_link_bitcode.

LGTM.

Oct 24 2019, 4:12 PM · Restricted Project
steven_wu added a comment to D69327: [Clang][ThinLTO] Add a cache for compile phase output..

ccache does not have the support for this, I am just saying that this can be easily implemented in ccache and that would be much better than the proposed solution here.

Oct 24 2019, 8:59 AM · Restricted Project, Restricted Project

Oct 23 2019

steven_wu added a comment to D69327: [Clang][ThinLTO] Add a cache for compile phase output..

Thanks for the inputs @steven_wu @tejohnson. Totally agree with the points you brought up. One last thing I'm not quite sure is the caching of -fthin-link-bitcode. It is a -cc1 option since it is a kind of implementation of ThinLTO, right? I'm a little hesitant to begin writing up patches to teach build system/caching tool (I could think of at least three for our workload) to recognize this option because of that. If there are any changes to the option, the same thing needs to be done again. Do you have any thoughts on that? Is the option in use for your workload and do you think it is stable enough to have build systems caching for it? (Another option is to produce -fthin-link-bitcode output post compile time which I assume having total build time impact to some degree).

Oct 23 2019, 10:57 PM · Restricted Project, Restricted Project
steven_wu accepted D69173: [clang][ThinLTO][Legacy] Don't add -fsplit-lto-unit for legacy thin LTO builds.

LGTM

Oct 23 2019, 7:40 PM · Restricted Project
steven_wu added a comment to D69327: [Clang][ThinLTO] Add a cache for compile phase output..

Can you clarify what do you mean by 'waste time optimizing a file that finally hit the object file cache'?

Oct 23 2019, 3:03 PM · Restricted Project, Restricted Project

Oct 21 2019

steven_wu added inline comments to D69173: [clang][ThinLTO][Legacy] Don't add -fsplit-lto-unit for legacy thin LTO builds.
Oct 21 2019, 10:36 AM · Restricted Project
steven_wu added a comment to D69173: [clang][ThinLTO][Legacy] Don't add -fsplit-lto-unit for legacy thin LTO builds.

That is not exactly what I meant. I meant:

Oct 21 2019, 10:36 AM · Restricted Project
steven_wu accepted D69107: [ThinLTO] Don't internalize during promotion.

LGTM. Thanks!

Oct 21 2019, 10:27 AM · Restricted Project

Oct 18 2019

steven_wu added a comment to D69107: [ThinLTO] Don't internalize during promotion.

From https://llvm.org/docs/LangRef.html#comdats :

Comdats have a name which represents the COMDAT key. All global objects that specify this key will only end up in the final object file if the linker chooses that key over some other key

To enforce this LLVM internalize pass doesn't internalize entire COMDAT group if any of its members should be preserved (see shouldPreserveGV). At the moment we can internalize global
in llvm::thinLTOResolvePrevailingInModule without looking at other COMDAT group members and break this guarantee

Oct 18 2019, 10:21 AM · Restricted Project
steven_wu added a comment to D69173: [clang][ThinLTO][Legacy] Don't add -fsplit-lto-unit for legacy thin LTO builds.

A small suggestion for improvement.

Oct 18 2019, 9:52 AM · Restricted Project

Oct 17 2019

steven_wu accepted D68950: [ThinLTOCodeGenerator] Add support for index-based WPD.

Sounds like a good plan going forward.

Oct 17 2019, 1:41 PM · Restricted Project
steven_wu added a comment to D69107: [ThinLTO] Don't internalize during promotion.

I think this change is generally good but sorry I am not quite familiar with the semantics of comdat. Can you explain in more detail why that can be a problem to internalize that in promote?

Oct 17 2019, 1:41 PM · Restricted Project

Oct 16 2019

steven_wu committed rG87cf73e95638: Fix darwin-ld-lto test for some speical path (authored by steven_wu).
Fix darwin-ld-lto test for some speical path
Oct 16 2019, 11:15 AM
steven_wu committed rL375027: Fix darwin-ld-lto test for some speical path.
Fix darwin-ld-lto test for some speical path
Oct 16 2019, 11:15 AM

Oct 14 2019

steven_wu added a comment to D68950: [ThinLTOCodeGenerator] Add support for index-based WPD.

Thanks for working on this. Comments inline.

Oct 14 2019, 1:15 PM · Restricted Project

Oct 7 2019

steven_wu added inline comments to D59709: [ThinLTO] Auto-hide prevailing linkonce_odr only when all copies eligible.
Oct 7 2019, 8:55 AM · Restricted Project

Sep 25 2019

steven_wu added a comment to D67847: [Support] make report_fatal_error `abort` instead of `exit`.

This sounds fine to me. We should probably replace most of report_fatal_error with llvm::Error and propagate them correctly. In the meantime, having better crash is an improvement and does not conflict with what we want to do eventually.

Sep 25 2019, 8:43 AM · Restricted Project, Restricted Project

Sep 23 2019

steven_wu added a comment to D31898: Introduce libLTO C APIs to target the "resolution-based" new LTO API.

Some high level comments before I look into details. Are we expecting those two APIs to co-exist? Maybe just create a new libLTO and replacing the existing one in few releases? Maybe libLTO.1.dylib and libLTO.2.dylib, with a cmake configuration for which one to symlink to?

Sep 23 2019, 5:24 PM · Restricted Project

Sep 16 2019

steven_wu added a comment to D67568: [LTO][Legacy] Add new C inferface to query libcall functions.

I break this into two commits. r372021 and r372022.

Sep 16 2019, 11:53 AM · Restricted Project
steven_wu committed rGdd63b9f570da: [lld] Update lld driver to use new LTO APIs to handle libcall symbols (authored by steven_wu).
[lld] Update lld driver to use new LTO APIs to handle libcall symbols
Sep 16 2019, 11:50 AM
steven_wu committed rG34d80461ff77: [LTO][Legacy] Add new C inferface to query libcall functions (authored by steven_wu).
[LTO][Legacy] Add new C inferface to query libcall functions
Sep 16 2019, 11:50 AM
steven_wu committed rL372022: [lld] Update lld driver to use new LTO APIs to handle libcall symbols.
[lld] Update lld driver to use new LTO APIs to handle libcall symbols
Sep 16 2019, 11:49 AM
steven_wu committed rL372021: [LTO][Legacy] Add new C inferface to query libcall functions.
[LTO][Legacy] Add new C inferface to query libcall functions
Sep 16 2019, 11:49 AM
steven_wu closed D67568: [LTO][Legacy] Add new C inferface to query libcall functions.
Sep 16 2019, 11:49 AM · Restricted Project
steven_wu updated the diff for D67568: [LTO][Legacy] Add new C inferface to query libcall functions.
  • [LTO][Legacy] Add new C inferface to query libcall functions
  • [lld] Update lld to use the new LTO API to add libcall symbols
Sep 16 2019, 10:09 AM · Restricted Project

Sep 13 2019

steven_wu added a comment to D67568: [LTO][Legacy] Add new C inferface to query libcall functions.

How many symbols are there today? Do we want this overhead of a function call for each? Could you instead return a count and array pointer (like argc and argv) or have a "foreach" function that takes a block and calls it back for each symbol?

Sep 13 2019, 3:29 PM · Restricted Project
steven_wu committed rGaa89c5ffc30f: [NFC][libLTO] Rearrange declaration in lto.h (authored by steven_wu).
[NFC][libLTO] Rearrange declaration in lto.h
Sep 13 2019, 2:22 PM
steven_wu committed rL371900: [NFC][libLTO] Rearrange declaration in lto.h.
[NFC][libLTO] Rearrange declaration in lto.h
Sep 13 2019, 2:21 PM
steven_wu closed D67565: [NFC][libLTO] Rearrange declaration in lto.h.
Sep 13 2019, 2:21 PM · Restricted Project
steven_wu added a comment to D67568: [LTO][Legacy] Add new C inferface to query libcall functions.

lto.cpp is not really tested. Maybe we can test this by move this into lib/LTO then integrate the new version into lld?

Sep 13 2019, 1:05 PM · Restricted Project
steven_wu updated the diff for D67565: [NFC][libLTO] Rearrange declaration in lto.h.
  • [LTO][Legacy] Add new C inferface to query libcall functions
Sep 13 2019, 12:58 PM · Restricted Project
steven_wu added a comment to D67565: [NFC][libLTO] Rearrange declaration in lto.h.

Sorry, should be clear that this is for doxygen documents. See @defgroup @ingroup from the comments. Those functions where in the Caching APIs group.

I don't see LLVM website is generating documents based on groups but still good to get it correct.

Just want to clean this up because I am planning to add some new APIs.

I get why they don't belong in the caching section, but now they are in the ThinLTO-specific section (LLVMCTLTO). Should they be in the earlier LLVMCLTO section which seems to include more of the generic LTO interfaces?

Sep 13 2019, 12:53 PM · Restricted Project
steven_wu added a child revision for D67565: [NFC][libLTO] Rearrange declaration in lto.h: D67568: [LTO][Legacy] Add new C inferface to query libcall functions.
Sep 13 2019, 12:32 PM · Restricted Project
steven_wu added a parent revision for D67568: [LTO][Legacy] Add new C inferface to query libcall functions: D67565: [NFC][libLTO] Rearrange declaration in lto.h.
Sep 13 2019, 12:32 PM · Restricted Project
steven_wu created D67568: [LTO][Legacy] Add new C inferface to query libcall functions.
Sep 13 2019, 12:32 PM · Restricted Project
steven_wu added a comment to D67565: [NFC][libLTO] Rearrange declaration in lto.h.

Sorry, should be clear that this is for doxygen documents. See @defgroup @ingroup from the comments. Those functions where in the Caching APIs group.

Sep 13 2019, 11:24 AM · Restricted Project
steven_wu created D67565: [NFC][libLTO] Rearrange declaration in lto.h.
Sep 13 2019, 10:40 AM · Restricted Project
steven_wu added a comment to D67559: [Sema] Split of versions of -Wimplicit-{float,int}-conversion for Objective-C BOOL.

The diagnostics message looks good to me.

Sep 13 2019, 10:35 AM · Restricted Project, Restricted Project

Sep 6 2019

steven_wu added inline comments to D59709: [ThinLTO] Auto-hide prevailing linkonce_odr only when all copies eligible.
Sep 6 2019, 4:03 PM · Restricted Project
steven_wu added inline comments to D59709: [ThinLTO] Auto-hide prevailing linkonce_odr only when all copies eligible.
Sep 6 2019, 1:18 PM · Restricted Project

Sep 5 2019

steven_wu added inline comments to D59709: [ThinLTO] Auto-hide prevailing linkonce_odr only when all copies eligible.
Sep 5 2019, 9:54 AM · Restricted Project

Sep 4 2019

steven_wu added a comment to D59709: [ThinLTO] Auto-hide prevailing linkonce_odr only when all copies eligible.

Hi Teresa, I am seeing some regressions because of this commit. ThinLTO is now producing more weak symbols than before and I am looking for a good fix. See inline comments for details.

Sep 4 2019, 6:19 PM · Restricted Project
steven_wu committed rL370935: Request commit access for steven_wu.
Request commit access for steven_wu
Sep 4 2019, 10:33 AM

Sep 3 2019

steven_wu abandoned D65532: [LTO][Legacy] Update TargetOption after parsing debug options.
Sep 3 2019, 9:27 AM · Restricted Project

Aug 13 2019

steven_wu added a comment to D66159: [Object] Add tapi files to object.

We can discuss what is a good class name for TapiFile and TapiUniversal. It should be consistent with the other patch as well.

Aug 13 2019, 2:04 PM · Restricted Project
steven_wu accepted D66149: [BinaryFormat] Teach identify_magic about Tapi files..

few small comments. Otherwise, LGTM.

Aug 13 2019, 1:38 PM · Restricted Project, Restricted Project, Restricted Project, Restricted Project, Restricted Project, Restricted Project
steven_wu accepted D66147: [TextAPI] Update reader to be supported by lib/Object.

LGTM

Aug 13 2019, 1:29 PM · Restricted Project
steven_wu committed rG9e51fb6c5762: [AutoUpgrader] Make ArcRuntime Autoupgrader more conservative (authored by steven_wu).
[AutoUpgrader] Make ArcRuntime Autoupgrader more conservative
Aug 13 2019, 10:53 AM