This is an archive of the discontinued LLVM Phabricator instance.

[RISCV] Call relaxation
AbandonedPublic

Authored by gkm on May 12 2022, 12:54 PM.

Details

Summary

Add relaxation handling for calls

Depends on D125036

Diff Detail

Event Timeline

gkm created this revision.May 12 2022, 12:54 PM
Herald added a project: Restricted Project. · View Herald TranscriptMay 12 2022, 12:54 PM
gkm requested review of this revision.May 12 2022, 12:54 PM
gkm updated this revision to Diff 431770.May 24 2022, 1:07 PM
  • Add capacity to undo earlier relaxations that go out of range after later passes

This still fails with the test case I provided as feedback for D100835: https://reviews.llvm.org/D100835#3456472

gkm updated this revision to Diff 432402.May 26 2022, 4:12 PM
  • Fix bug reported by @luismarques regarding relaxation of calls through PLT
gkm updated this revision to Diff 432476.May 26 2022, 11:54 PM
  • add fillAlignGap(), extracted from fillAdjustGaps()
  • add empty cases for HI20/LO12 relaxations, to be fleshed-out in a later diff.

Can you please rebase the patch? It fails to apply.

Can you please rebase the patch? It fails to apply.

Nevermind. Updating the parent fixes it enough.

gkm updated this revision to Diff 432620.May 27 2022, 12:54 PM
  • Remove glob patterns from ld.lld command lines in lld/test/ELF/riscv-relax-call-undo.s because Windows doesn't support them.
gkm updated this revision to Diff 432625.May 27 2022, 1:32 PM
  • fix indentation, as caught by clang-format
gkm updated this revision to Diff 434630.Jun 6 2022, 3:38 PM
  • Rebase, minor cleanups, minor comment revisions
gkm abandoned this revision.Jun 26 2022, 10:04 PM