Page MenuHomePhabricator

Roger (Roger Kim)
User

Projects

User does not belong to any projects.

User Details

User Since
Nov 2 2021, 10:02 AM (34 w, 16 h)

Recent Activity

Mon, Jun 20

Roger abandoned D128100: [lld][MachO][NFC] Create a support file for LTO..
Mon, Jun 20, 9:28 AM · Restricted Project, Restricted Project

Fri, Jun 17

Roger updated the summary of D128100: [lld][MachO][NFC] Create a support file for LTO..
Fri, Jun 17, 2:43 PM · Restricted Project, Restricted Project
Roger added reviewers for D128100: [lld][MachO][NFC] Create a support file for LTO.: thevinster, alexbdv.
Fri, Jun 17, 2:41 PM · Restricted Project, Restricted Project
Roger updated the diff for D128100: [lld][MachO][NFC] Create a support file for LTO..

Generalize error message.

Fri, Jun 17, 2:38 PM · Restricted Project, Restricted Project
Roger added a reviewer for D128100: [lld][MachO][NFC] Create a support file for LTO.: Restricted Project.
Fri, Jun 17, 2:34 PM · Restricted Project, Restricted Project
Roger requested review of D128100: [lld][MachO][NFC] Create a support file for LTO..
Fri, Jun 17, 2:34 PM · Restricted Project, Restricted Project

May 4 2022

Roger accepted D124561: [lld-macho] Support EH frames under arm64.
May 4 2022, 10:10 AM · Restricted Project, Restricted Project, Unknown Object (Project)

Apr 22 2022

Roger added inline comments to D123434: [lld-macho][nfc] Simplify unwind section lookup.
Apr 22 2022, 11:38 AM · Restricted Project, Restricted Project, Unknown Object (Project)
Roger added inline comments to D123434: [lld-macho][nfc] Simplify unwind section lookup.
Apr 22 2022, 11:35 AM · Restricted Project, Restricted Project, Unknown Object (Project)
Roger accepted D123434: [lld-macho][nfc] Simplify unwind section lookup.

I love the use of StringSwitch! Very cool!

Apr 22 2022, 11:33 AM · Restricted Project, Restricted Project, Unknown Object (Project)
Roger accepted D123435: [lld-macho] Initial support for EH Frames.
Apr 22 2022, 11:18 AM · Restricted Project, Restricted Project, Unknown Object (Project)

Apr 21 2022

Roger added a comment to D123435: [lld-macho] Initial support for EH Frames.

Nice! I noticed that the tests in eh-frame.s only contain failing cases. Are there already success cases tested elsewhere?

Apr 21 2022, 2:58 PM · Restricted Project, Restricted Project, Unknown Object (Project)

Apr 19 2022

Roger abandoned D122342: [lld][Mach-O][NFC] split parsing order file and processing its data..
Apr 19 2022, 12:49 PM · Restricted Project, Restricted Project, Unknown Object (Project)
Roger abandoned D122432: [lld-macho] Consolidate all priority assignments under `buildInputSectionPriorities()`.
Apr 19 2022, 12:49 PM · Restricted Project, Restricted Project, Unknown Object (Project)

Mar 31 2022

Roger committed rG34b972956158: [lld-macho][NFC] Encapsulate symbol priority implementation. (authored by Roger).
[lld-macho][NFC] Encapsulate symbol priority implementation.
Mar 31 2022, 10:48 AM · Restricted Project
Roger closed D122752: [lld-macho][NFC] Encapsulate symbol priority implementation..
Mar 31 2022, 10:47 AM · Restricted Project, Restricted Project, Unknown Object (Project)

Mar 30 2022

Roger requested review of D122752: [lld-macho][NFC] Encapsulate symbol priority implementation..
Mar 30 2022, 11:08 AM · Restricted Project, Restricted Project, Unknown Object (Project)

Mar 29 2022

Roger planned changes to D122342: [lld][Mach-O][NFC] split parsing order file and processing its data..
Mar 29 2022, 2:28 PM · Restricted Project, Restricted Project, Unknown Object (Project)
Roger planned changes to D122432: [lld-macho] Consolidate all priority assignments under `buildInputSectionPriorities()`.

After having spoken to @int3 , we decided to adjust the code in a couple ways so I'll be reworking this diff.

Mar 29 2022, 2:14 PM · Restricted Project, Restricted Project, Unknown Object (Project)

Mar 28 2022

Roger published D122432: [lld-macho] Consolidate all priority assignments under `buildInputSectionPriorities()` for review.
Mar 28 2022, 4:50 PM · Restricted Project, Restricted Project, Unknown Object (Project)

Mar 25 2022

Roger published D122342: [lld][Mach-O][NFC] split parsing order file and processing its data. for review.
Mar 25 2022, 8:10 AM · Restricted Project, Restricted Project, Unknown Object (Project)

Mar 23 2022

Roger abandoned D122357: Decouple order file and callgraph ordering logic..
Mar 23 2022, 3:43 PM · Restricted Project, Restricted Project, Unknown Object (Project)
Roger requested review of D122357: Decouple order file and callgraph ordering logic..
Mar 23 2022, 3:43 PM · Restricted Project, Restricted Project, Unknown Object (Project)
Roger committed rGf858fba631d5: [lld][Macho][NFC] Encapsulate priorities map in a priority class (authored by Roger).
[lld][Macho][NFC] Encapsulate priorities map in a priority class
Mar 23 2022, 10:58 AM · Restricted Project
Roger closed D122156: [lld][Macho][NFC] Encapsulate priorities map in a priority class.
Mar 23 2022, 10:57 AM · Restricted Project, Unknown Object (Project), Restricted Project

Mar 22 2022

Roger added inline comments to D122156: [lld][Macho][NFC] Encapsulate priorities map in a priority class.
Mar 22 2022, 11:41 AM · Restricted Project, Unknown Object (Project), Restricted Project
Roger updated the diff for D122156: [lld][Macho][NFC] Encapsulate priorities map in a priority class.

Get rid of unnecessary priority variable.

Mar 22 2022, 11:38 AM · Restricted Project, Unknown Object (Project), Restricted Project
Roger added inline comments to D122156: [lld][Macho][NFC] Encapsulate priorities map in a priority class.
Mar 22 2022, 9:15 AM · Restricted Project, Unknown Object (Project), Restricted Project
Roger updated the diff for D122156: [lld][Macho][NFC] Encapsulate priorities map in a priority class.

Rename lowestPriority to highestAvailablePriority.

Mar 22 2022, 9:13 AM · Restricted Project, Unknown Object (Project), Restricted Project
Roger added inline comments to D122156: [lld][Macho][NFC] Encapsulate priorities map in a priority class.
Mar 22 2022, 9:03 AM · Restricted Project, Unknown Object (Project), Restricted Project
Roger added inline comments to D122156: [lld][Macho][NFC] Encapsulate priorities map in a priority class.
Mar 22 2022, 9:02 AM · Restricted Project, Unknown Object (Project), Restricted Project
Roger added inline comments to D122156: [lld][Macho][NFC] Encapsulate priorities map in a priority class.
Mar 22 2022, 8:33 AM · Restricted Project, Unknown Object (Project), Restricted Project

Mar 21 2022

Roger requested review of D122156: [lld][Macho][NFC] Encapsulate priorities map in a priority class.
Mar 21 2022, 3:32 PM · Restricted Project, Unknown Object (Project), Restricted Project
Roger planned changes to D122156: [lld][Macho][NFC] Encapsulate priorities map in a priority class.
Mar 21 2022, 1:35 PM · Restricted Project, Unknown Object (Project), Restricted Project
Roger updated the diff for D122156: [lld][Macho][NFC] Encapsulate priorities map in a priority class.

Remove duplicated code representing "maximum priority"

Mar 21 2022, 1:12 PM · Restricted Project, Unknown Object (Project), Restricted Project
Roger updated the diff for D122156: [lld][Macho][NFC] Encapsulate priorities map in a priority class.

Change PriorityBuilder from a unique pointer to a regular object.

Mar 21 2022, 12:56 PM · Restricted Project, Unknown Object (Project), Restricted Project
Roger requested review of D122156: [lld][Macho][NFC] Encapsulate priorities map in a priority class.

I applied the same idea to config->callGraphProfile. @int3 Could you take a look?

Mar 21 2022, 12:44 PM · Restricted Project, Unknown Object (Project), Restricted Project
Roger updated the summary of D122156: [lld][Macho][NFC] Encapsulate priorities map in a priority class.
Mar 21 2022, 12:42 PM · Restricted Project, Unknown Object (Project), Restricted Project
Roger updated the diff for D122156: [lld][Macho][NFC] Encapsulate priorities map in a priority class.

Added config->callGraphProfile to PriorityBuilder

Mar 21 2022, 12:40 PM · Restricted Project, Unknown Object (Project), Restricted Project
Roger abandoned D122157: [lld][MachO][NFC] Nest the CallGraphSort inside the PriorityBuilder class.

Never mind. I found this is unnecessary.

Mar 21 2022, 12:38 PM · Restricted Project, Restricted Project, Unknown Object (Project)
Roger planned changes to D122157: [lld][MachO][NFC] Nest the CallGraphSort inside the PriorityBuilder class.
Mar 21 2022, 10:44 AM · Restricted Project, Restricted Project, Unknown Object (Project)
Roger retitled D122156: [lld][Macho][NFC] Encapsulate priorities map in a priority class from [lld][Macho] Encapsulate priorities map in a priority class to [lld][Macho][NFC] Encapsulate priorities map in a priority class.
Mar 21 2022, 10:36 AM · Restricted Project, Unknown Object (Project), Restricted Project
Roger retitled D122157: [lld][MachO][NFC] Nest the CallGraphSort inside the PriorityBuilder class from Encapsulate CallGraphSort state. to [lld][MachO][NFC] Nest the CallGraphSort inside the PriorityBuilder class.
Mar 21 2022, 10:35 AM · Restricted Project, Restricted Project, Unknown Object (Project)
Roger retitled D122156: [lld][Macho][NFC] Encapsulate priorities map in a priority class from Encapsulate priorities map to [lld][Macho] Encapsulate priorities map in a priority class.
Mar 21 2022, 10:19 AM · Restricted Project, Unknown Object (Project), Restricted Project
Roger requested review of D122157: [lld][MachO][NFC] Nest the CallGraphSort inside the PriorityBuilder class.
Mar 21 2022, 10:13 AM · Restricted Project, Restricted Project, Unknown Object (Project)
Roger requested review of D122156: [lld][Macho][NFC] Encapsulate priorities map in a priority class.
Mar 21 2022, 10:12 AM · Restricted Project, Unknown Object (Project), Restricted Project

Mar 11 2022

Roger accepted D121458: [lld-macho] Don't allocate memory in parallelForEach.
Mar 11 2022, 10:29 AM · Restricted Project, Restricted Project, Unknown Object (Project)

Mar 7 2022

Roger accepted D120137: [lld-macho] Deduplicate CFStrings during ICF.

As I understand, we are zero-ing out the addends of all cfstring sections because we are moving the addend check from the section comparisons to the relocation comparisons. All relocation comparisons (not just those for cfsections) will now check addend equality. LGTM

Mar 7 2022, 1:37 PM · Restricted Project, Restricted Project, Unknown Object (Project)

Feb 28 2022

Roger accepted D118903: [lld-macho] Have relocation address included in range-check error message.
Feb 28 2022, 2:42 PM · Unknown Object (Project), Restricted Project

Feb 25 2022

Roger added inline comments to D118903: [lld-macho] Have relocation address included in range-check error message.
Feb 25 2022, 12:52 PM · Unknown Object (Project), Restricted Project

Feb 17 2022

Roger abandoned D119771: Insert MIRProfile into LLD.
Feb 17 2022, 11:42 AM · Restricted Project
Roger abandoned D120078: Insert MIRProfile into LLD.
Feb 17 2022, 11:42 AM · Restricted Project, Restricted Project
Roger requested review of D120078: Insert MIRProfile into LLD.
Feb 17 2022, 11:35 AM · Restricted Project, Restricted Project

Feb 14 2022

Roger requested review of D119771: Insert MIRProfile into LLD.
Feb 14 2022, 1:03 PM · Restricted Project

Feb 11 2022

Roger updated the diff for D118077: Print C-string literals in mapfile.

Add assert statement.

Feb 11 2022, 12:27 PM · Restricted Project, Unknown Object (Project)

Feb 10 2022

Roger added a comment to D118077: Print C-string literals in mapfile.

it wouldn't hurt to assert that the offset is indeed zero.

Feb 10 2022, 5:20 PM · Restricted Project, Unknown Object (Project)
Roger updated the diff for D118077: Print C-string literals in mapfile.

Fix cast.

Feb 10 2022, 5:12 PM · Restricted Project, Unknown Object (Project)
Roger added inline comments to D118077: Print C-string literals in mapfile.
Feb 10 2022, 9:56 AM · Restricted Project, Unknown Object (Project)
Roger added a comment to D118077: Print C-string literals in mapfile.

@int3 I've simplified the code to not use offsets from StringPieces and to just print the StringRef that corresponds to each StringPiece. This is because we no longer do any tail-merging, making offsets unnecessary.

Feb 10 2022, 9:55 AM · Restricted Project, Unknown Object (Project)
Roger requested review of D119456: [Mach-O][NFC] Reorder map file tests.
Feb 10 2022, 9:48 AM · Restricted Project, Unknown Object (Project)
Roger updated the diff for D118077: Print C-string literals in mapfile.

Address comments

Feb 10 2022, 9:30 AM · Restricted Project, Unknown Object (Project)

Feb 5 2022

Roger added a reviewer for D118077: Print C-string literals in mapfile: int3.
Feb 5 2022, 12:40 PM · Restricted Project, Unknown Object (Project)
Roger published D118077: Print C-string literals in mapfile for review.
Feb 5 2022, 12:39 PM · Restricted Project, Unknown Object (Project)

Jan 28 2022

Roger updated the diff for D114737: [lld][Macho] Include dead-stripped symbols in mapfile.

rebase

Jan 28 2022, 10:47 AM · Restricted Project, Unknown Object (Project)
Roger added inline comments to D114737: [lld][Macho] Include dead-stripped symbols in mapfile.
Jan 28 2022, 7:47 AM · Restricted Project, Unknown Object (Project)
Roger updated the diff for D114737: [lld][Macho] Include dead-stripped symbols in mapfile.

Address comments

Jan 28 2022, 7:46 AM · Restricted Project, Unknown Object (Project)

Jan 27 2022

Roger added inline comments to D114737: [lld][Macho] Include dead-stripped symbols in mapfile.
Jan 27 2022, 2:32 PM · Restricted Project, Unknown Object (Project)
Roger updated the diff for D114737: [lld][Macho] Include dead-stripped symbols in mapfile.

Add test with no dead symbols.

Jan 27 2022, 2:32 PM · Restricted Project, Unknown Object (Project)
Roger updated the diff for D114737: [lld][Macho] Include dead-stripped symbols in mapfile.

Address comments

Jan 27 2022, 1:09 PM · Restricted Project, Unknown Object (Project)

Jan 24 2022

Roger updated the diff for D114737: [lld][Macho] Include dead-stripped symbols in mapfile.

Update assert

Jan 24 2022, 10:15 AM · Restricted Project, Unknown Object (Project)
Roger updated the diff for D114737: [lld][Macho] Include dead-stripped symbols in mapfile.

Reverted from declarative style to a more imperative style.

Jan 24 2022, 10:07 AM · Restricted Project, Unknown Object (Project)

Jan 20 2022

Roger added a comment to D114735: [lld][macho] Stop grouping symbols by sections in mapfile..
$ cbdr sample "base:/tmp/before/ld64.lld @response.txt -map beforemap.txt" "diff:/tmp/after/ld64.lld @response.txt -map aftermap.txt" --timeout=300s | tee results.csv | cbdr analyze -s 95                                                                                           Warming up base...
Warming up diff...
base           diff           difference (95% CI)
sys_time   1.406 ± 0.020  1.388 ± 0.019  [  -1.9% ..   -0.6%]
user_time  5.557 ± 0.023  5.914 ± 0.020  [  +6.2% ..   +6.6%]
wall_time  4.455 ± 0.041  4.436 ± 0.035  [  -0.8% ..   -0.0%]
samples    35             35
Jan 20 2022, 11:51 AM · Restricted Project, Unknown Object (Project)

Jan 11 2022

Roger updated the diff for D113130: [llvm-libtool-darwin] Print a warning if object file names are repeated.

Insert missing period from warning.

Jan 11 2022, 2:20 PM · Restricted Project

Jan 10 2022

Roger updated the diff for D114737: [lld][Macho] Include dead-stripped symbols in mapfile.

Update comments.

Jan 10 2022, 2:36 PM · Restricted Project, Unknown Object (Project)
Roger added inline comments to D114737: [lld][Macho] Include dead-stripped symbols in mapfile.
Jan 10 2022, 2:21 PM · Restricted Project, Unknown Object (Project)
Roger updated the diff for D114737: [lld][Macho] Include dead-stripped symbols in mapfile.

Addressed mpark's comments.

Jan 10 2022, 2:20 PM · Restricted Project, Unknown Object (Project)
Roger added a comment to D114735: [lld][macho] Stop grouping symbols by sections in mapfile..

@int3 could you submit this for me? thanks :)

do you still need help landing this?

Jan 10 2022, 1:37 PM · Restricted Project, Unknown Object (Project)
Roger updated the diff for D114737: [lld][Macho] Include dead-stripped symbols in mapfile.

Rewrite code in a more declarative style.

Jan 10 2022, 1:35 PM · Restricted Project, Unknown Object (Project)
Roger updated the diff for D114737: [lld][Macho] Include dead-stripped symbols in mapfile.

Small rename.

Jan 10 2022, 11:57 AM · Restricted Project, Unknown Object (Project)
Roger added inline comments to D114737: [lld][Macho] Include dead-stripped symbols in mapfile.
Jan 10 2022, 11:57 AM · Restricted Project, Unknown Object (Project)
Roger updated the diff for D114737: [lld][Macho] Include dead-stripped symbols in mapfile.

Rewrite diff to be more declarative.

Jan 10 2022, 11:36 AM · Restricted Project, Unknown Object (Project)

Jan 6 2022

Roger added a comment to D114737: [lld][Macho] Include dead-stripped symbols in mapfile.

The output from ld64 doesn't look like what lld produces.

You're right that the new dead symbol section is not exactly the same as what ld64 outputs. look lld/test/MachO/dead-strip.s. I followed the precedence set by lld's section for live symbols and basically replicated that for dead symbols. Do you think this needs to be changed?

Jan 6 2022, 12:12 PM · Restricted Project, Unknown Object (Project)
Roger updated the summary of D114737: [lld][Macho] Include dead-stripped symbols in mapfile.
Jan 6 2022, 12:04 PM · Restricted Project, Unknown Object (Project)
Roger abandoned D114736: [lld][MachO][NFC] Pull out code into helper function..
Jan 6 2022, 11:46 AM · Restricted Project, Unknown Object (Project)
Roger updated the diff for D114737: [lld][Macho] Include dead-stripped symbols in mapfile.

Squashing separate commits.

Jan 6 2022, 11:34 AM · Restricted Project, Unknown Object (Project)
Roger added a comment to D114735: [lld][macho] Stop grouping symbols by sections in mapfile..

@int3 could you submit this for me? thanks :)

Jan 6 2022, 11:29 AM · Restricted Project, Unknown Object (Project)

Jan 1 2022

Roger published D114737: [lld][Macho] Include dead-stripped symbols in mapfile for review.

I expect this will need some advice but I think it's ready for its initial review.

Jan 1 2022, 6:04 PM · Restricted Project, Unknown Object (Project)

Dec 30 2021

Roger added inline comments to D114735: [lld][macho] Stop grouping symbols by sections in mapfile..
Dec 30 2021, 12:51 PM · Restricted Project, Unknown Object (Project)
Roger updated the summary of D114735: [lld][macho] Stop grouping symbols by sections in mapfile..
Dec 30 2021, 12:48 PM · Restricted Project, Unknown Object (Project)

Dec 23 2021

Roger added a reviewer for D114736: [lld][MachO][NFC] Pull out code into helper function.: int3.
Dec 23 2021, 10:35 AM · Restricted Project, Unknown Object (Project)
Roger published D114736: [lld][MachO][NFC] Pull out code into helper function. for review.
Dec 23 2021, 10:35 AM · Restricted Project, Unknown Object (Project)
Roger published D114735: [lld][macho] Stop grouping symbols by sections in mapfile. for review.
Dec 23 2021, 10:31 AM · Restricted Project, Unknown Object (Project)

Nov 11 2021

Roger added inline comments to D113130: [llvm-libtool-darwin] Print a warning if object file names are repeated.
Nov 11 2021, 10:49 AM · Restricted Project
Roger updated the diff for D113130: [llvm-libtool-darwin] Print a warning if object file names are repeated.

Address comments

Nov 11 2021, 10:49 AM · Restricted Project

Nov 10 2021

Roger added a comment to D113130: [llvm-libtool-darwin] Print a warning if object file names are repeated.

I'm not an Apple/Mach-O developer, and don't really know much, if anything, about the platform or the file format, so take my thoughts with a pinch of salt. However, I wanted to question this:

  1. For traditional Unix static libraries, the filenames are largely irrelevant - you can have multiple library members without any issue and it'll just work at link time. This is because such library members are picked based on their symbol names, rather than anything to do with their filenames.
  2. If the existing cctools libtool reports a warning rather than an error, why not do the same here? It seems like reporting an error might cause problems where existing users are creating such a library for good reason. NB: if there is no possible good reason, i.e. the library is fundamentally broken, then an error makes sense - see my above point about not being too familiar with the format.
Nov 10 2021, 3:54 PM · Restricted Project
Roger added inline comments to D113130: [llvm-libtool-darwin] Print a warning if object file names are repeated.
Nov 10 2021, 3:47 PM · Restricted Project
Roger added inline comments to D113127: [NFC][llvm-libtool-darwin] Encapsulate the process of adding a new member in a class.
Nov 10 2021, 3:46 PM · Restricted Project
Roger updated the diff for D113130: [llvm-libtool-darwin] Print a warning if object file names are repeated.

Formatting

Nov 10 2021, 3:05 PM · Restricted Project
Roger updated the diff for D113127: [NFC][llvm-libtool-darwin] Encapsulate the process of adding a new member in a class.

Formatting

Nov 10 2021, 3:05 PM · Restricted Project
Roger updated the diff for D113130: [llvm-libtool-darwin] Print a warning if object file names are repeated.

Addressing comments

Nov 10 2021, 2:59 PM · Restricted Project