Page MenuHomePhabricator
Feed Advanced Search

Tue, Apr 13

steven_wu accepted D100405: Ship `llvm-cxxfilt` in the toolchain..

LGTM

Tue, Apr 13, 11:57 AM · Restricted Project

Tue, Mar 30

steven_wu accepted D92611: [LTO][Legacy] Decouple option parsing from LTOCodeGenerator.

Ok, fine with that.

Tue, Mar 30, 2:00 PM · Restricted Project
steven_wu added a comment to D92611: [LTO][Legacy] Decouple option parsing from LTOCodeGenerator.

@steven_wu thanks for your review. Is this good to be merged then?

Can you just revert to use parsedOptions as boolean? The state you used right now doesn't add anything. You can just leave lto_set_debug_options not guarded right?

I consider the two APIs lto_set_debug_options and lto_codegen_debug_options to be mutually exclusive, so I need to keep track whether lto_set_debug_options was called.
Before creating the enum state, I had two booleans parsedOptions and parsedOptionsEarly where parsedOptionsEarly is a boolean I added to tell that early options has been set (i.e. lto_set_debug_options called).
However, I cannot set parsedOptions when my new API function is called because I want maybeParseOptions to still do it's thing. So I needed that second boolean.

So I then created the state variable in place of the two booleans (cleaner in my opinion and avoids having to check combinations of the two booleans) to tell which state we're in:

NotParsed, // Initial state. before either lto_set_debug_options or maybeParseOptions is called.
Early,     // After lto_set_debug_options is called. This state will be skipped if user calls lto_codegen_debug_options.
Done       // After maybeParseOptions is called (i.e. unwrap(cg)->parseCodeGenDebugOptions() and lto_add_attrs(cg) have executed)

The state can either change NotParsed -> Done or NotParsed -> Early -> Done depending on which API was used to set debug options.

Tue, Mar 30, 1:28 PM · Restricted Project
steven_wu added a comment to D99546: [llvm][ValueMap] Share the value map between MappingContext.

FYI, for the broken comdat, see the unit tests breaks

Tue, Mar 30, 11:54 AM · Restricted Project
steven_wu added a comment to D92611: [LTO][Legacy] Decouple option parsing from LTOCodeGenerator.

@steven_wu thanks for your review. Is this good to be merged then?

Tue, Mar 30, 11:09 AM · Restricted Project
steven_wu added inline comments to D92611: [LTO][Legacy] Decouple option parsing from LTOCodeGenerator.
Tue, Mar 30, 9:31 AM · Restricted Project

Mon, Mar 29

steven_wu updated the diff for D99546: [llvm][ValueMap] Share the value map between MappingContext.

Update testcase.

Mon, Mar 29, 4:42 PM · Restricted Project
steven_wu added inline comments to D99546: [llvm][ValueMap] Share the value map between MappingContext.
Mon, Mar 29, 3:50 PM · Restricted Project
steven_wu added a comment to D99546: [llvm][ValueMap] Share the value map between MappingContext.

@pcc @tejohnson I tried to fix the assertion failure shown in the test case (reduced from actual code generated from swift compiler) by simplifying the ValueMapper but I couldn't quite get the comdat tests to pass. I think comdat is relying on some of the indirect symbol that doesn't appear in the ValueMap for the normal context but I couldn't quite figure out how that works. Any suggestion?

Mon, Mar 29, 3:38 PM · Restricted Project
steven_wu requested review of D99546: [llvm][ValueMap] Share the value map between MappingContext.
Mon, Mar 29, 3:35 PM · Restricted Project

Mon, Mar 22

steven_wu accepted D99125: [dsymutil] Fix spurious warnings for missing symbols with thinLTO.
Mon, Mar 22, 5:09 PM · Restricted Project
steven_wu added a comment to D92611: [LTO][Legacy] Decouple option parsing from LTOCodeGenerator.

I still don't like this implementation, but fine if you have to do this.

Mon, Mar 22, 3:20 PM · Restricted Project

Fri, Mar 19

steven_wu requested changes to D92611: [LTO][Legacy] Decouple option parsing from LTOCodeGenerator.

Like replied in email. The non-scaleable option is very intentional and debug_option is by its name for compiler developer only and should not be used in production. The preferred option is to create API to set every single attributes you want to set.

Fri, Mar 19, 9:41 AM · Restricted Project

Wed, Mar 17

steven_wu committed rG991df7333d4a: [Object][MachO] Handle end iterator in getSymbolType() (authored by steven_wu).
[Object][MachO] Handle end iterator in getSymbolType()
Wed, Mar 17, 3:07 PM
steven_wu closed D98739: [Object][MachO] Handle end iterator in getSymbolType().
Wed, Mar 17, 3:07 PM · Restricted Project

Mar 16 2021

steven_wu requested review of D98739: [Object][MachO] Handle end iterator in getSymbolType().
Mar 16 2021, 1:24 PM · Restricted Project

Mar 8 2021

steven_wu accepted D98183: [libLTO] Add support for -save-temps..

Can you add a test case? Otherwise, LGTM.

Mar 8 2021, 8:43 AM · Restricted Project
steven_wu added a comment to D98183: [libLTO] Add support for -save-temps..

LTOCodegen can achieve most of the temp file by going through write_merged_module function. While I don't see this save-temps gains much advantage comparing the existing one except more granularity, it is also fine to have this new debug option. It would be good to switch the save-temp interface to using this flag in the future since it will simplify the code in libLTO and ld.

Mar 8 2021, 8:43 AM · Restricted Project

Feb 23 2021

steven_wu added inline comments to D97128: [ThinLTO] Make cloneUsedGlobalVariables deterministic.
Feb 23 2021, 3:16 PM · Restricted Project
steven_wu added a comment to D97254: [llvm] Add assertions for the smart pointers with the possibility to be null returned from ThinLTOCodeGenerator::linkCombinedIndex.

This one might be better just fix the FIXME in linkCombinedIndex since assert won't do anything in the release build.

Feb 23 2021, 9:56 AM · Restricted Project

Feb 19 2021

steven_wu accepted D93003: [libunwind] unw_* alias fixes for ELF and Mach-O.

My main concern is just that weak alias for libc++abi that never worked for Darwin :)

Feb 19 2021, 5:26 PM · Restricted Project, Restricted Project, Restricted Project
steven_wu added inline comments to D96962: [compiler-rt/mac]: use DARWIN_osx_SYSROOT to set OSX_SYSROOT_FLAG.
Feb 19 2021, 9:38 AM

Feb 18 2021

steven_wu accepted D96629: [llvm][TextAPI] add equality operator for InterfaceFile.
Feb 18 2021, 10:52 AM · Restricted Project

Feb 17 2021

steven_wu accepted D96629: [llvm][TextAPI] add equality operator for InterfaceFile.

Looks good. with a small comment inline.

Feb 17 2021, 1:46 PM · Restricted Project

Feb 16 2021

steven_wu added a comment to D93003: [libunwind] unw_* alias fixes for ELF and Mach-O.

Maybe this is blocked on someone from Apple reviewing the Mach-O parts?

Feb 16 2021, 4:33 PM · Restricted Project, Restricted Project, Restricted Project
steven_wu added a comment to D96629: [llvm][TextAPI] add equality operator for InterfaceFile.

Good in general. Suggestions in line.

Feb 16 2021, 2:09 PM · Restricted Project

Feb 5 2021

steven_wu added inline comments to D93003: [libunwind] unw_* alias fixes for ELF and Mach-O.
Feb 5 2021, 10:12 AM · Restricted Project, Restricted Project, Restricted Project

Jan 29 2021

steven_wu accepted D94487: [LTO] Use lto::backend for code generation..

This looks clean. LGTM. ThinLTO change in a separate commit?

Jan 29 2021, 2:24 PM · Restricted Project
steven_wu added a comment to D94487: [LTO] Use lto::backend for code generation..

LGTM with only one comment.

Jan 29 2021, 10:55 AM · Restricted Project

Jan 27 2021

steven_wu added a comment to D95222: [LTO] Update splitCodeGen to take a reference to the module. (NFC).

LGTM. @pcc does this look fine to you?

Jan 27 2021, 9:28 AM · Restricted Project

Jan 26 2021

steven_wu added a comment to D95222: [LTO] Update splitCodeGen to take a reference to the module. (NFC).

Offline comment to Florian is that:

Jan 26 2021, 2:01 PM · Restricted Project

Jan 22 2021

steven_wu added a comment to D95222: [LTO] Update splitCodeGen to take a reference to the module. (NFC).

MergedModule is needed to support legacy API lto_codegen_write_merged_modules. You don't technical get the module back in memory, you just need to write to a file.

Jan 22 2021, 4:47 PM · Restricted Project

Jan 21 2021

steven_wu accepted D94630: [LTO] Add support for existing Config::Freestanding option..

Looks good now. Thanks.

Jan 21 2021, 1:53 PM · Restricted Project
steven_wu added a comment to D94630: [LTO] Add support for existing Config::Freestanding option..

LGTM. Did you figure out the answer of your inline comment?

Jan 21 2021, 9:17 AM · Restricted Project

Jan 15 2021

steven_wu accepted D94783: [LTO] Remove options to disable inlining and GVNLoadPRE..

Sounds like a good idea to me!

Jan 15 2021, 9:29 AM · Restricted Project

Jan 13 2021

steven_wu accepted D94486: [LTO] Expose opt() in LTOBackend (NFC)..

LGTM!

Jan 13 2021, 10:21 AM · Restricted Project

Jan 12 2021

steven_wu added a comment to D94486: [LTO] Expose opt() in LTOBackend (NFC)..

LGTM with a small comment.

Jan 12 2021, 10:14 AM · Restricted Project
steven_wu added a comment to D94487: [LTO] Use lto::backend for code generation..

I think this is good to be a first step. The approach is correct and left some small suggestion above. The linter warnings need to be fixed as well.

Jan 12 2021, 9:55 AM · Restricted Project

Dec 7 2020

steven_wu requested changes to D92611: [LTO][Legacy] Decouple option parsing from LTOCodeGenerator.

Feedback has been provided on the mailing list. Using function attributes is preferred and changing legacy C API is not allowed.

Dec 7 2020, 9:50 AM · Restricted Project

Oct 16 2020

steven_wu accepted D89472: [LTO][Legacy] Eliminate an unused member of llvm::LTOModule. NFC..
Oct 16 2020, 8:58 AM · Restricted Project

Oct 9 2020

steven_wu committed rG360f275cb789: [IRMover] Add missing open quote in the warning message (authored by steven_wu).
[IRMover] Add missing open quote in the warning message
Oct 9 2020, 3:20 PM

Sep 25 2020

steven_wu added a comment to D88309: [LTO][Legacy] Add API to set result type to assembly.

@steven_wu what about the alternative solution where we make libLTO query the --filetype command line option. This will not require adding a new function to the API, but it does change the behavior of existing functions (lto_codegen_write_merged_modules, lto_codegen_compile, lto_codegen_optimize, lto_codegen_compile_optimized, lto_codegen_compile_to_file)

diff --git a/llvm/tools/lto/lto.cpp b/llvm/tools/lto/lto.cpp
index b680714..8251f7b 100644
--- a/llvm/tools/lto/lto.cpp
+++ b/llvm/tools/lto/lto.cpp
@@ -157,20 +157,23 @@
 
 // Convert the subtarget features into a string to pass to LTOCodeGenerator.
 static void lto_add_attrs(lto_code_gen_t cg) {
   LTOCodeGenerator *CG = unwrap(cg);
   auto MAttrs = codegen::getMAttrs();
   if (!MAttrs.empty()) {
     std::string attrs = join(MAttrs, ",");
     CG->setAttr(attrs);
   }
 
+  if (auto FT = codegen::getExplicitFileType())
+    CG->setFileType(FT.getValue());
+
   if (OptLevel < '0' || OptLevel > '3')
     report_fatal_error("Optimization level must be between 0 and 3");
   CG->setOptLevel(OptLevel - '0');
   CG->setFreestanding(EnableFreestanding);
 }
Sep 25 2020, 4:52 PM · Restricted Project
steven_wu added a comment to D88309: [LTO][Legacy] Add API to set result type to assembly.

In that case, please increment LTO_API_VERSION. If you think the API needs more documentation, please add to docs/LinkTimeOptimization.rst

Sep 25 2020, 10:21 AM · Restricted Project
steven_wu added a comment to D88309: [LTO][Legacy] Add API to set result type to assembly.
  • If this is just a temporary workaround, I would resist make this change to bake in this API that will not be used in the future.

This seems to be conflating the immediate reason with the more general value of having such an interface. The interface that @tejohnson's earlier comment mentions presumably exists because there is value in having such an interface.

Sep 25 2020, 9:47 AM · Restricted Project
steven_wu added a comment to D88309: [LTO][Legacy] Add API to set result type to assembly.

Note libLTO API needs to be stable so:

  • If you need to add API, you need to bump API version, etc. Please refer to other commits that add APIs to see what needs to be done.
  • If this is just a temporary workaround, I would resist make this change to bake in this API that will not be used in the future.
Sep 25 2020, 8:55 AM · Restricted Project
steven_wu added a comment to D88309: [LTO][Legacy] Add API to set result type to assembly.

Can you clarify your motivation for this? libLTO is used as an interface for linker and linkers, in general, do not understand assembly files.

Sep 25 2020, 8:26 AM · Restricted Project

Sep 23 2020

steven_wu accepted D88114: [clang]Test ensuring -fembed-bitcode passed to cc1 captures pre-opt bitcode..

LGTM

Sep 23 2020, 9:22 AM · Restricted Project

Sep 22 2020

steven_wu added a comment to D88114: [clang]Test ensuring -fembed-bitcode passed to cc1 captures pre-opt bitcode..

Ok, I guess we are on the same page. The idea sounds fine to me.

Sep 22 2020, 3:42 PM · Restricted Project
steven_wu added a comment to D88114: [clang]Test ensuring -fembed-bitcode passed to cc1 captures pre-opt bitcode..

I am not sure what exactly is expected here. What is your definition for pre-optimized bitcode and how your test case ensures that? Can you explain a bit more for context?

Pre-optimized meaning before the llvm optimization pipeline is called. That's the current implementation, and the test explicitly checks that the inlining of bar into foo doesn't happen.

I could add an "alwaysinline" to bar, to further stress that.

Sep 22 2020, 2:15 PM · Restricted Project
steven_wu added a comment to D88114: [clang]Test ensuring -fembed-bitcode passed to cc1 captures pre-opt bitcode..

I am not sure what exactly is expected here. What is your definition for pre-optimized bitcode and how your test case ensures that? Can you explain a bit more for context?

Sep 22 2020, 1:59 PM · Restricted Project

Sep 16 2020

steven_wu added a comment to D85005: [libunwind] Support DW_CFA_remember/restore_state without heap allocation..

LGTM. Thanks.

Sep 16 2020, 9:45 AM · Restricted Project, Restricted Project

Sep 11 2020

steven_wu accepted D87477: [ThinLTO] Make -lto-embed-bitcode an enum.

SGTM.

Sep 11 2020, 11:03 AM · Restricted Project
steven_wu added a comment to D85005: [libunwind] Support DW_CFA_remember/restore_state without heap allocation..

seems fine. The only worry is that if you have a stack that is close to the stack limit and the unwinder might just blow the stack away so it might have bincompat concerns.

Sep 11 2020, 10:55 AM · Restricted Project, Restricted Project

Sep 4 2020

steven_wu added a comment to D84803: [ThinLTO][Legacy] Compute PreservedGUID based on IRName in Symtab.

Our builds are back to green with that change. I agree that the root cause is likely elsewhere, but getting to the bottom of it would unfortunately take more time than I am able to commit.

Sep 4 2020, 12:32 PM · Restricted Project
steven_wu committed rG97866b8de81c: [ThinLTO][Legacy] Fix StringRef assertion from ThinLTO bots (authored by steven_wu).
[ThinLTO][Legacy] Fix StringRef assertion from ThinLTO bots
Sep 4 2020, 12:31 PM
steven_wu added a comment to D86767: [libunwind] Minor SJLJ config cleanup. NFCI..

Sorry for the inconvenience that libunwind is not really buildable for armv7 from iOS SDK. You can build a single threaded version without referring to those interfaces. If this is really troublesome for you, feel free to file a bug report and we can see what can be done here.

Thanks. I think I'm OK as-is.

This patch is technically not correct from a bigger context. I think, for example, watch armv7k doesn't default to sjlj exception model but it needs to build sjlj model to support some clients.

That makes sense. It looks like passing -arch armv7k to clang is enough to switch it to using DWARF and compact unwinding rather than sjlj. I also see a comment in ToolChains/Darwin.cpp:
// Only watchOS uses the new DWARF/Compact unwinding method.

It seems that Darwin/armv7k libunwind doesn't build because config.h enables _LIBUNWIND_SUPPORT_COMPACT_UNWIND, but there is no 32-bit ARM compact unwinder. It looks like setting the flag is the right thing to do, though -- maybe the rest of the code is internal to Apple.

I'll revise or abandon this patch. My main goal was to ensure that if _LIBUNWIND_USE_DL_ITERATE_PHDR was defined, then either of _LIBUNWIND_ARM_EHABI or _LIBUNWIND_SUPPORT_DWARF_UNWIND would also be defined.

Sep 4 2020, 12:22 PM · Restricted Project, Restricted Project

Sep 1 2020

steven_wu added inline comments to D84999: dynamic_cast optimization in LTO.
Sep 1 2020, 10:34 AM · Restricted Project
steven_wu added a comment to D86847: [Bitcode] Add BITCODE_SIZE_BLOCK_ID to encode the size of the bitcode.

I am a bit worry that linker might concatenate bitcode file with padding to achieve alignment requirement, etc. I guess you can create a termination block to mark the end but it is hard to seek the next start.

We can set the section alignment to 1 to avoid padding: (I rushed a bit, sorry: 6ae7b403c3e1aebcb825d3dd4777d3c1149d6d67)

Sep 1 2020, 10:18 AM · Restricted Project

Aug 31 2020

steven_wu added a comment to D86847: [Bitcode] Add BITCODE_SIZE_BLOCK_ID to encode the size of the bitcode.

I am a bit worry that linker might concatenate bitcode file with padding to achieve alignment requirement, etc. I guess you can create a termination block to mark the end but it is hard to seek the next start.

Aug 31 2020, 4:18 PM · Restricted Project
steven_wu accepted D86767: [libunwind] Minor SJLJ config cleanup. NFCI..

Thanks. LGTM.

Aug 31 2020, 9:33 AM · Restricted Project, Restricted Project

Aug 28 2020

steven_wu added a comment to D84803: [ThinLTO][Legacy] Compute PreservedGUID based on IRName in Symtab.

Yeah, I wish I could give a nice test case, but it's a huge build and the affected configuration needs a lot of setup so I can't even replicate it locally at the moment.

If you have proposed patches I could send them off for a dry run relatively easily though.

Aug 28 2020, 2:33 PM · Restricted Project
steven_wu added a comment to D84803: [ThinLTO][Legacy] Compute PreservedGUID based on IRName in Symtab.

Hi, we're seeing an assertion failure in one of the Firefox LTO bots:

char llvm::StringRef::operator[](size_t) const: Assertion `Index < Length && "Invalid index!"' failed.

I'm still working on finishing the bisection but I have a hunch that it may be this change. Unfortunately I can't seem to get a backtrace out of this particular bot.

As a guess, could it be the operator[] in getGlobalIdentifier at https://github.com/llvm/llvm-project/blob/4cb016cd2d8467c572b2e5c5d34f376ee79e4ac1/llvm/lib/IR/Globals.cpp#L140 ? It looks like there was previously a check for Name.size() > 0 that isn't checked anymore.

Aug 28 2020, 12:24 PM · Restricted Project
steven_wu added a comment to D86767: [libunwind] Minor SJLJ config cleanup. NFCI..

Sorry for the inconvenience that libunwind is not really buildable for armv7 from iOS SDK. You can build a single threaded version without referring to those interfaces. If this is really troublesome for you, feel free to file a bug report and we can see what can be done here.

Aug 28 2020, 9:49 AM · Restricted Project, Restricted Project

Aug 26 2020

steven_wu committed rG476ca330894b: [LTO] Don't apply LTOPostLink module flag during writeMergedModule (authored by steven_wu).
[LTO] Don't apply LTOPostLink module flag during writeMergedModule
Aug 26 2020, 11:18 AM
steven_wu closed D84789: [LTO] Don't apply LTOPostLink module flag during writeMergedModule.
Aug 26 2020, 11:18 AM · Restricted Project
steven_wu committed rG34b289b6dbcf: [ThinLTO][Legacy] Compute PreservedGUID based on IRName in Symtab (authored by steven_wu).
[ThinLTO][Legacy] Compute PreservedGUID based on IRName in Symtab
Aug 26 2020, 10:15 AM
steven_wu closed D84803: [ThinLTO][Legacy] Compute PreservedGUID based on IRName in Symtab.
Aug 26 2020, 10:15 AM · Restricted Project
steven_wu added a comment to D84803: [ThinLTO][Legacy] Compute PreservedGUID based on IRName in Symtab.

ping

Aug 26 2020, 9:26 AM · Restricted Project
steven_wu added a comment to D84789: [LTO] Don't apply LTOPostLink module flag during writeMergedModule.

ping

Aug 26 2020, 9:26 AM · Restricted Project

Aug 17 2020

steven_wu committed rG4cd09374cdb1: [libunwind] Remove compatibility support for macOS 10.6 (authored by steven_wu).
[libunwind] Remove compatibility support for macOS 10.6
Aug 17 2020, 2:10 PM
steven_wu closed D86104: [libunwind] Remove compatibility support for macOS 10.6.
Aug 17 2020, 2:10 PM · Restricted Project, Restricted Project
steven_wu requested review of D86104: [libunwind] Remove compatibility support for macOS 10.6.
Aug 17 2020, 1:20 PM · Restricted Project, Restricted Project

Aug 12 2020

steven_wu accepted D84908: [darwin][compiler-rt] build libclang_rt.<os>sim.a Apple Silicon slice, if SDK supports it.

LGTM

Aug 12 2020, 9:10 AM

Aug 7 2020

steven_wu added a comment to D84803: [ThinLTO][Legacy] Compute PreservedGUID based on IRName in Symtab.

Also added a followup that can potentially deal with the conflict between "_$NAME" and "\01_$NAME". Not sure if that is going to affect some other platforms or not so I put them in a separate review: https://reviews.llvm.org/D85564

Aug 7 2020, 3:57 PM · Restricted Project
steven_wu requested review of D85564: [IR] Add an option to preserve llvm prefix for global identifier.
Aug 7 2020, 3:54 PM · Restricted Project
steven_wu added a reviewer for D84803: [ThinLTO][Legacy] Compute PreservedGUID based on IRName in Symtab: evgeny777.
Aug 7 2020, 3:54 PM · Restricted Project
steven_wu retitled D84803: [ThinLTO][Legacy] Compute PreservedGUID based on IRName in Symtab from [ThinLTO][MachO] Preserve both possible GUIDs from exported list to [ThinLTO][Legacy] Compute PreservedGUID based on IRName in Symtab.
Aug 7 2020, 1:29 PM · Restricted Project
steven_wu updated the diff for D84803: [ThinLTO][Legacy] Compute PreservedGUID based on IRName in Symtab.

Address review feedback.

Aug 7 2020, 1:26 PM · Restricted Project

Aug 6 2020

steven_wu accepted D85367: [clang, test, Darwin] Fix tests expecting Darwin target.

LGTM

Aug 6 2020, 1:19 PM · Restricted Project

Aug 5 2020

steven_wu updated the diff for D84803: [ThinLTO][Legacy] Compute PreservedGUID based on IRName in Symtab.

Change how the GUID is computed in ThinLTOCodeGenerator.

Aug 5 2020, 4:47 PM · Restricted Project

Jul 30 2020

steven_wu added a comment to D84803: [ThinLTO][Legacy] Compute PreservedGUID based on IRName in Symtab.

So getGlobalIdentifier removes the leading \01 because it only indicates that the symbol is already mangled, but on the other hand does not apply the platform mangling when there isn't a \01? It seems inconsistent isn't it? Could getGlobalIdentifier mangle the symbol when there isn't the leading \01?

Jul 30 2020, 1:30 PM · Restricted Project
steven_wu added a comment to D84803: [ThinLTO][Legacy] Compute PreservedGUID based on IRName in Symtab.

Not very familiar with MachO. Can you clarify the issue - is it the case that some modules will use the mangled names and some won't? Otherwise it seems like it could use either all mangled or all unmangled.

The issue is that for macho, for a symbol in the object file (symbol table seen by the linker), let's say "_symbol". It can be either. "symbol" or "\01_symbol" in the bitcode file. When user/linker says it want to preserve "_symbol", you don't know what the GUID for that symbol is because it can be both.

I see - so this is an issue with the way the user has specified the name through some kind of option to say it needs to be preserved.

Jul 30 2020, 10:06 AM · Restricted Project
steven_wu added a comment to D84803: [ThinLTO][Legacy] Compute PreservedGUID based on IRName in Symtab.

Not very familiar with MachO. Can you clarify the issue - is it the case that some modules will use the mangled names and some won't? Otherwise it seems like it could use either all mangled or all unmangled.

Jul 30 2020, 8:49 AM · Restricted Project

Jul 28 2020

steven_wu added a comment to D84803: [ThinLTO][Legacy] Compute PreservedGUID based on IRName in Symtab.

This is basically a fundamental issues in GUID for machO format, which I am not sure if we can fix the underlying issue. That requires computing GUID based on mangled name, which can be more expensive and I am not sure if it will break the module summary for compatibility if we switch algorithm. So I fixed the export/preserve list only because that is the only thing I can think of that will surface as a bug. Otherwise, the mismatch GUID will just be a missed optimization opportunity.

Jul 28 2020, 2:42 PM · Restricted Project
steven_wu requested review of D84803: [ThinLTO][Legacy] Compute PreservedGUID based on IRName in Symtab.
Jul 28 2020, 2:37 PM · Restricted Project
steven_wu requested review of D84789: [LTO] Don't apply LTOPostLink module flag during writeMergedModule.
Jul 28 2020, 12:35 PM · Restricted Project

Jul 27 2020

steven_wu accepted D84700: [ThinLTO] [test] cache.ll: Prevent Spotlight indexing of the output dir.

I have seen that and was wondering why. Thanks for figuring that out!

Jul 27 2020, 1:56 PM · Restricted Project
steven_wu accepted D84564: [darwin] build and link with a separate compiler-rt builtins library for device simulators.

LGTM

Jul 27 2020, 9:11 AM · Restricted Project, Restricted Project

Jul 23 2020

steven_wu committed rGac375c2fe316: [Bitcode] Avoid duplicating linker option when upgrading (authored by steven_wu).
[Bitcode] Avoid duplicating linker option when upgrading
Jul 23 2020, 1:08 PM
steven_wu closed D83688: [Bitcode] Avoid duplicating linker option when upgrading.
Jul 23 2020, 1:08 PM · Restricted Project
steven_wu updated the diff for D83688: [Bitcode] Avoid duplicating linker option when upgrading.

rebase the patch and ping.

Jul 23 2020, 9:09 AM · Restricted Project
steven_wu committed rG78709345fb34: [Bitcode] Drop invalid branch_weight in BitcodeReader (authored by steven_wu).
[Bitcode] Drop invalid branch_weight in BitcodeReader
Jul 23 2020, 9:07 AM
steven_wu closed D83699: [Bitcode] Drop invalid branch_weight in BitcodeReader.
Jul 23 2020, 9:07 AM · Restricted Project

Jul 22 2020

steven_wu updated the diff for D83699: [Bitcode] Drop invalid branch_weight in BitcodeReader.

Address review feedback

Jul 22 2020, 3:38 PM · Restricted Project

Jul 20 2020

steven_wu added a reviewer for D83699: [Bitcode] Drop invalid branch_weight in BitcodeReader: aprantl.
Jul 20 2020, 9:16 PM · Restricted Project
steven_wu updated the diff for D83699: [Bitcode] Drop invalid branch_weight in BitcodeReader.

Address review feedback and also add a testcase to make sure good branch
weights are not stripped.

Jul 20 2020, 9:16 PM · Restricted Project
steven_wu added a comment to D83688: [Bitcode] Avoid duplicating linker option when upgrading.

Ping

Jul 20 2020, 9:16 PM · Restricted Project

Jul 14 2020

steven_wu committed rG7de78fc93054: [compiler-rt] Add support for arm64 macOS (authored by steven_wu).
[compiler-rt] Add support for arm64 macOS
Jul 14 2020, 4:55 PM
steven_wu committed rGadb5cb915df2: [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
Jul 14 2020, 4:29 PM
steven_wu committed rG2b42080b51c9: [clang] Teach -fembed-bitcode option not to embed W_value Group (authored by steven_wu).
[clang] Teach -fembed-bitcode option not to embed W_value Group
Jul 14 2020, 2:41 PM