Page MenuHomePhabricator

gkm (Greg McGary)
User

Projects

User does not belong to any projects.

User Details

User Since
Mar 13 2020, 11:31 AM (157 w, 6 d)

Recent Activity

Oct 19 2022

gkm abandoned D126562: [RISCV][WIP] Load/store relaxation.

Superseded by MaskRay's relaxation diffs

Oct 19 2022, 10:32 AM · Restricted Project, Restricted Project

Jun 26 2022

gkm abandoned D125497: [RISCV] Call relaxation.
Jun 26 2022, 10:04 PM · Restricted Project, Restricted Project
gkm abandoned D125036: [RISCV] Alignment relaxation.
Jun 26 2022, 10:04 PM · Restricted Project, Restricted Project

Jun 21 2022

gkm added inline comments to D127581: [ELF] Relax R_RISCV_ALIGN.
Jun 21 2022, 9:00 AM · Restricted Project, Restricted Project

Jun 20 2022

gkm added inline comments to D127581: [ELF] Relax R_RISCV_ALIGN.
Jun 20 2022, 1:27 PM · Restricted Project, Restricted Project

Jun 6 2022

gkm updated the diff for D126562: [RISCV][WIP] Load/store relaxation.
  • rebase
  • rework HiLoAddend as a union
Jun 6 2022, 7:50 PM · Restricted Project, Restricted Project
gkm updated the diff for D125036: [RISCV] Alignment relaxation.
  • rework AlignAddend as a union
Jun 6 2022, 7:48 PM · Restricted Project, Restricted Project
gkm updated the diff for D125497: [RISCV] Call relaxation.
  • Rebase, minor cleanups, minor comment revisions
Jun 6 2022, 3:38 PM · Restricted Project, Restricted Project
gkm updated the diff for D125036: [RISCV] Alignment relaxation.
  • revise comments according to review feedback
Jun 6 2022, 2:57 PM · Restricted Project, Restricted Project

Jun 1 2022

gkm added inline comments to D125036: [RISCV] Alignment relaxation.
Jun 1 2022, 12:23 PM · Restricted Project, Restricted Project

May 27 2022

gkm updated the diff for D126562: [RISCV][WIP] Load/store relaxation.
  • fix indentation, as caught by clang-format
May 27 2022, 1:32 PM · Restricted Project, Restricted Project
gkm updated the diff for D125497: [RISCV] Call relaxation.
  • fix indentation, as caught by clang-format
May 27 2022, 1:32 PM · Restricted Project, Restricted Project
gkm updated the diff for D125036: [RISCV] Alignment relaxation.
  • fix indentation, as caught by clang-format
May 27 2022, 1:29 PM · Restricted Project, Restricted Project
gkm requested review of D126562: [RISCV][WIP] Load/store relaxation.
May 27 2022, 1:02 PM · Restricted Project, Restricted Project
gkm updated the diff for D125497: [RISCV] Call relaxation.
  • Remove glob patterns from ld.lld command lines in lld/test/ELF/riscv-relax-call-undo.s because Windows doesn't support them.
May 27 2022, 12:54 PM · Restricted Project, Restricted Project
gkm updated the diff for D125036: [RISCV] Alignment relaxation.
  • Cleanup & improve commentary in lld/test/ELF/riscv-relax-syms.s
May 27 2022, 12:49 PM · Restricted Project, Restricted Project

May 26 2022

gkm updated the diff for D125497: [RISCV] Call relaxation.
  • add fillAlignGap(), extracted from fillAdjustGaps()
  • add empty cases for HI20/LO12 relaxations, to be fleshed-out in a later diff.
May 26 2022, 11:54 PM · Restricted Project, Restricted Project
gkm updated the diff for D125036: [RISCV] Alignment relaxation.

Expand comments before relaxOnce() and fillAdjustGaps()

May 26 2022, 11:42 PM · Restricted Project, Restricted Project
gkm updated the diff for D125036: [RISCV] Alignment relaxation.
  • restructure NOP-rewriter loop in fillAdjustGaps()
May 26 2022, 6:25 PM · Restricted Project, Restricted Project
gkm updated the diff for D125036: [RISCV] Alignment relaxation.
  • revise according to review feedback
May 26 2022, 4:33 PM · Restricted Project, Restricted Project
gkm updated the diff for D125497: [RISCV] Call relaxation.
  • Fix bug reported by @luismarques regarding relaxation of calls through PLT
May 26 2022, 4:12 PM · Restricted Project, Restricted Project

May 24 2022

gkm updated the diff for D125497: [RISCV] Call relaxation.
  • Add capacity to undo earlier relaxations that go out of range after later passes
May 24 2022, 1:07 PM · Restricted Project, Restricted Project

May 22 2022

gkm updated the diff for D125036: [RISCV] Alignment relaxation.
  • revise according to review feedback
May 22 2022, 4:56 PM · Restricted Project, Restricted Project
gkm added inline comments to D125036: [RISCV] Alignment relaxation.
May 22 2022, 4:54 PM · Restricted Project, Restricted Project

May 16 2022

gkm added a comment to D125036: [RISCV] Alignment relaxation.

LLD no longer crashes when linking Linux.

May 16 2022, 2:40 PM · Restricted Project, Restricted Project
gkm updated the diff for D125036: [RISCV] Alignment relaxation.
  • open code the trivial getter/setter functions atop R_RISCV_ALIGN's Relocation::addend for align boundary & nop byte count.
May 16 2022, 2:38 PM · Restricted Project, Restricted Project
gkm updated the diff for D125036: [RISCV] Alignment relaxation.
  • Rework class SymbolAddr. The broken version's comparison function confused llvm::sort by returning true when given the same object for args a and b. This violates the API because comparisions should return a < b, which is false when a and b are the same object.
May 16 2022, 2:19 PM · Restricted Project, Restricted Project
gkm added inline comments to D125036: [RISCV] Alignment relaxation.
May 16 2022, 11:14 AM · Restricted Project, Restricted Project
gkm updated the diff for D125036: [RISCV] Alignment relaxation.
  • Handle case R_RELAX_HINT in InputSectionBase::getRelocTargetVA()
May 16 2022, 11:10 AM · Restricted Project, Restricted Project
gkm updated the diff for D125036: [RISCV] Alignment relaxation.
  • Revise according to review feedback
May 16 2022, 10:45 AM · Restricted Project, Restricted Project
gkm added a comment to D125036: [RISCV] Alignment relaxation.

. . .

I see a segfault

May 16 2022, 10:44 AM · Restricted Project, Restricted Project

May 12 2022

gkm updated the diff for D125036: [RISCV] Alignment relaxation.
  • Fix indentation caught by clang-format
May 12 2022, 4:31 PM · Restricted Project, Restricted Project
gkm requested review of D125497: [RISCV] Call relaxation.
May 12 2022, 12:54 PM · Restricted Project, Restricted Project
gkm updated the diff for D125036: [RISCV] Alignment relaxation.

Refactor ...

  • s/DeleteRanges/AdjustRanges/: these can now handle deletion and insertion, supporting multiple-pass relaxation where alignment padding can expand, and/or relaxations can be undone
  • Build framework for adding more relaxation types in later diffs
  • Add comments
May 12 2022, 12:46 PM · Restricted Project, Restricted Project

May 10 2022

gkm added inline comments to D125036: [RISCV] Alignment relaxation.
May 10 2022, 7:41 AM · Restricted Project, Restricted Project

May 9 2022

gkm updated the diff for D125036: [RISCV] Alignment relaxation.
  • Revise according to review feedback
  • Rewrite InputSectionBase::deleteRanges() to use a compact single pass that unifies handling of symbol addresses and sizes
  • expand lld/test/ELF/riscv-relax-syms.s
May 9 2022, 10:29 PM · Restricted Project, Restricted Project
gkm retitled D125036: [RISCV] Alignment relaxation from [LLD][RISCV] Alignment relaxation to [RISCV] Alignment relaxation.
May 9 2022, 9:30 PM · Restricted Project, Restricted Project
gkm committed rGebc25292060d: [ELF] Move InputSectionBase::rawData member [NFC] (authored by gkm).
[ELF] Move InputSectionBase::rawData member [NFC]
May 9 2022, 9:26 PM · Restricted Project

May 6 2022

gkm added inline comments to D125133: [riscv] Fix state tracking bug on vsetvli (phi of vsetvli) peephole.
May 6 2022, 3:36 PM · Restricted Project, Restricted Project
gkm updated the diff for D125036: [RISCV] Alignment relaxation.

Revise according to review feedback:

  • place new bool member adjacent to another bool to avoid size change of lld/ELF/InputSection.cpp
  • add test case for symbol-size
May 6 2022, 11:57 AM · Restricted Project, Restricted Project

May 5 2022

gkm updated the summary of D125036: [RISCV] Alignment relaxation.
May 5 2022, 1:36 PM · Restricted Project, Restricted Project
gkm updated the summary of D125036: [RISCV] Alignment relaxation.
May 5 2022, 1:36 PM · Restricted Project, Restricted Project
gkm requested review of D125036: [RISCV] Alignment relaxation.
May 5 2022, 12:53 PM · Restricted Project, Restricted Project

May 3 2022

gkm abandoned D124794: [LLD][RISCV][NFC] Allow GNU linker to run RISCV LLD tests.

RIP

May 3 2022, 1:21 PM · Restricted Project, Restricted Project

May 2 2022

gkm added a comment to D124794: [LLD][RISCV][NFC] Allow GNU linker to run RISCV LLD tests.

I agree that people should just symlink ld.lld to ld.bfd to check this, or hack their local lit.local.cfg.
Such changes do not need to be in the upstream.

May 2 2022, 12:33 PM · Restricted Project, Restricted Project
gkm added a comment to D124794: [LLD][RISCV][NFC] Allow GNU linker to run RISCV LLD tests.

What happens when we want to use LLD-specific options or are checking LLD-specific messages? Those tests aren't going to pass. Do we then need to annotate LLD tests with REQUIRES: lld-is-actually-lld? Is there any precedent for doing this on other architectures? This doesn't feel right to me.

May 2 2022, 12:29 PM · Restricted Project, Restricted Project
gkm updated the diff for D124794: [LLD][RISCV][NFC] Allow GNU linker to run RISCV LLD tests.

Add commented-out 32-bit GNU linker alongside 64-bit

May 2 2022, 12:18 PM · Restricted Project, Restricted Project
gkm added a comment to D124794: [LLD][RISCV][NFC] Allow GNU linker to run RISCV LLD tests.

Why can't people just symlink GNU ld to ld.lld?

May 2 2022, 12:16 PM · Restricted Project, Restricted Project
gkm updated the diff for D124794: [LLD][RISCV][NFC] Allow GNU linker to run RISCV LLD tests.

Fix stale comment

May 2 2022, 12:14 PM · Restricted Project, Restricted Project
gkm updated the summary of D124794: [LLD][RISCV][NFC] Allow GNU linker to run RISCV LLD tests.
May 2 2022, 12:12 PM · Restricted Project, Restricted Project
gkm requested review of D124794: [LLD][RISCV][NFC] Allow GNU linker to run RISCV LLD tests.
May 2 2022, 12:11 PM · Restricted Project, Restricted Project

Apr 21 2022

gkm updated the diff for D100835: [WIP][LLD][RISCV] Linker Relaxation.

Rebase to get 1 year of LLVM changes

Apr 21 2022, 3:35 PM · Restricted Project, Restricted Project
gkm edited reviewers for D100835: [WIP][LLD][RISCV] Linker Relaxation, added: luismarques; removed: PkmX.
Apr 21 2022, 3:34 PM · Restricted Project, Restricted Project
gkm commandeered D100835: [WIP][LLD][RISCV] Linker Relaxation.

Original author @PkmX has been inactive here for a year, and did not respond to email.

Apr 21 2022, 3:33 PM · Restricted Project, Restricted Project

Nov 17 2021

gkm committed rG9cc489a4b2b5: [lld-macho][nfc] Factor-out NFC changes from main __eh_frame diff (authored by gkm).
[lld-macho][nfc] Factor-out NFC changes from main __eh_frame diff
Nov 17 2021, 2:20 PM
gkm closed D114017: [lld-macho][nfc] Factor-out NFC changes from main __eh_frame diff.
Nov 17 2021, 2:20 PM · Unknown Object (Project), Restricted Project
gkm updated the diff for D114017: [lld-macho][nfc] Factor-out NFC changes from main __eh_frame diff.
  • Revise according to review feedback
Nov 17 2021, 2:13 PM · Unknown Object (Project), Restricted Project
gkm added inline comments to D114017: [lld-macho][nfc] Factor-out NFC changes from main __eh_frame diff.
Nov 17 2021, 2:12 PM · Unknown Object (Project), Restricted Project

Nov 16 2021

gkm updated the diff for D114017: [lld-macho][nfc] Factor-out NFC changes from main __eh_frame diff.
  • Revise according to review feedback.
  • Move 2 more hunks of NFC-ish code into this diff to ignore useless symbols and SUBTRACTOR relocs in __TEXT,__eh_frame. (See code comments)
Nov 16 2021, 2:43 PM · Unknown Object (Project), Restricted Project
gkm added inline comments to D114017: [lld-macho][nfc] Factor-out NFC changes from main __eh_frame diff.
Nov 16 2021, 2:32 PM · Unknown Object (Project), Restricted Project
gkm requested review of D114017: [lld-macho][nfc] Factor-out NFC changes from main __eh_frame diff.
Nov 16 2021, 11:25 AM · Unknown Object (Project), Restricted Project
gkm committed rG3a1b3c9afe74: [lld-macho][nfc] rename parsed-section types & variables (authored by gkm).
[lld-macho][nfc] rename parsed-section types & variables
Nov 16 2021, 6:10 AM
gkm closed D113241: [lld-macho][nfc] rename parsed-section types & variables.
Nov 16 2021, 6:09 AM · Restricted Project, Unknown Object (Project)
gkm updated the diff for D113241: [lld-macho][nfc] rename parsed-section types & variables.
  • fix one remaining s/ParsedSection/Section/
Nov 16 2021, 6:09 AM · Restricted Project, Unknown Object (Project)

Nov 15 2021

gkm updated the diff for D113241: [lld-macho][nfc] rename parsed-section types & variables.
  • revert Parsed prefix to shorten class names and lower impact of this diff
Nov 15 2021, 11:39 AM · Restricted Project, Unknown Object (Project)

Nov 7 2021

gkm updated the diff for D113241: [lld-macho][nfc] rename parsed-section types & variables.

Revert previous revision

Nov 7 2021, 11:54 PM · Restricted Project, Unknown Object (Project)
gkm updated the diff for D113241: [lld-macho][nfc] rename parsed-section types & variables.

Major FUBAR revision -- ignore this one.

Nov 7 2021, 11:46 PM · Restricted Project, Unknown Object (Project)
gkm added a comment to D113241: [lld-macho][nfc] rename parsed-section types & variables.

I'm a big fan of the variable names switching from s/subsections/sections, s/subsectionMap/subsections. It's clearer to me that there are layers whereas the original subsections->subsectionMap layer is not as easily decipherable.

Nov 7 2021, 12:50 PM · Restricted Project, Unknown Object (Project)
gkm added a comment to D113241: [lld-macho][nfc] rename parsed-section types & variables.

Not a huge fan of the Parsed stuff either, I don't think there's much confusion about when we are working with parsed vs serialized structures...

Nov 7 2021, 7:13 AM · Restricted Project, Unknown Object (Project)

Nov 6 2021

gkm added a comment to D113241: [lld-macho][nfc] rename parsed-section types & variables.

The Map instead of Vec thing was intentional... a vector of pairs is semantically a map.

Nov 6 2021, 5:33 PM · Restricted Project, Unknown Object (Project)
gkm added a reviewer for D113241: [lld-macho][nfc] rename parsed-section types & variables: int3.
Nov 6 2021, 7:52 AM · Restricted Project, Unknown Object (Project)

Nov 5 2021

gkm updated the summary of D113241: [lld-macho][nfc] rename parsed-section types & variables.
Nov 5 2021, 11:41 PM · Restricted Project, Unknown Object (Project)
gkm added inline comments to D113241: [lld-macho][nfc] rename parsed-section types & variables.
Nov 5 2021, 11:40 PM · Restricted Project, Unknown Object (Project)
gkm updated the diff for D113241: [lld-macho][nfc] rename parsed-section types & variables.

I missed a rename ...

  • s/Subsection/ParsedSubsection/
Nov 5 2021, 2:05 PM · Restricted Project, Unknown Object (Project)

Nov 4 2021

gkm requested review of D113241: [lld-macho][nfc] rename parsed-section types & variables.
Nov 4 2021, 9:39 PM · Restricted Project, Unknown Object (Project)

Oct 25 2021

gkm accepted D109944: [lld-macho] Associate compact unwind entries with function symbols.

LGTM! Thank you for this. It makes __eh_frame handling much nicer too.
Please fix test failure for MachO/compact-unwind-both-local-and-dylib-personality.s.

Oct 25 2021, 1:57 PM · Restricted Project, Unknown Object (Project)

Jul 22 2021

gkm accepted D106211: [lld-macho] Reorganize + extend ICF test.

Nice! Yes, the terse non-descriptive names were getting out of hand.

Jul 22 2021, 1:42 PM · Restricted Project, Unknown Object (Project)
gkm accepted D106212: [lld-macho] ICF: Do more work in equalsConstant, less in equalsVariable.

Bueno!

Jul 22 2021, 1:29 PM · Restricted Project, Unknown Object (Project)

Jul 1 2021

gkm accepted D105045: [lld-macho] Deduplicate CFStrings.
Jul 1 2021, 4:17 PM · Restricted Project, Unknown Object (Project)
gkm added a comment to D105045: [lld-macho] Deduplicate CFStrings.

LGTM

Jul 1 2021, 4:16 PM · Restricted Project, Unknown Object (Project)
gkm updated the summary of D105258: [llvm-readobj][MachO] Support option --unwind for __eh_frame.
Jul 1 2021, 12:34 PM · Restricted Project, Restricted Project
gkm updated the summary of D105258: [llvm-readobj][MachO] Support option --unwind for __eh_frame.
Jul 1 2021, 12:32 PM · Restricted Project, Restricted Project
gkm added a comment to D105258: [llvm-readobj][MachO] Support option --unwind for __eh_frame.

That looks ok, but doesn't llvm-dwarfdump --eh-frame file do this already?

Jul 1 2021, 12:31 PM · Restricted Project, Restricted Project

Jun 30 2021

gkm requested review of D105258: [llvm-readobj][MachO] Support option --unwind for __eh_frame.
Jun 30 2021, 8:00 PM · Restricted Project, Restricted Project

Jun 28 2021

gkm added inline comments to D104671: [lld-macho] Extend ICF to literal sections.
Jun 28 2021, 9:39 AM · Unknown Object (Project), Restricted Project
gkm added inline comments to D104671: [lld-macho] Extend ICF to literal sections.
Jun 28 2021, 9:24 AM · Unknown Object (Project), Restricted Project
gkm accepted D104876: [lld-macho][nfc] Add absolute-vs-non-absolute symbol test for ICF.

LGTM!

Jun 28 2021, 9:18 AM · Restricted Project, Unknown Object (Project)

Jun 25 2021

gkm added inline comments to D104671: [lld-macho] Extend ICF to literal sections.
Jun 25 2021, 2:10 PM · Unknown Object (Project), Restricted Project

Jun 24 2021

gkm accepted D104671: [lld-macho] Extend ICF to literal sections.

Groovy!

Jun 24 2021, 2:47 PM · Unknown Object (Project), Restricted Project
gkm accepted D104670: [lld-macho] Move ICF members from InputSection to ConcatInputSection.

Bueno!

Jun 24 2021, 2:47 PM · Restricted Project, Unknown Object (Project)

Jun 23 2021

gkm committed rG8a8558ae2795: [lld-macho] add tests for ICF, plus cleanups (authored by gkm).
[lld-macho] add tests for ICF, plus cleanups
Jun 23 2021, 8:48 PM
gkm closed D104721: [lld-macho] add tests for ICF, plus cleanups.
Jun 23 2021, 8:48 PM · Restricted Project, Unknown Object (Project)
gkm updated the diff for D104721: [lld-macho] add tests for ICF, plus cleanups.
  • revise according to review feedback
Jun 23 2021, 6:30 PM · Restricted Project, Unknown Object (Project)
gkm added inline comments to D103292: [lld-macho] Implement ICF.
Jun 23 2021, 9:58 AM · Unknown Object (Project), Restricted Project

Jun 22 2021

gkm updated the summary of D104721: [lld-macho] add tests for ICF, plus cleanups.
Jun 22 2021, 9:29 AM · Restricted Project, Unknown Object (Project)
gkm retitled D104721: [lld-macho] add tests for ICF, plus cleanups from [lld-macho] add tests for ICF to [lld-macho] add tests for ICF, plus cleanups.
Jun 22 2021, 9:28 AM · Restricted Project, Unknown Object (Project)
gkm requested review of D104721: [lld-macho] add tests for ICF, plus cleanups.
Jun 22 2021, 9:26 AM · Restricted Project, Unknown Object (Project)

Jun 18 2021

gkm committed rG8120c9e379c7: Rename option -icf MODE to --icf=MODE (authored by gkm).
Rename option -icf MODE to --icf=MODE
Jun 18 2021, 9:53 AM
gkm closed D104548: Rename option -icf MODE to --icf=MODE.
Jun 18 2021, 9:53 AM · Restricted Project, Unknown Object (Project)
gkm accepted D104543: [lld/mac] Support -data_in_code_info, -function_starts flags.

Bueno!

Jun 18 2021, 9:50 AM · Restricted Project, Restricted Project