This is an archive of the discontinued LLVM Phabricator instance.

[ORC] add lazy jit support for riscv64
ClosedPublic

Authored by alexfanqi on Mar 27 2022, 5:52 AM.

Details

Summary

This adds resolver, indirection and trampoline stubs for riscv64,
allowing lazy compilation to work.

It assumes hard float extension exists. I don't know the proper way to detect it as Triple doesn't provide the interface to check riscv +f +d abi.

I am also not sure if orclazy tests should be enabled because lli needs an additional -codemodel=melany for tests to pass.

Diff Detail

Event Timeline

alexfanqi created this revision.Mar 27 2022, 5:52 AM
Herald added a project: Restricted Project. · View Herald TranscriptMar 27 2022, 5:52 AM
alexfanqi requested review of this revision.Mar 27 2022, 5:52 AM
alexfanqi edited the summary of this revision. (Show Details)Mar 27 2022, 5:56 AM
alexfanqi retitled this revision from add ORC lazy jit support for riscv64 to [ORC] add lazy jit support for riscv64.Mar 27 2022, 6:25 AM
lhames accepted this revision.Apr 1 2022, 9:00 PM

I can't speak to the RISC-V assembly, but the API use looks good to me.

This revision is now accepted and ready to land.Apr 1 2022, 9:00 PM
This revision was landed with ongoing or failed builds.Apr 10 2022, 3:44 AM
This revision was automatically updated to reflect the committed changes.