This is an archive of the discontinued LLVM Phabricator instance.

[Interpreter] Pass target features to JIT
ClosedPublic

Authored by Hahnfeld on Jun 29 2022, 1:33 PM.

Details

Summary

This is required to support RISC-V where the '+d' target feature
indicates the presence of the D instruction set extension, which
changes to the Hard-float 'd' ABI.

Diff Detail

Event Timeline

Hahnfeld created this revision.Jun 29 2022, 1:33 PM
Herald added a project: Restricted Project. · View Herald TranscriptJun 29 2022, 1:33 PM
Hahnfeld requested review of this revision.Jun 29 2022, 1:33 PM
Herald added a project: Restricted Project. · View Herald TranscriptJun 29 2022, 1:33 PM
Herald added a subscriber: cfe-commits. · View Herald Transcript

Looks good to me but can we add a test? Do we have builders with that target?

Looks good to me but can we add a test? Do we have builders with that target?

In principle, this is visible in *every* usage of clang-repl, including the existing tests such as clang/test/Interpreter/execute.cpp. However, there's more needed to make RISC-V work so it won't pass right now even if it was run.

v.g.vassilev accepted this revision.Jun 29 2022, 1:56 PM

Thanks for the clarification! LGTM.

This revision is now accepted and ready to land.Jun 29 2022, 1:56 PM
Hahnfeld added inline comments.Jun 30 2022, 11:26 AM
clang/lib/Interpreter/IncrementalExecutor.h
34

That's wrong, should be class TargetInfo. I'll fix this before landing if my other tests go well...

This revision was landed with ongoing or failed builds.Jun 30 2022, 12:25 PM
This revision was automatically updated to reflect the committed changes.