Page MenuHomePhabricator

christylee (Christy Lee)
User

Projects

User does not belong to any projects.

User Details

User Since
Aug 27 2018, 3:54 PM (238 w, 5 d)

Recent Activity

Sep 13 2022

christylee added a comment to D133740: [ELF][Distributed ThinLTO] Do not generate empty index when bitcode object is linked.

For Bazel like build systems, it seems weird to have one object file in two modes, lazy and non-lazy. Do you know why it happens for your build system?
I think the change will improve robustness of lld's distributed ThinLTO usage so we probably need to make the change.

We've seen the case of 2 same lazy objects in buck, and the cause for that is still a mystery to us. @christylee may know more.

Such a build system usually deduplicates linker input. I have seen duplicate archives but they are -lc, -lc++, etc, not from cc_library like targets.
Technically with linker scripts INPUT and GROUP an archive can be referenced by two cc_library, but that's a very rare case usually implying a user mistake but I feel the linker can guard against it, which will also help traditional build systems which don't do a great job deduplicating input.

Sep 13 2022, 12:19 PM · Restricted Project, Restricted Project

Feb 24 2022

christylee added a comment to D120443: [lld][ELF] --start-lib should be treated as archives when using --whole-archives.

The issue I'm facing is that if I use --whole-archive with --start-lib A.o --end-lib, the symbols that are included are not the same as those
if I were to just include libA.a. I would have expected that --start-lib A.o --end-lib would behave like archives, and that they would result
in the same symbol resolution.

Feb 24 2022, 12:24 PM

Feb 23 2022

christylee added a comment to D120443: [lld][ELF] --start-lib should be treated as archives when using --whole-archives.

I have thought reporting an error for such nested usage, but it needs some research that no build system relies on the behavior.
I'll be happy to check whether Bazel has nested usage. Perhaps you can do the same for your build system?

Feb 23 2022, 5:46 PM
christylee requested review of D120443: [lld][ELF] --start-lib should be treated as archives when using --whole-archives.
Feb 23 2022, 5:06 PM

Aug 13 2020

christylee updated the diff for D85056: [ELF] Add --keep-section to expose linkerscript KEEP directive as a linker flag.

Updated to use the script parser so we can allow all KEEP semantics

Aug 13 2020, 3:17 PM · Restricted Project

Jul 31 2020

christylee added a comment to D85056: [ELF] Add --keep-section to expose linkerscript KEEP directive as a linker flag.

--gc-sections throw away all unreferenced sections, but we sometimes need to keep some of them.

If an input section defines a non-local symbol, you can use -u to retain the section.

Although it's possible to use a linkerscript with the KEEP directive, it is often cumbersome for large repositories where each binary might have its own linkerscript.

Jul 31 2020, 4:39 PM · Restricted Project
christylee updated the summary of D85056: [ELF] Add --keep-section to expose linkerscript KEEP directive as a linker flag.
Jul 31 2020, 4:16 PM · Restricted Project
christylee requested review of D85056: [ELF] Add --keep-section to expose linkerscript KEEP directive as a linker flag.
Jul 31 2020, 4:13 PM · Restricted Project

Jul 27 2020

christylee updated the diff for D84569: [ELF] --reproduce should include lto sample profile.

Addressed comments, fixed unittest.

Jul 27 2020, 9:13 AM · Restricted Project
christylee added inline comments to D84569: [ELF] --reproduce should include lto sample profile.
Jul 27 2020, 8:59 AM · Restricted Project

Jul 24 2020

christylee updated the diff for D84569: [ELF] --reproduce should include lto sample profile.

Moved test case to reproduce-lto.s

Jul 24 2020, 6:30 PM · Restricted Project
christylee added inline comments to D84569: [ELF] --reproduce should include lto sample profile.
Jul 24 2020, 5:23 PM · Restricted Project
christylee added a reviewer for D84569: [ELF] --reproduce should include lto sample profile: ruiu.
Jul 24 2020, 5:23 PM · Restricted Project
christylee updated the diff for D84569: [ELF] --reproduce should include lto sample profile.

Removed debug comment.

Jul 24 2020, 5:21 PM · Restricted Project
Herald added a project to D84569: [ELF] --reproduce should include lto sample profile: Restricted Project.
Jul 24 2020, 5:19 PM · Restricted Project

Jul 23 2020

christylee added a comment to D80765: [ELF] Handle bitcode comdat groups separately to deduplicate thinlto comdat sections.

BTW, do you have statistics about the effectiveness for this change?

Jul 23 2020, 11:02 AM · Restricted Project
christylee added a comment to D80765: [ELF] Handle bitcode comdat groups separately to deduplicate thinlto comdat sections.

In case we are concerned about correctness, we've been using this patch internally for a couple of months with no problems.

Jul 23 2020, 9:38 AM · Restricted Project
christylee added inline comments to D80765: [ELF] Handle bitcode comdat groups separately to deduplicate thinlto comdat sections.
Jul 23 2020, 9:36 AM · Restricted Project

Jul 2 2020

christylee added inline comments to D82193: [OpenMPOpt] ICV macro definitions.
Jul 2 2020, 12:25 PM · Restricted Project

Jun 24 2020

christylee added inline comments to D80765: [ELF] Handle bitcode comdat groups separately to deduplicate thinlto comdat sections.
Jun 24 2020, 11:21 AM · Restricted Project
christylee added inline comments to D80765: [ELF] Handle bitcode comdat groups separately to deduplicate thinlto comdat sections.
Jun 24 2020, 9:42 AM · Restricted Project

Jun 12 2020

christylee added a comment to D80765: [ELF] Handle bitcode comdat groups separately to deduplicate thinlto comdat sections.

@grimar Do you know who might be a good reviewer?

Jun 12 2020, 3:24 PM · Restricted Project

Jun 9 2020

christylee updated the diff for D80765: [ELF] Handle bitcode comdat groups separately to deduplicate thinlto comdat sections.

Fixed comment.

Jun 9 2020, 4:07 PM · Restricted Project

Jun 3 2020

christylee added a comment to D80765: [ELF] Handle bitcode comdat groups separately to deduplicate thinlto comdat sections.

We don't need to make the same change to COFF. COFF does not ignore comdats, it attempts to add a comdat symbol as long as the symbol is external. It also tracks whether a symbol is from a regular object file or bitcode file so it won't have duplicates.

Jun 3 2020, 12:38 PM · Restricted Project
christylee retitled D80765: [ELF] Handle bitcode comdat groups separately to deduplicate thinlto comdat sections from [lld] Handle bitcode comdat groups separately to deduplicate thinlto comdat sections to [ELF] Handle bitcode comdat groups separately to deduplicate thinlto comdat sections.
Jun 3 2020, 12:38 PM · Restricted Project
christylee updated the diff for D80765: [ELF] Handle bitcode comdat groups separately to deduplicate thinlto comdat sections.

Fixed a comment.

Jun 3 2020, 12:38 PM · Restricted Project
christylee updated the diff for D80765: [ELF] Handle bitcode comdat groups separately to deduplicate thinlto comdat sections.

Changed variable name bitcodeComdatGroup to ltoOutputComdatGroup for consistency.

Jun 3 2020, 12:05 PM · Restricted Project

May 29 2020

christylee updated the diff for D80765: [ELF] Handle bitcode comdat groups separately to deduplicate thinlto comdat sections.

Addressed comments:

May 29 2020, 5:30 PM · Restricted Project
christylee added a comment to D80765: [ELF] Handle bitcode comdat groups separately to deduplicate thinlto comdat sections.

@sbc100 What would be a good way to go about writing a test for this? The reason why I noticed this bug was because .debug_types are not deduplicated in thinlto, but writing a lld test case using debug metadata seems clunky.

May 29 2020, 1:06 PM · Restricted Project
christylee updated the summary of D80765: [ELF] Handle bitcode comdat groups separately to deduplicate thinlto comdat sections.
May 29 2020, 1:06 PM · Restricted Project
christylee updated the summary of D80765: [ELF] Handle bitcode comdat groups separately to deduplicate thinlto comdat sections.
May 29 2020, 1:06 PM · Restricted Project
christylee added a comment to D80765: [ELF] Handle bitcode comdat groups separately to deduplicate thinlto comdat sections.
May 29 2020, 12:33 PM · Restricted Project

May 28 2020

christylee added a comment to D80255: [rfc] [lld] Do not ignore comdats when parsing LTO objects.

New diff: https://reviews.llvm.org/D80765

May 28 2020, 4:32 PM · Restricted Project
christylee updated the diff for D80765: [ELF] Handle bitcode comdat groups separately to deduplicate thinlto comdat sections.

Fixed typo and removed unrelated change.

May 28 2020, 4:32 PM · Restricted Project
christylee updated the summary of D80765: [ELF] Handle bitcode comdat groups separately to deduplicate thinlto comdat sections.
May 28 2020, 3:59 PM · Restricted Project
christylee created D80765: [ELF] Handle bitcode comdat groups separately to deduplicate thinlto comdat sections.
May 28 2020, 3:58 PM · Restricted Project
christylee abandoned D80255: [rfc] [lld] Do not ignore comdats when parsing LTO objects.

@hoy and I figured out the issue, the problem is caused by de-duplicating twice in thinlto, once in thin link, once in final link. Abandoning this in favor of a new approach. New diff coming up soon.

May 28 2020, 2:18 PM · Restricted Project

May 26 2020

christylee added a comment to D80255: [rfc] [lld] Do not ignore comdats when parsing LTO objects.

How did it work with gold with the LTO plugin?

May 26 2020, 11:58 AM · Restricted Project

May 20 2020

christylee added a comment to D80255: [rfc] [lld] Do not ignore comdats when parsing LTO objects.

I tried building a more complex workload and the build failed due to some undefined hidden symbol. For thinlto, is the linker or codegen supposed to handle comdat folding?

May 20 2020, 4:00 PM · Restricted Project
christylee retitled D80255: [rfc] [lld] Do not ignore comdats when parsing LTO objects from [lld] Do not ignore comdats when parsing LTO objects to [rfc] [lld] Do not ignore comdats when parsing LTO objects.
May 20 2020, 4:00 PM · Restricted Project
christylee retitled D80255: [rfc] [lld] Do not ignore comdats when parsing LTO objects from [RFC] [LLD] Do not ignore comdats when parsing LTO objects to [lld] Do not ignore comdats when parsing LTO objects.
May 20 2020, 10:54 AM · Restricted Project
christylee updated the diff for D80255: [rfc] [lld] Do not ignore comdats when parsing LTO objects.

Addressed comments. 1). made the same change to wasm. 2). removed the argument ignoreComdats.

May 20 2020, 10:54 AM · Restricted Project

May 19 2020

christylee updated the summary of D80255: [rfc] [lld] Do not ignore comdats when parsing LTO objects.
May 19 2020, 4:00 PM · Restricted Project
christylee created D80255: [rfc] [lld] Do not ignore comdats when parsing LTO objects.
May 19 2020, 4:00 PM · Restricted Project
christylee added a comment to D62884: [lld] Explicitly ignore comdat groups when parsing LTO object.

However the behavior before and after this change should be the same, since I believe they were being ignored before this change too

May 19 2020, 1:10 PM · Restricted Project
christylee added a comment to D62884: [lld] Explicitly ignore comdat groups when parsing LTO object.

We are trying to migrate from gold to lld, and we found that when building with thinlto, lld does not de-duplicate .debug_types. De-duplication is successful with monolithic lto. Repro: clang -flto=thin -fdebug-types-section -fuse-ld=lld -Wl,-plugin-opt=-generate-type-units

May 19 2020, 12:02 PM · Restricted Project

Mar 11 2019

christylee abandoned D59051: Fix ASTReader invalid bounds check.
Mar 11 2019, 10:12 AM · Restricted Project
christylee abandoned D59162: Fix Perf build failure due to getLineInfoForAddress API change.
Mar 11 2019, 10:12 AM · Restricted Project

Mar 8 2019

christylee added reviewers for D59162: Fix Perf build failure due to getLineInfoForAddress API change: avl, twoh.
Mar 8 2019, 3:33 PM · Restricted Project
christylee created D59162: Fix Perf build failure due to getLineInfoForAddress API change.
Mar 8 2019, 3:32 PM · Restricted Project

Mar 6 2019

christylee added a comment to D59051: Fix ASTReader invalid bounds check.

include/llvm/ADT/SmallVector.h:153 has an assert statement, but I'm not sure why I'm the only one who's experienced problems so far.

Mar 6 2019, 2:18 PM · Restricted Project
christylee created D59051: Fix ASTReader invalid bounds check.
Mar 6 2019, 2:07 PM · Restricted Project
christylee added reviewers for D59051: Fix ASTReader invalid bounds check: tks2103, modocache.
Mar 6 2019, 2:07 PM · Restricted Project
christylee planned changes to D56205: Add -z common-page-size option.
Mar 6 2019, 1:47 PM · Restricted Project

Jan 14 2019

christylee accepted D56631: [MSVC Compat] Fix typo correction for inclusion directives..

Thanks for catching that!

Jan 14 2019, 9:07 AM

Jan 2 2019

christylee added a comment to D56205: Add -z common-page-size option.

Could you elaborate a bit on why hot text (is that .text.hot section?) needs to have a stricter alignment requirement than the common-page-size?

Jan 2 2019, 3:02 PM · Restricted Project
christylee added a comment to D56205: Add -z common-page-size option.

Do you know why that system uses not only max-page-size but also common-page-size?

Jan 2 2019, 2:20 PM · Restricted Project
christylee added a comment to D56205: Add -z common-page-size option.

I wonder if you found a use case of -z common-page-size with a page size that is different from the ABI's default. For example, did you find a use case of the option for x86-64 with a page size larger than 4096?

Jan 2 2019, 11:47 AM · Restricted Project
christylee changed the repository for D56205: Add -z common-page-size option from rL LLVM to rLLD LLVM Linker.
Jan 2 2019, 10:15 AM · Restricted Project
christylee created D56205: Add -z common-page-size option.
Jan 2 2019, 10:14 AM · Restricted Project

Nov 30 2018

christylee commandeered D46628: [ELF] Add --strip-debug-non-line option.

I spoke with @modocache and I'm going to take a crack at this.

Nov 30 2018, 10:07 AM · Restricted Project, Restricted Project

Oct 26 2018

christylee committed rL345413: Pointer types were treated as zero-size by MergeICmps.
Pointer types were treated as zero-size by MergeICmps
Oct 26 2018, 11:05 AM
christylee closed D53536: Pointer types were treated as zero-size by MergeICmps.
Oct 26 2018, 11:05 AM
christylee added a comment to D53536: Pointer types were treated as zero-size by MergeICmps.

One more favor to ask: Could I please have some help committing this fix? I'm new to the project and don't have write access yet...

Oct 26 2018, 10:55 AM

Oct 23 2018

christylee added a reviewer for D53536: Pointer types were treated as zero-size by MergeICmps: courbet.
Oct 23 2018, 8:58 AM

Sep 24 2018

christylee abandoned D51550: Use alias analysis to check for real interference in cascade comparison.

The changes were landed in D52433

Sep 24 2018, 1:51 PM
christylee committed rL342919: Re-submitting changes in D51550 because it failed to patch..
Re-submitting changes in D51550 because it failed to patch.
Sep 24 2018, 1:50 PM
christylee closed D52433: Re-submitting changes in D51550 because it failed to patch..
Sep 24 2018, 1:50 PM
christylee added reviewers for D52433: Re-submitting changes in D51550 because it failed to patch.: trentxintong, courbet.
Sep 24 2018, 1:33 PM
christylee created D52433: Re-submitting changes in D51550 because it failed to patch..
Sep 24 2018, 1:32 PM
christylee committed rL342907: Reland r342494 after fixing LIT checks..
Reland r342494 after fixing LIT checks.
Sep 24 2018, 10:30 AM
christylee added a comment to D51550: Use alias analysis to check for real interference in cascade comparison.

@courbet , @lebedev.ri , I'm trying to commit the patch by first running "arc patch D51550", but it keeps saying unable to apply patch because llvm/trunk/test/Transforms/MergeICmps/X86/alias-merge-blocks.ll does not exists in index. How should I go about this?

Sep 24 2018, 9:23 AM
christylee updated the diff for D51550: Use alias analysis to check for real interference in cascade comparison.

Going back to previous revision to include the test in this revision.

Sep 24 2018, 9:17 AM

Sep 20 2018

christylee accepted D52280: Don't trim non-alphanumeric characters in 'file not found' errors for include directives..

Thanks for the fix!

Sep 20 2018, 5:21 AM

Sep 18 2018

christylee committed rL342498: Do not optimize atomic load to non-atomic memcmp.
Do not optimize atomic load to non-atomic memcmp
Sep 18 2018, 10:04 AM
christylee closed D51998: Do not optimize atomic load to non-atomic memcmp.
Sep 18 2018, 10:04 AM
christylee committed rL342494: Check lines before using alias analysis to check for interference.
Check lines before using alias analysis to check for interference
Sep 18 2018, 9:45 AM
christylee closed D52044: Check lines before using alias analysis to check for interference.
Sep 18 2018, 9:45 AM

Sep 13 2018

christylee updated the diff for D51333: Diagnose likely typos in include statements.

Added tests.

Sep 13 2018, 12:56 PM
christylee added a comment to D51333: Diagnose likely typos in include statements.

@rsmith , thanks for the review, I fixed the variable capitalization. If you could land it for me that'll be awesome!

Sep 13 2018, 12:33 PM
christylee updated the diff for D51333: Diagnose likely typos in include statements.
Sep 13 2018, 12:31 PM
christylee updated the diff for D51333: Diagnose likely typos in include statements.
Sep 13 2018, 12:27 PM
christylee updated the diff for D51550: Use alias analysis to check for real interference in cascade comparison.
Sep 13 2018, 11:49 AM
christylee added a comment to D51550: Use alias analysis to check for real interference in cascade comparison.

Fixed diff dependencies.

Sep 13 2018, 11:11 AM
christylee updated the diff for D51550: Use alias analysis to check for real interference in cascade comparison.

Addressed @lebedev.ri 's comment and added dependent child diff to show original check-lines.

Sep 13 2018, 9:33 AM
christylee added reviewers for D52044: Check lines before using alias analysis to check for interference: lebedev.ri, courbet.
Sep 13 2018, 9:27 AM
christylee created D52044: Check lines before using alias analysis to check for interference.
Sep 13 2018, 9:27 AM
christylee updated the diff for D51333: Diagnose likely typos in include statements.

Addressed @rsmith 's comments.

Sep 13 2018, 9:08 AM
christylee added inline comments to D51333: Diagnose likely typos in include statements.
Sep 13 2018, 8:43 AM

Sep 12 2018

christylee updated the diff for D51333: Diagnose likely typos in include statements.

Emit non-fatal error for typo if file exists.

Sep 12 2018, 3:06 PM
christylee added a comment to D51998: Do not optimize atomic load to non-atomic memcmp.

And of course thank you to @trentxintong :)

Sep 12 2018, 11:31 AM
christylee added a comment to D51998: Do not optimize atomic load to non-atomic memcmp.

Thanks for the review! @efriedma

Sep 12 2018, 11:28 AM
christylee created D51998: Do not optimize atomic load to non-atomic memcmp.
Sep 12 2018, 11:00 AM
christylee updated the diff for D51550: Use alias analysis to check for real interference in cascade comparison.

Addressed @courbet comment

Sep 12 2018, 10:23 AM

Sep 10 2018

christylee added inline comments to D51550: Use alias analysis to check for real interference in cascade comparison.
Sep 10 2018, 3:48 PM
christylee updated the diff for D51550: Use alias analysis to check for real interference in cascade comparison.
Sep 10 2018, 3:47 PM
christylee added inline comments to D51550: Use alias analysis to check for real interference in cascade comparison.
Sep 10 2018, 1:38 PM
christylee updated the diff for D51550: Use alias analysis to check for real interference in cascade comparison.

Removed clang-format changes unrelated to this patch.

Sep 10 2018, 1:28 PM
christylee updated the diff for D51550: Use alias analysis to check for real interference in cascade comparison.

For instructions that may have side effects, check that the instruction is a simple load or simple store before checking for alias. For things like function calls, we would have to check that they don't throw and have no read/write to memory. The function calls are potentially nested as well, it's probably better to just bail on those cases.

Sep 10 2018, 11:57 AM

Sep 7 2018

christylee added a comment to D51550: Use alias analysis to check for real interference in cascade comparison.

Friendly ping @courbet :)

Sep 7 2018, 11:48 AM