Page MenuHomePhabricator
Feed Advanced Search

Thu, Apr 30

steven_wu accepted D79166: [docs][llvm-cxxfilt] Document the --no-strip-underscore option.

LGTM

Thu, Apr 30, 11:47 AM · Restricted Project

Mar 10 2020

steven_wu accepted D71219: Fix conflict value for metadata "Objective-C Garbage Collection" in the mix of swift and Objective-C bitcode.
Mar 10 2020, 10:21 AM · Restricted Project, Restricted Project

Mar 9 2020

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.

It looks good in general. I would prefer to have two separate tests, one for upgrade, one for ir-linking.

Mar 9 2020, 4:45 PM · Restricted Project, Restricted Project

Mar 5 2020

steven_wu added a comment to D75617: [WPD] Provide a way to prevent function(s) from being devirtualized.

What is the goal for this option? Do you expect any users of this or this is for debugging WPD?

It is for debugging. Not WPD itself but rather a devirtualized binary. See comment above

Mar 5 2020, 12:39 PM · Restricted Project
steven_wu added a comment to D75617: [WPD] Provide a way to prevent function(s) from being devirtualized.

What is the goal for this option? Do you expect any users of this or this is for debugging WPD?

Mar 5 2020, 11:31 AM · Restricted Project

Feb 28 2020

steven_wu accepted D75067: [LTO][Legacy] Add new API to query Mach-O CPU (sub)type.
Feb 28 2020, 11:30 AM · Restricted Project

Feb 26 2020

steven_wu added a comment to D74784: [driver][darwin] Don't use -platform_version flag by default.

Thanks. LGTM. I will let @arphaman to approve this.

Feb 26 2020, 10:13 AM · Restricted Project, Restricted Project
steven_wu committed rG387c3f74fd8e: [compiler-rt] Build all alias in builtin as private external on Darwin (authored by steven_wu).
[compiler-rt] Build all alias in builtin as private external on Darwin
Feb 26 2020, 9:30 AM
steven_wu closed D73577: [compiler-rt] Build all alias in builtin as private external on Darwin.
Feb 26 2020, 9:30 AM · Restricted Project, Restricted Project
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.

The 0x40 bit is actually OBJC_IMAGE_HAS_CATEGORY_CLASS_PROPERTIES, which probably can differ from translation unit to translation unit even within ObjC. Some of the other bits should not be different. That is why I say you can break the bits down even more if needed.

Clang seems to set it unconditionally. Presumably it just controls whether category descriptors have a class-properties field; offhand, I don't know why that would need to be set globally.

Feb 26 2020, 9:03 AM · Restricted Project, Restricted Project

Feb 25 2020

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.

I agree with all of this except that I'm not sure there's any situation where ObjC and Swift translation units should be disagreeing about the ObjC-specific parts of the OBJC_IMAGE_INFO.

Feb 25 2020, 3:59 PM · Restricted Project, Restricted Project
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.

We should add a new module flag (with type Error) that contains Major and Minor and make sure "Garbage Collection" value is the same for Swift as for ObjC.

In the backend, we will reconstruct IMAGE_INFO from the new module flags and make sure the value stays the same with and without this patch.

IMAGE_INFO will be different for Swift vs ObjC.

Should be question mark! Meant for clarification from @steven_wu and @rjmccall. Should IMAGE_INFO include the value from the new module flag?

Feb 25 2020, 3:14 PM · Restricted Project, Restricted Project
steven_wu added a comment to D74784: [driver][darwin] Don't use -platform_version flag by default.

@steven_wu, ping, could you clarify about the tests please?

Feb 25 2020, 2:17 PM · Restricted Project, Restricted Project
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?

I think the decision was to break apart the current "Objective-C Garbage Collection" metadata. You need codegen test to test that OBJC_IMAGE_INFO is generated correctly after breaking apart the value.

I have question regarding this. Let's assume we have one assembly file from Objective-C and another one from Swift.

Objective-C assembly:
L_OBJC_IMAGE_INFO:

	.long	0
	.long	64

Swift assembly:

L_OBJC_IMAGE_INFO:

	.long	0
	.long	83953472

Let's assume that the llvm-link can link Swift bitcode and Objective-C bit successfully and the llc can generate the assembly for the merged output bitcode.

In the final assembly file, what value do you expect for L_OBJC_IMAGE_INFO?

Feb 25 2020, 11:05 AM · Restricted Project, Restricted Project

Feb 24 2020

steven_wu added a comment to D74994: [LTO] Rename legacy LTO files. NFC..

I don't feel like this is necessary and creating a subdirectory without creating a new library feels weird. I agree the layout is a bit weird for new comer to LTO library but it is a relatively small hurdle. I don't exactly feel like I want to pay the cost of making git blame a bit harder.

Any other reason for changing the layout?

Just what I said in the comment. I'm not wedded to this change. Will drop it if others don't think it makes sense.

Out of interest do you know if there are plans to remove the legacy code one day?

Feb 24 2020, 3:24 PM · Restricted Project
steven_wu added a reviewer for D74994: [LTO] Rename legacy LTO files. NFC.: steven_wu.

I don't feel like this is necessary and creating a subdirectory without creating a new library feels weird. I agree the layout is a bit weird for new comer to LTO library but it is a relatively small hurdle. I don't exactly feel like I want to pay the cost of making git blame a bit harder.

Feb 24 2020, 12:39 PM · Restricted Project

Feb 20 2020

steven_wu added a comment to D73577: [compiler-rt] Build all alias in builtin as private external on Darwin.

ping

Feb 20 2020, 2:39 PM · Restricted Project, Restricted Project

Feb 19 2020

steven_wu accepted D74808: [MachO][NFC] Extract all CPU_(SUB_)TYPE logic to libObject.
Feb 19 2020, 9:40 AM · Restricted Project
steven_wu added a comment to D74784: [driver][darwin] Don't use -platform_version flag by default.

I forgot if there is reason to use the option by default at all time (I did ask that in the previous review but Alex might have given more context offline).

Feb 19 2020, 9:40 AM · Restricted Project, Restricted Project

Feb 7 2020

steven_wu accepted D73584: [libunwind] Rename __personality_routine to _Unwind_Personality_Fn.

I see. I don't really care then. LGTM!

Feb 7 2020, 1:12 PM · Restricted Project
steven_wu added a comment to D73577: [compiler-rt] Build all alias in builtin as private external on Darwin.

ping

Feb 7 2020, 1:03 PM · Restricted Project, Restricted Project

Feb 6 2020

steven_wu added a comment to D73584: [libunwind] Rename __personality_routine to _Unwind_Personality_Fn.

I hope we are not renaming everything because it add complexity on compatibility.

Rename only the refs from libunwind is not enough since there are refs from clang header and libc++abi as well. unwind.h and corresponding header from clang are both shipping products which add compatibility problem.

Git grepping for __ personality_routine after the patch yields only three results. One is the typedef inside of the clang Headers, Two are inside of tests of llvm that I am not sure are relevant here. libc++abi uses the name _Unwind_Personality_Fn instead of __personality_routine that libunwind has used prior to this patch. _Unwind_Personality_Fn is also what GCC calls it. So this patch actually makes it possible to compile libc++abi with libunwind (Build errors only show up on windows since only windows has actually used _Unwind_Personality_Fn ).

Regarding compatibility I am not sure, but I thought users are expected to include unwind.h from clang Headers anyways.

Feb 6 2020, 3:38 PM · Restricted Project
steven_wu added a comment to D73584: [libunwind] Rename __personality_routine to _Unwind_Personality_Fn.

I hope we are not renaming everything because it add complexity on compatibility.

Feb 6 2020, 10:41 AM · Restricted Project

Feb 2 2020

steven_wu added a comment to D73838: [libcxxabi] Fix layout of __cxa_exception for win64, fixing static assert failures.

The only case I know which can break after ABI change is the application has its own implementations to inspecting and handling exceptions. Almost everything go through libunwind and libcxxabi so as long as they are agree on the ABI, you have most of the cases covered.

Feb 2 2020, 5:32 PM · Restricted Project
steven_wu added a comment to D73584: [libunwind] Rename __personality_routine to _Unwind_Personality_Fn.

I don't really mind either way. If you are using clang, you are really not expecting to use <unwind.h> in libunwind without going through the clang header, which has both versions defined.

Feb 2 2020, 5:32 PM · Restricted Project

Feb 1 2020

steven_wu accepted D73838: [libcxxabi] Fix layout of __cxa_exception for win64, fixing static assert failures.

Looks like this is an ABI change for WIN64. If that is intended then LGTM

Feb 1 2020, 3:52 PM · Restricted Project

Jan 30 2020

steven_wu added a comment to D72543: [libcxxabi] Insert padding in __cxa_exception struct for compatibility.

@hans I landed this on master. Let me know if I need to do something for release branch. I will wait a bit to see if it breaks any unexpected users.

Jan 30 2020, 10:20 AM · Restricted Project
steven_wu committed rGf2a436058fcb: [libcxxabi] Insert padding in __cxa_exception struct for compatibility (authored by steven_wu).
[libcxxabi] Insert padding in __cxa_exception struct for compatibility
Jan 30 2020, 10:10 AM
steven_wu closed D72543: [libcxxabi] Insert padding in __cxa_exception struct for compatibility.
Jan 30 2020, 10:10 AM · Restricted Project

Jan 29 2020

steven_wu updated the diff for D72543: [libcxxabi] Insert padding in __cxa_exception struct for compatibility.

Move static_assert into header

Jan 29 2020, 9:30 AM · Restricted Project

Jan 28 2020

steven_wu updated the summary of D73577: [compiler-rt] Build all alias in builtin as private external on Darwin.
Jan 28 2020, 4:25 PM · Restricted Project, Restricted Project
steven_wu added a comment to D73577: [compiler-rt] Build all alias in builtin as private external on Darwin.

It was updated locally on my side but I guess it won't reflected here. Updating.

Jan 28 2020, 4:25 PM · Restricted Project, Restricted Project
steven_wu updated the diff for D73577: [compiler-rt] Build all alias in builtin as private external on Darwin.

Conditionalize the .private_extern based on VISIBILITY_HIDDEN macro

Jan 28 2020, 2:06 PM · Restricted Project, Restricted Project
steven_wu added a comment to D73577: [compiler-rt] Build all alias in builtin as private external on Darwin.

Should there be a COMPILER_RT_ALIAS and COMPILER_RT_HIDDEN_ALIAS macro? Does this change effect the libcompiler_rt.dylib in the OS. In the dylib, I suspect the aliases should be global.

Jan 28 2020, 1:56 PM · Restricted Project, Restricted Project
steven_wu added a reviewer for D73577: [compiler-rt] Build all alias in builtin as private external on Darwin: kledzik.
Jan 28 2020, 1:22 PM · Restricted Project, Restricted Project
steven_wu created D73577: [compiler-rt] Build all alias in builtin as private external on Darwin.
Jan 28 2020, 1:22 PM · Restricted Project, Restricted Project

Jan 23 2020

steven_wu updated subscribers of D67678: PR17164: Change clang's default behavior from -flax-vector-conversions=all to -flax-vector-conversions=integer..

@rsmith This also breaks macOS SDK. Can we revert this as we discuss a less aggressive option?

(This was already reverted a couple of days ago.)

Do you have a timeline for how long it would take to fix the MacOS SDK? Is this something we could realistically aim to do in Clang 11 instead? I would really prefer for us to not have different defaults for Darwin versus everywhere else, so if waiting one release cycle is enough, that seems fine.

I'll split out the new flag at least and re-land for Clang 10, while we figure out how to set the default.

Jan 23 2020, 10:09 AM · Restricted Project

Jan 22 2020

steven_wu added a comment to D67678: PR17164: Change clang's default behavior from -flax-vector-conversions=all to -flax-vector-conversions=integer..

@rsmith This also breaks macOS SDK. Can we revert this as we discuss a less aggressive option?

Jan 22 2020, 11:37 AM · Restricted Project

Jan 20 2020

steven_wu updated the diff for D72543: [libcxxabi] Insert padding in __cxa_exception struct for compatibility.

Fix ARM_EHABI.

Jan 20 2020, 11:12 AM · Restricted Project
steven_wu added a comment to D72543: [libcxxabi] Insert padding in __cxa_exception struct for compatibility.

From spelunking through history, it looks like D33030 tried to solve the same problem, and then rL319123 undid that solution and came up with a different one to solve the same underlying issue. rL319123 is still in place; does it need to be adjusted for the change in this diff?

It looks like those patches were attempts to ensure adequate alignment of the exception object given the absence of an alignment attribute on the _Unwind_Exception type itself. rL319123 became inadequate after _Unwind_Exception became an aligned type because that change still affected the layout of the C++ exception types. What we're fixing here is essentially the same problem that was introduced by D33030.

Makes sense. Should rL319123 be reverted then? The extra space that's being allocated by that change doesn't do what it's meant to do, so it seems wasteful to keep allocating it.

If __cxa_exception is already sufficiently aligned, I believe that patch does not allocate any extra space.

You're right; I understand the case rL319123 was intended for now.

Jan 20 2020, 10:26 AM · Restricted Project

Jan 10 2020

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

Dec 19 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.
  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?
Dec 19 2019, 3:13 PM · Restricted Project, 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, 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