-
Notifications
You must be signed in to change notification settings - Fork 5.3k
[RISC-V] Synthesizing PC-relative pointer constants #119203
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from 35 commits
Commits
Show all changes
43 commits
Select commit
Hold shift + click to select a range
77fdbb8
Synthesize handles for function addresses with auipc+ld
tomeksowi 60ec4a9
Use auipc+ld/addi for addresses also in non-compReloc
tomeksowi 848ac99
Always record relocation
tomeksowi 65014e2
clear gc info when address is built in register
tomeksowi b43e790
fix reloc type
tomeksowi bd0e79c
cleanup: emitAlllocInstr sets idGCref and idOpSize based on attr
tomeksowi 1f016da
remove redundant assert
tomeksowi 80bca29
remove unused debug fields
tomeksowi c8b605d
Merge branch 'main' into pc-rel-pointers
tomeksowi 289740a
Estimate if data is in range, handle also stores
tomeksowi 41cbc5a
Handle floating data
tomeksowi 5f86c9d
spmi
tomeksowi b857350
fix comment
tomeksowi 9fa6ef2
fix nullcheck
tomeksowi 4277e8b
AddrNeedsReloc more appropriate for addresses
tomeksowi 7d04735
add assert
tomeksowi 12596e1
use relative pointer synthesizing where possible in genSetRegToConst
tomeksowi 33f0b88
Revert "use relative pointer synthesizing where possible in genSetReg…
tomeksowi 13b6421
Record relocations for loads for indirect calls only when the load ad…
tomeksowi 15fd38b
Merge branch 'main' into pc-rel-pointers
tomeksowi 7f1f98d
Check if direct calls are in range and synthesize the absolute addres…
tomeksowi 809cedf
Remove hardcoded branch offset from genJumpToThrowHlpBlk_la
tomeksowi f8b8083
asserts
tomeksowi 025883d
Fix genFnEpilog emitting always a relocatable load / func pointer
tomeksowi 5f35980
remove assert
tomeksowi 7e6357e
Fix genProfiling(Enter|Leave)Callback emitting always a relocatable l…
tomeksowi ab556f8
Centralize checking whether direct call is in range
tomeksowi e38cf3f
jump stubs
tomeksowi 4c7f286
FitsIn
tomeksowi 315c807
Add different relocation types to avoid telling jalr by disasm
tomeksowi 5a5881e
Tell S-type by relocation type instead of disassembling the fixup site
tomeksowi 4b8d487
comment
tomeksowi 2874ec4
Refactor fix-up to use same code structure as arm64
tomeksowi 455bcb7
Merge branch 'main' into pc-rel-pointers (resolve conflicts)
tomeksowi 5b5ce0a
Use PCREL_I for ld
tomeksowi 80a6998
fix musl build
tomeksowi 062652b
lower bool
tomeksowi 917fb8d
Add symbol for PC-relative HI20 relocation and record another relocat…
tomeksowi 398e3b9
FitsInRiscV64
tomeksowi c2ab644
Explain where auipc combo bounds come from
tomeksowi abacec7
Merge branch 'main' into pc-rel-pointers
tomeksowi 8c081a6
Fix build
tomeksowi e5ce631
Fix types and format
tomeksowi File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.