This is an archive of the discontinued LLVM Phabricator instance.

[LoongArch] Lower BlockAddress/JumpTable
ClosedPublic

Authored by wangleiat on Sep 22 2022, 5:41 AM.

Details

Summary

This patch uses a unified interface for lower GlobalAddress ConstantPool
BlockAddress and JumpTable.

This patch allows lowering addresses by using PC-relative addressing
for DSO-local symbols, and accessing the address through the global
offset table for DSO-preemptable symbols.

Remove hardcoded MininumJumpTableEntries for test lower JumpTable.

Also updated some test cases using ConstantPool, due to the addition of
relocation information.

Diff Detail

Event Timeline

wangleiat created this revision.Sep 22 2022, 5:41 AM
Herald added a project: Restricted Project. · View Herald TranscriptSep 22 2022, 5:41 AM
wangleiat requested review of this revision.Sep 22 2022, 5:41 AM
Herald added a project: Restricted Project. · View Herald TranscriptSep 22 2022, 5:41 AM
xen0n accepted this revision.Sep 22 2022, 8:51 AM

This mostly looks okay, thanks! I'd wait for more people to have a look at this though. We're very close to passing ninja check with native builds with this.

This revision is now accepted and ready to land.Sep 22 2022, 8:51 AM
SixWeining accepted this revision.Sep 25 2022, 7:22 PM
This revision was automatically updated to reflect the committed changes.