Skip to content
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

Enable AltJits build for LoongArch64 and RiscV64 #110282

Merged
merged 10 commits into from
Feb 11, 2025

Conversation

hez2010
Copy link
Contributor

@hez2010 hez2010 commented Nov 30, 2024

...so that

  • Any changes lead to build failure can be observed
  • Being able to inspect codegen using crossgen2 on other platforms

Introduced a new subset Clr.AllJitsCommunity

Closes #97712

@dotnet-issue-labeler dotnet-issue-labeler bot added the area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI label Nov 30, 2024
@dotnet-policy-service dotnet-policy-service bot added the community-contribution Indicates that the PR has been added by a community member label Nov 30, 2024
@hez2010
Copy link
Contributor Author

hez2010 commented Nov 30, 2024

Build is passing. Now I'm going to work on the new build subset.

@MichalPetryka
Copy link
Contributor

This should be marked as closing #97712.

@jkotas jkotas added arch-riscv Related to the RISC-V architecture arch-loongarch64 labels Nov 30, 2024
@huoyaoyuan
Copy link
Member

Seems that this will also be included in the default build clr? Building altjit is already taking a significant portion of time.

@hez2010
Copy link
Contributor Author

hez2010 commented Nov 30, 2024

Seems that this will also be included in the default build clr? Building altjit is already taking a significant portion of time.

That's why there's a TODO in the PR description.

xen0n pushed a commit to loongson-community/dotnet that referenced this pull request Dec 4, 2024
xen0n pushed a commit to loongson-community/dotnet that referenced this pull request Dec 5, 2024
@hez2010
Copy link
Contributor Author

hez2010 commented Dec 5, 2024

Introduced a new subset Clr.AllJitsCommunity. Now it's ready for merge.
@jakobbotsch Please take a look.

Co-authored-by: Jan Kotas <jkotas@microsoft.com>
@JulieLeeMSFT
Copy link
Member

@jakobbotsch, PTAL.

@huoyaoyuan
Copy link
Member

Since we are having CI legs for LA64 and RV, including these in the CI (and default build) seems unnecessary now.

@hez2010
Copy link
Contributor Author

hez2010 commented Jan 10, 2025

Since we are having CI legs for LA64 and RV, including these in the CI (and default build) seems unnecessary now.

We still need this because this will be used to enable LA64/RV64 altjits on godbolt so that we can inspect the codegen.

@JulieLeeMSFT
Copy link
Member

Pinging @jakobbotsch.

@jakobbotsch jakobbotsch self-requested a review January 30, 2025 18:10
@jakobbotsch
Copy link
Member

Sorry for the slowness. Can you please fix the conflict @hez2010?

@jakobbotsch
Copy link
Member

/azp run runtime

Copy link

Azure Pipelines successfully started running 1 pipeline(s).

Copy link
Member

@jakobbotsch jakobbotsch left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This LGTM. @shushanhf @dotnet/samsung can you PTAL as well?

@shushanhf
Copy link
Contributor

This LGTM. @shushanhf @dotnet/samsung can you PTAL as well?

Sorry for late reply as the Chinese Spring Festival.
LGTM
Thanks.

@jakobbotsch jakobbotsch merged commit ec118c7 into dotnet:main Feb 11, 2025
168 of 171 checks passed
@jakobbotsch
Copy link
Member

Thanks!

@filipnavara
Copy link
Member

Thanks! 🎉

@huoyaoyuan
Copy link
Member

huoyaoyuan commented Feb 11, 2025

FYI: adding following entry in CMakeUserPresets.json can enable AltJit building and browsing in VS:

        {
            "name": "windows.x64.Debug.AltJits",
            "inherits": "windows.x64.Debug",
            "cacheVariables": {
                "CLR_CMAKE_BUILD_COMMUNITY_ALTJITS": "1"
            }
        }

grendello added a commit to grendello/runtime that referenced this pull request Feb 12, 2025
* main:
  [Android] Run CoreCLR functional tests on Android (dotnet#112283)
  [LoongArch64] Fix some assertion failures for Debug ILC building Debug NativeAOT testcases. (dotnet#112229)
  Fix suspicious code fragments (dotnet#112384)
  `__ComObject` doesn't support dynamic interface map (dotnet#112375)
  Native DLLs: only load imported DLLs from System32 (dotnet#112359)
  [main] Update dependencies from dotnet/roslyn (dotnet#112314)
  Update SVE instructions that writes to GC regs (dotnet#112389)
  Bring up android+coreclr windows build.  (dotnet#112256)
  Never use heap for return buffers (dotnet#112060)
  Wait to complete the test before releasing the agile reference. (dotnet#112387)
  Prevent returning disposed HTTP/1.1 connections to the pool (dotnet#112383)
  Fingerprint dotnet.js if writing import map to html is enabled (dotnet#112407)
  Remove duplicate definition of CORECLR_HOSTING_API_LINKAGE (dotnet#112096)
  Update the exception message to reflect current behavior. (dotnet#112355)
  Use enum for frametype not v table (dotnet#112166)
  Enable AltJits build for LoongArch64 and RiscV64 (dotnet#110282)
  Guard members of MonoType union & fix related bugs (dotnet#111645)
  Add optional hooks for debugging OpenSSL memory allocations (dotnet#111539)
  JIT: Optimize struct parameter register accesses in the backend (dotnet#110819)
  NativeAOT: Cover more opcodes in type preinitializer (dotnet#112073)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
arch-loongarch64 arch-riscv Related to the RISC-V architecture area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI community-contribution Indicates that the PR has been added by a community member
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Provide subsets for AltJits for RISC-V and LoongArch64
9 participants