-
Notifications
You must be signed in to change notification settings - Fork 5.1k
Fill out more SuperPMI cases for LoongArch64 and RISCV64 #114136
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
Fill out more SuperPMI cases for LoongArch64 and RISCV64 #114136
Conversation
With these changes, SuperPMI can be used with a LoongArch64 or RISCV64 cross-targeting altjit and x64 MCH files to generate and view some code. There are lots of "missing data" cases; for RISCV64 about half of x64 contexts replay successfully. More work is required for asmdiffs to work, such as updating coredistools and implementing Loongarch64/RISCV64 relocation handling.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR enables SuperPMI to work with LoongArch64 and RISCV64 by extending the valid architectures and adding target-specific logic.
- Updated help messages for arch, target_arch, and mch_arch to include loongarch64 and riscv64.
- Added logic in verify_target_args to automatically override target_os to Linux and adjust mch_arch for LoongArch64/RISCV64 targets.
Files not reviewed (8)
- src/coreclr/jit/disasm.cpp: Language not supported
- src/coreclr/jit/importercalls.cpp: Language not supported
- src/coreclr/tools/superpmi/superpmi-shared/compileresult.cpp: Language not supported
- src/coreclr/tools/superpmi/superpmi-shared/spmiutil.h: Language not supported
- src/coreclr/tools/superpmi/superpmi/commandline.cpp: Language not supported
- src/coreclr/tools/superpmi/superpmi/jitinstance.cpp: Language not supported
- src/coreclr/tools/superpmi/superpmi/neardiffer.cpp: Language not supported
- src/coreclr/tools/superpmi/superpmi/superpmi.cpp: Language not supported
@AndyAyersMS PTAL |
141aa94 is being scheduled for building and testingGIT: Release-build FAILEDbuildinfo.json |
RISC-V Release-CLR-VF2: 9528 / 9548 (99.79%)
Release-CLR-VF2.md, Release-CLR-VF2.xml, testclr_output.tar.gz Build information and commandsGIT: RISC-V Release-FX-VF2: 435745 / 461664 (94.39%)
Build information and commandsGIT: RISC-V Release-FX-QEMU: 642620 / 675557 (95.12%)
Release-FX-QEMU.md, Release-FX-QEMU.xml, testfx_output.tar.gz Build information and commandsGIT: RISC-V Release-CLR-QEMU: 9528 / 9548 (99.79%)
Release-CLR-QEMU.md, Release-CLR-QEMU.xml, testclr_output.tar.gz Build information and commandsGIT: |
/ba-g azure linux 3 timeouts |
With these changes, SuperPMI can be used with a LoongArch64 or RISCV64 cross-targeting altjit and x64 MCH files to generate and view some code. There are lots of "missing data" cases; for RISCV64 about half of x64 contexts replay successfully.
More work is required for asmdiffs to work, such as updating coredistools and implementing Loongarch64/RISCV64 relocation handling.