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 (345 w, 6 d)

Recent Activity

Tue, Jun 15

steven_wu requested review of D104332: [llvm] Fix lto tests that requires ld64.
Tue, Jun 15, 4:18 PM · Restricted Project

Tue, Jun 8

steven_wu accepted D102627: [LTO] Support new PM in ThinLTOCodeGenerator..

LGTM

Tue, Jun 8, 1:56 PM · Restricted Project

Wed, Jun 2

steven_wu accepted D103547: Don't delete the module you're inspecting.

LGTM

Wed, Jun 2, 1:10 PM · Restricted Project
steven_wu added a comment to D103547: Don't delete the module you're inspecting.

Can you create a new test for clang Driver instead of rewrite the cc1 test?

Wed, Jun 2, 12:09 PM · Restricted Project

Mon, May 24

steven_wu committed rG034651498429: [llvm] Revert align attr test in test/Bitcode/attribute-3.3.ll (authored by steven_wu).
[llvm] Revert align attr test in test/Bitcode/attribute-3.3.ll
Mon, May 24, 9:16 AM
steven_wu closed D102880: [llvm] Revert align attr test in test/Bitcode/attribute-3.3.ll.
Mon, May 24, 9:16 AM · Restricted Project

Sat, May 22

steven_wu added a comment to D102726: [IR][AutoUpgrade] Drop alignment from non-pointer parameters and returns.

Just saw this. Thanks for taking care of the fallout.

Sat, May 22, 6:17 PM · Restricted Project

May 20 2021

steven_wu requested review of D102880: [llvm] Revert align attr test in test/Bitcode/attribute-3.3.ll.
May 20 2021, 3:28 PM · Restricted Project
steven_wu added a comment to D102726: [IR][AutoUpgrade] Drop alignment from non-pointer parameters and returns.

Can you include the revert to attributes-3.3.ll.bc as part of this?

I don't think that matters too much

I think it matters. With the original file in place, it's clear that we actually upgrade correctly all the attributes that were in the 3.3 test. Without it, it's unclear.

I am not sure if I revert a binary file will add a duplication to git history.

Every object in Git is referenced by the hash of its content. Older commits (before @jdoerfert's patch) will point at the same hash for attributes-3.3.ll.bc as the new commits after it gets reverted back. There's no duplication here.

The case in 3.3 version is kind of covered by newly added test case except created by different llvm version.

Yeah, kind of. But not entirely.

May 20 2021, 12:56 PM · Restricted Project
steven_wu committed rG5b6cae552490: [IR][AutoUpgrade] Drop alignment from non-pointer parameters and returns (authored by steven_wu).
[IR][AutoUpgrade] Drop alignment from non-pointer parameters and returns
May 20 2021, 9:55 AM
steven_wu closed D102726: [IR][AutoUpgrade] Drop alignment from non-pointer parameters and returns.
May 20 2021, 9:55 AM · Restricted Project
steven_wu accepted D102479: [clang][driver] Treat unkonwn -flto= values as -flto.

LGTM

May 20 2021, 9:40 AM · Restricted Project

May 19 2021

steven_wu added a comment to D102726: [IR][AutoUpgrade] Drop alignment from non-pointer parameters and returns.

Nit: Commit subject (not message) is old, maybe change prior to push locally

May 19 2021, 4:42 PM · Restricted Project
steven_wu added a comment to D102726: [IR][AutoUpgrade] Drop alignment from non-pointer parameters and returns.

Can you include the revert to attributes-3.3.ll.bc as part of this?

May 19 2021, 3:20 PM · Restricted Project
steven_wu updated the diff for D102726: [IR][AutoUpgrade] Drop alignment from non-pointer parameters and returns.

Remove all incompatible attributes.

May 19 2021, 2:44 PM · Restricted Project
steven_wu updated the diff for D102726: [IR][AutoUpgrade] Drop alignment from non-pointer parameters and returns.

Address review feedback. Now remove all incompatible attributes from non pointer type.

May 19 2021, 2:19 PM · Restricted Project

May 18 2021

steven_wu requested review of D102726: [IR][AutoUpgrade] Drop alignment from non-pointer parameters and returns.
May 18 2021, 2:30 PM · Restricted Project
steven_wu added a comment to D102479: [clang][driver] Treat unkonwn -flto= values as -flto.

I don't think current implementation is the best idea. I think is better to make the gcc compatible LTO value to be a clang Driver only option, give them an option name, and handle them separately in driver to invoke correct fullLTO cc1 command, so that:

  • The value remain invalid option for cc1 (CompilerInvocation should just error on that, just like now).
  • The ignored value should not appear in the help or autocompletion.
May 18 2021, 9:48 AM · Restricted Project

May 17 2021

steven_wu added a comment to D87304: [AttributeFuncs] Consider `align` in `typeIncompatible`.

The reason I only fix return type in D102201 is that I identify the source of such incompatibility, which is coming from an optimization pass, so that can be wild spread incompatibility. The optimization pass explicitly happens when it is return type and check to remove all attributes that is incompatibly returned from typeIncompatible.

May 17 2021, 2:11 PM · Restricted Project
steven_wu added a comment to D102627: [LTO] Support new PM in ThinLTOCodeGenerator..

That is easier than I think. Is there still any missing function in terms of NewPM after this patch?

May 17 2021, 8:08 AM · Restricted Project

May 15 2021

steven_wu added a comment to D102201: [IR][AutoUpgrade] Drop align attribute from void return types.

I don’t understand code size increase as well and have no guess about what might happen. This should be noop on bitcode that can pass the verifier.

May 15 2021, 8:24 PM · Restricted Project

May 11 2021

steven_wu committed rG4eff94694753: [IR][AutoUpgrade] Drop align attribute from void return types (authored by steven_wu).
[IR][AutoUpgrade] Drop align attribute from void return types
May 11 2021, 8:24 AM
steven_wu closed D102201: [IR][AutoUpgrade] Drop align attribute from void return types.
May 11 2021, 8:24 AM · Restricted Project

May 10 2021

steven_wu updated the diff for D102201: [IR][AutoUpgrade] Drop align attribute from void return types.

Address review feedback.

May 10 2021, 4:14 PM · Restricted Project
steven_wu requested review of D102201: [IR][AutoUpgrade] Drop align attribute from void return types.
May 10 2021, 3:26 PM · Restricted Project

Apr 29 2021

steven_wu committed rG7259394b32d9: [CMake][compiler-rt] avoid conflict with builtin check_linker_flag (authored by steven_wu).
[CMake][compiler-rt] avoid conflict with builtin check_linker_flag
Apr 29 2021, 7:33 PM
steven_wu closed D101581: [CMake][compiler-rt] avoid conflict with builtin check_linker_flag.
Apr 29 2021, 7:32 PM · Restricted Project
steven_wu requested review of D101581: [CMake][compiler-rt] avoid conflict with builtin check_linker_flag.
Apr 29 2021, 3:09 PM · Restricted Project
steven_wu abandoned D99546: [llvm][ValueMap] Share the value map between MappingContext.

Thanks @dexonsmith and @tejohnson . I will just abandon this one.

Apr 29 2021, 8:55 AM · Restricted Project

Apr 27 2021

steven_wu accepted D101419: Linker: Avoid scheduling the link of a global value twice due to an alias.
Apr 27 2021, 6:37 PM · Restricted Project
steven_wu added a comment to D99546: [llvm][ValueMap] Share the value map between MappingContext.

A bit more information is that the GV that triggers the assertion now is being materialized from both Global and Local (Indirect?) Materializer because of the complexity of the GV and Alias in the module.

Apr 27 2021, 5:06 PM · Restricted Project

Apr 26 2021

steven_wu added a comment to D99546: [llvm][ValueMap] Share the value map between MappingContext.

Ping. I still couldn't figure the algorithm used here and what semantics does the comdat have. Need some help here.

Apr 26 2021, 4:22 PM · Restricted Project

Apr 13 2021

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

LGTM

Apr 13 2021, 11:57 AM · Restricted Project

Mar 30 2021

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

Ok, fine with that.

Mar 30 2021, 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.

Mar 30 2021, 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

Mar 30 2021, 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?

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

Mar 29 2021

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

Update testcase.

Mar 29 2021, 4:42 PM · Restricted Project
steven_wu added inline comments to D99546: [llvm][ValueMap] Share the value map between MappingContext.
Mar 29 2021, 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?

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

Mar 22 2021

steven_wu accepted D99125: [dsymutil] Fix spurious warnings for missing symbols with thinLTO.
Mar 22 2021, 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.

Mar 22 2021, 3:20 PM · Restricted Project

Mar 19 2021

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.

Mar 19 2021, 9:41 AM · Restricted Project

Mar 17 2021

steven_wu committed rG991df7333d4a: [Object][MachO] Handle end iterator in getSymbolType() (authored by steven_wu).
[Object][MachO] Handle end iterator in getSymbolType()
Mar 17 2021, 3:07 PM
steven_wu closed D98739: [Object][MachO] Handle end iterator in getSymbolType().
Mar 17 2021, 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