Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion Directory.Build.props
Original file line number Diff line number Diff line change
Expand Up @@ -333,7 +333,7 @@
<!-- Runtime doesn't support Arcade-driven target framework filtering. -->
<NoTargetFrameworkFiltering>true</NoTargetFrameworkFiltering>

<NativeBuildPartitionPropertiesToRemove>ClrFullNativeBuild;ClrRuntimeSubset;ClrJitSubset;ClrPalTestsSubset;ClrAllJitsSubset;ClrILToolsSubset;ClrNativeAotSubset;ClrSpmiSubset;ClrCrossComponentsSubset;ClrDebugSubset;HostArchitecture;PgoInstrument;NativeOptimizationDataSupported;CMakeArgs;CxxStandardLibrary;CxxStandardLibraryStatic;CxxAbiLibrary</NativeBuildPartitionPropertiesToRemove>
<NativeBuildPartitionPropertiesToRemove>ClrFullNativeBuild;ClrRuntimeSubset;ClrJitSubset;ClrPalTestsSubset;ClrAllJitsSubset;ClrAllJitsCommunitySubset;ClrILToolsSubset;ClrNativeAotSubset;ClrSpmiSubset;ClrCrossComponentsSubset;ClrDebugSubset;HostArchitecture;PgoInstrument;NativeOptimizationDataSupported;CMakeArgs;CxxStandardLibrary;CxxStandardLibraryStatic;CxxAbiLibrary</NativeBuildPartitionPropertiesToRemove>
<UseSystemZlib Condition="'$(TargetsAppleMobile)' == 'true' or '$(TargetOS)' == 'android' or '$(TargetArchitecture)' == 'armv6'">true</UseSystemZlib>
</PropertyGroup>

Expand Down
5 changes: 5 additions & 0 deletions eng/Subsets.props
Original file line number Diff line number Diff line change
Expand Up @@ -189,6 +189,7 @@
<SubsetName Include="Clr.Hosts" Description="The CoreCLR corerun test host." />
<SubsetName Include="Clr.Jit" Description="The JIT for the CoreCLR .NET runtime." />
<SubsetName Include="Clr.AllJits" Description="All of the cross-targeting JIT compilers for the CoreCLR .NET runtime." />
<SubsetName Include="Clr.AllJitsCommunity" Description="All of the cross-targeting JIT compilers for the CoreCLR .NET runtime, including community targets." />
<SubsetName Include="Clr.Spmi" Description="SuperPMI, a tool for CoreCLR JIT testing." />
<SubsetName Include="Clr.CoreLib" Description="The managed System.Private.CoreLib library for CoreCLR." />
<SubsetName Include="Clr.NativeCoreLib" Description="Run crossgen on System.Private.CoreLib library for CoreCLR." />
Expand Down Expand Up @@ -289,6 +290,10 @@
<ClrRuntimeBuildSubsets>$(ClrRuntimeBuildSubsets);ClrAllJitsSubset=true</ClrRuntimeBuildSubsets>
</PropertyGroup>

<PropertyGroup Condition="$(_subset.Contains('+clr.alljitscommunity+'))">
<ClrRuntimeBuildSubsets>$(ClrRuntimeBuildSubsets);ClrAllJitsCommunitySubset=true</ClrRuntimeBuildSubsets>
</PropertyGroup>

<PropertyGroup Condition="$(_subset.Contains('+clr.iltools+'))">
<ClrRuntimeBuildSubsets>$(ClrRuntimeBuildSubsets);ClrILToolsSubset=true</ClrRuntimeBuildSubsets>
</PropertyGroup>
Expand Down
6 changes: 3 additions & 3 deletions eng/native/functions.cmake
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
function(clr_unknown_arch)
if (WIN32)
message(FATAL_ERROR "Only AMD64, ARM64, ARM and I386 hosts are supported. Found: ${CMAKE_SYSTEM_PROCESSOR}")
message(FATAL_ERROR "Only AMD64, ARM64, ARM, I386, LOONGARCH64 and RISCV64 hosts are supported. Found: ${CMAKE_SYSTEM_PROCESSOR}")
elseif(CLR_CROSS_COMPONENTS_BUILD)
message(FATAL_ERROR "Only AMD64, ARM64 and I386 hosts are supported for linux cross-architecture component. Found: ${CMAKE_SYSTEM_PROCESSOR}")
message(FATAL_ERROR "Only AMD64, ARM64, I386, LOONGARCH64 and RISCV64 hosts are supported for linux cross-architecture component. Found: ${CMAKE_SYSTEM_PROCESSOR}")
else()
message(FATAL_ERROR "'${CMAKE_SYSTEM_PROCESSOR}' is an unsupported architecture.")
endif()
Expand Down Expand Up @@ -319,7 +319,7 @@ function(add_component componentName)
else()
set(componentTargetName "${componentName}")
endif()
if (${ARGC} EQUAL 3 AND "${ARG2}" STREQUAL "EXCLUDE_FROM_ALL")
if (${ARGC} EQUAL 3 AND "${ARGV2}" STREQUAL "EXCLUDE_FROM_ALL")
set(exclude_from_all_flag "EXCLUDE_FROM_ALL")
endif()
get_property(definedComponents GLOBAL PROPERTY CLR_CMAKE_COMPONENTS)
Expand Down
41 changes: 30 additions & 11 deletions src/coreclr/build-runtime.cmd
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,8 @@ set __TargetArchX64=0
set __TargetArchX86=0
set __TargetArchArm=0
set __TargetArchArm64=0
set __TargetArchLoongArch64=0
set __TargetArchRiscV64=0

set __BuildTypeDebug=0
set __BuildTypeChecked=0
Expand Down Expand Up @@ -89,6 +91,8 @@ if /i "%1" == "-x64" (set __TargetArchX64=1&shift&goto Arg_Loop)
if /i "%1" == "-x86" (set __TargetArchX86=1&shift&goto Arg_Loop)
if /i "%1" == "-arm" (set __TargetArchArm=1&shift&goto Arg_Loop)
if /i "%1" == "-arm64" (set __TargetArchArm64=1&shift&goto Arg_Loop)
if /i "%1" == "-loongarch64" (set __TargetArchLoongArch64=1&shift&goto Arg_Loop)
if /i "%1" == "-riscv64" (set __TargetArchRiscV64=1&shift&goto Arg_Loop)

if /i "%1" == "-debug" (set __BuildTypeDebug=1&shift&goto Arg_Loop)
if /i "%1" == "-checked" (set __BuildTypeChecked=1&shift&goto Arg_Loop)
Expand All @@ -103,6 +107,8 @@ if /i "%1" == "x64" (set __TargetArchX64=1&shift&goto Arg_Loop)
if /i "%1" == "x86" (set __TargetArchX86=1&shift&goto Arg_Loop)
if /i "%1" == "arm" (set __TargetArchArm=1&shift&goto Arg_Loop)
if /i "%1" == "arm64" (set __TargetArchArm64=1&shift&goto Arg_Loop)
if /i "%1" == "loongarch64" (set __TargetArchLoongArch64=1&shift&goto Arg_Loop)
if /i "%1" == "riscv64" (set __TargetArchRiscV64=1&shift&goto Arg_Loop)

if /i "%1" == "debug" (set __BuildTypeDebug=1&shift&goto Arg_Loop)
if /i "%1" == "checked" (set __BuildTypeChecked=1&shift&goto Arg_Loop)
Expand Down Expand Up @@ -167,16 +173,18 @@ if defined VCINSTALLDIR (

if defined __BuildAll goto BuildAll

set /A __TotalSpecifiedTargetArch=__TargetArchX64 + __TargetArchX86 + __TargetArchArm + __TargetArchArm64
set /A __TotalSpecifiedTargetArch=__TargetArchX64 + __TargetArchX86 + __TargetArchArm + __TargetArchArm64 + __TargetArchLoongArch64 + __TargetArchRiscV64
if %__TotalSpecifiedTargetArch% GTR 1 (
echo Error: more than one build architecture specified, but "all" not specified.
goto Usage
)

if %__TargetArchX64%==1 set __TargetArch=x64
if %__TargetArchX86%==1 set __TargetArch=x86
if %__TargetArchArm%==1 set __TargetArch=arm
if %__TargetArchArm64%==1 set __TargetArch=arm64
if %__TargetArchX64%==1 set __TargetArch=x64
if %__TargetArchX86%==1 set __TargetArch=x86
if %__TargetArchArm%==1 set __TargetArch=arm
if %__TargetArchArm64%==1 set __TargetArch=arm64
if %__TargetArchLoongArch64%==1 set __TargetArch=loongarch64
if %__TargetArchRiscV64%==1 set __TargetArch=riscv64
if "%__HostArch%" == "" set __HostArch=%__TargetArch%

set /A __TotalSpecifiedBuildType=__BuildTypeDebug + __BuildTypeChecked + __BuildTypeRelease
Expand Down Expand Up @@ -294,6 +302,7 @@ if NOT DEFINED PYTHON (
)

set __CMakeTarget=
set __BuildAllJitsCommunity=0
for /f "delims=" %%a in ("-%__RequestedBuildComponents%-") do (
set "string=%%a"
if not "!string:-hosts-=!"=="!string!" (
Expand All @@ -305,6 +314,10 @@ for /f "delims=" %%a in ("-%__RequestedBuildComponents%-") do (
if not "!string:-alljits-=!"=="!string!" (
set __CMakeTarget=!__CMakeTarget! alljits
)
if not "!string:-alljitscommunity-=!"=="!string!" (
set __CMakeTarget=!__CMakeTarget! alljitscommunity
set __BuildAllJitsCommunity=1
)
if not "!string:-runtime-=!"=="!string!" (
set __CMakeTarget=!__CMakeTarget! runtime
)
Expand Down Expand Up @@ -459,18 +472,24 @@ REM ============================================================================

set __TargetArchList=

set /A __TotalSpecifiedTargetArch=__TargetArchX64 + __TargetArchX86 + __TargetArchArm + __TargetArchArm64
set /A __TotalSpecifiedTargetArch=__TargetArchX64 + __TargetArchX86 + __TargetArchArm + __TargetArchArm64 + __TargetArchLoongArch64 + __TargetArchRiscV64
if %__TotalSpecifiedTargetArch% EQU 0 (
REM Nothing specified means we want to build all architectures.
set __TargetArchList=x64 x86 arm arm64

if %__BuildAllJitsCommunity%==1 (
set __TargetArchList=%__TargetArchList% loongarch64 riscv64
)
)

REM Otherwise, add all the specified architectures to the list.

if %__TargetArchX64%==1 set __TargetArchList=%__TargetArchList% x64
if %__TargetArchX86%==1 set __TargetArchList=%__TargetArchList% x86
if %__TargetArchArm%==1 set __TargetArchList=%__TargetArchList% arm
if %__TargetArchArm64%==1 set __TargetArchList=%__TargetArchList% arm64
if %__TargetArchX64%==1 set __TargetArchList=%__TargetArchList% x64
if %__TargetArchX86%==1 set __TargetArchList=%__TargetArchList% x86
if %__TargetArchArm%==1 set __TargetArchList=%__TargetArchList% arm
if %__TargetArchArm64%==1 set __TargetArchList=%__TargetArchList% arm64
if %__TargetArchLoongArch64%==1 set __TargetArchList=%__TargetArchList% loongarch64
if %__TargetArchRiscV64%==1 set __TargetArchList=%__TargetArchList% riscv64

set __BuildTypeList=

Expand Down Expand Up @@ -553,7 +572,7 @@ echo All arguments are optional. The options are:
echo.
echo.-? -h -help --help: view this message.
echo -all: Builds all configurations and platforms.
echo Build architecture: one of -x64, -x86, -arm, -arm64 ^(default: -x64^).
echo Build architecture: one of -x64, -x86, -arm, -arm64, -loongarch64, -riscv64 ^(default: -x64^).
echo Build type: one of -Debug, -Checked, -Release ^(default: -Debug^).
echo -component ^<name^> : specify this option one or more times to limit components built to those specified.
echo Allowed ^<name^>: hosts jit alljits runtime paltests iltools nativeaot spmi
Expand Down
2 changes: 1 addition & 1 deletion src/coreclr/build-runtime.sh
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ export PYTHON
usage_list+=("-pgodatapath: path to profile guided optimization data.")
usage_list+=("-pgoinstrument: generate instrumented code for profile guided optimization enabled binaries.")
usage_list+=("-staticanalyzer: use scan_build static analyzer.")
usage_list+=("-component: Build individual components instead of the full project. Available options are 'hosts', 'jit', 'runtime', 'paltests', 'alljits', 'iltools', 'nativeaot', and 'spmi'. Can be specified multiple times.")
usage_list+=("-component: Build individual components instead of the full project. Available options are 'hosts', 'jit', 'runtime', 'paltests', 'alljits', 'alljitscommunity', 'iltools', 'nativeaot', and 'spmi'. Can be specified multiple times.")
usage_list+=("-subdir: Append a directory with the provided name to the obj and bin paths.")

setup_dirs_local()
Expand Down
4 changes: 4 additions & 0 deletions src/coreclr/gcinfo/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,10 @@ endif()
if (CLR_CMAKE_TARGET_ARCH_ARM64 OR CLR_CMAKE_TARGET_ARCH_AMD64)
create_gcinfo_lib(TARGET gcinfo_universal_arm64 OS universal ARCH arm64)
create_gcinfo_lib(TARGET gcinfo_unix_x64 OS unix ARCH x64)
if (CLR_CMAKE_BUILD_COMMUNITY_ALTJITS EQUAL 1)
create_gcinfo_lib(TARGET gcinfo_unix_loongarch64 OS unix ARCH loongarch64)
create_gcinfo_lib(TARGET gcinfo_unix_riscv64 OS unix ARCH riscv64)
endif(CLR_CMAKE_BUILD_COMMUNITY_ALTJITS EQUAL 1)
create_gcinfo_lib(TARGET gcinfo_win_x64 OS win ARCH x64)
endif (CLR_CMAKE_TARGET_ARCH_ARM64 OR CLR_CMAKE_TARGET_ARCH_AMD64)

Expand Down
11 changes: 11 additions & 0 deletions src/coreclr/inc/corinfo.h
Original file line number Diff line number Diff line change
Expand Up @@ -3351,6 +3351,17 @@ class ICorDynamicInfo : public ICorStaticInfo
//
#define IMAGE_REL_BASED_REL_THUMB_MOV32_PCREL 0x14

//
// LOONGARCH64 relocation types
//
#define IMAGE_REL_LOONGARCH64_PC 0x0003
#define IMAGE_REL_LOONGARCH64_JIR 0x0004

//
// RISCV64 relocation types
//
#define IMAGE_REL_RISCV64_PC 0x0003

/**********************************************************************************/
#ifdef TARGET_64BIT
#define USE_PER_FRAME_PINVOKE_INIT
Expand Down
8 changes: 4 additions & 4 deletions src/coreclr/inc/gcinfotypes.h
Original file line number Diff line number Diff line change
Expand Up @@ -780,8 +780,8 @@ void FASTCALL decodeCallPattern(int pattern,
#define DENORMALIZE_STACK_SLOT(x) ((x)<<3)
#define NORMALIZE_CODE_LENGTH(x) ((x)>>2) // All Instructions are 4 bytes long
#define DENORMALIZE_CODE_LENGTH(x) ((x)<<2)
#define NORMALIZE_STACK_BASE_REGISTER(x) ((x) == 22 ? 0 : 1) // Encode Frame pointer fp=$22 as zero
#define DENORMALIZE_STACK_BASE_REGISTER(x) ((x) == 0 ? 22 : 3)
#define NORMALIZE_STACK_BASE_REGISTER(x) ((x) == 22 ? 0u : 1u) // Encode Frame pointer fp=$22 as zero
#define DENORMALIZE_STACK_BASE_REGISTER(x) ((x) == 0 ? 22u : 3u)
#define NORMALIZE_SIZE_OF_STACK_AREA(x) ((x)>>3)
#define DENORMALIZE_SIZE_OF_STACK_AREA(x) ((x)<<3)
#define CODE_OFFSETS_NEED_NORMALIZATION 1
Expand Down Expand Up @@ -833,8 +833,8 @@ void FASTCALL decodeCallPattern(int pattern,
#define DENORMALIZE_STACK_SLOT(x) ((x)<<3)
#define NORMALIZE_CODE_LENGTH(x) ((x)>>2) // All Instructions are 4 bytes long
#define DENORMALIZE_CODE_LENGTH(x) ((x)<<2)
#define NORMALIZE_STACK_BASE_REGISTER(x) ((x) == 8 ? 0 : 1) // Encode Frame pointer X8 as zero, sp/x2 as 1
#define DENORMALIZE_STACK_BASE_REGISTER(x) ((x) == 0 ? 8 : 2)
#define NORMALIZE_STACK_BASE_REGISTER(x) ((x) == 8 ? 0u : 1u) // Encode Frame pointer X8 as zero, sp/x2 as 1
#define DENORMALIZE_STACK_BASE_REGISTER(x) ((x) == 0 ? 8u : 2u)
#define NORMALIZE_SIZE_OF_STACK_AREA(x) ((x)>>3)
#define DENORMALIZE_SIZE_OF_STACK_AREA(x) ((x)<<3)
#define CODE_OFFSETS_NEED_NORMALIZATION 1
Expand Down
4 changes: 4 additions & 0 deletions src/coreclr/inc/palclr.h
Original file line number Diff line number Diff line change
Expand Up @@ -612,4 +612,8 @@
#define IMAGE_FILE_MACHINE_LOONGARCH64 0x6264 // LOONGARCH64.
#endif

#ifndef IMAGE_FILE_MACHINE_RISCV64
#define IMAGE_FILE_MACHINE_RISCV64 0x5064 // RISCV64.
#endif

#endif // defined(HOST_WINDOWS)
4 changes: 4 additions & 0 deletions src/coreclr/jit/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -642,6 +642,10 @@ if (CLR_CMAKE_TARGET_ARCH_ARM64 OR CLR_CMAKE_TARGET_ARCH_AMD64)
create_standalone_jit(TARGET clrjit_universal_arm64_${ARCH_HOST_NAME} OS universal ARCH arm64)
create_standalone_jit(TARGET clrjit_unix_x64_${ARCH_HOST_NAME} OS unix_anyos ARCH x64)
create_standalone_jit(TARGET clrjit_win_x64_${ARCH_HOST_NAME} OS win ARCH x64)
if (CLR_CMAKE_BUILD_COMMUNITY_ALTJITS EQUAL 1)
create_standalone_jit(TARGET clrjit_unix_loongarch64_${ARCH_HOST_NAME} OS unix ARCH loongarch64)
create_standalone_jit(TARGET clrjit_unix_riscv64_${ARCH_HOST_NAME} OS unix ARCH riscv64)
endif(CLR_CMAKE_BUILD_COMMUNITY_ALTJITS EQUAL 1)
endif (CLR_CMAKE_TARGET_ARCH_ARM64 OR CLR_CMAKE_TARGET_ARCH_AMD64)

if (CLR_CMAKE_TARGET_ARCH_LOONGARCH64)
Expand Down
9 changes: 4 additions & 5 deletions src/coreclr/jit/codegenloongarch64.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -174,7 +174,7 @@ void CodeGen::genStackPointerAdjustment(ssize_t spDelta, regNumber tmpReg, bool*
{
// spDelta is negative in the prolog, positive in the epilog,
// but we always tell the unwind codes the positive value.
ssize_t spDeltaAbs = abs(spDelta);
ssize_t spDeltaAbs = std::abs(spDelta);
unsigned unwindSpDelta = (unsigned)spDeltaAbs;
assert((ssize_t)unwindSpDelta == spDeltaAbs); // make sure that it fits in a unsigned

Expand Down Expand Up @@ -2460,10 +2460,9 @@ static inline bool isImmed(GenTree* treeNode)

instruction CodeGen::genGetInsForOper(GenTree* treeNode)
{
var_types type = treeNode->TypeGet();
genTreeOps oper = treeNode->OperGet();
GenTree* op1 = treeNode->gtGetOp1();
GenTree* op2;
var_types type = treeNode->TypeGet();
genTreeOps oper = treeNode->OperGet();
GenTree* op1 = treeNode->gtGetOp1();
emitAttr attr = emitActualTypeSize(treeNode);
bool isImm = false;

Expand Down
4 changes: 1 addition & 3 deletions src/coreclr/jit/codegenriscv64.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -163,7 +163,7 @@ void CodeGen::genStackPointerAdjustment(ssize_t spDelta, regNumber tmpReg, bool*
{
// spDelta is negative in the prolog, positive in the epilog,
// but we always tell the unwind codes the positive value.
ssize_t spDeltaAbs = abs(spDelta);
ssize_t spDeltaAbs = std::abs(spDelta);
unsigned unwindSpDelta = (unsigned)spDeltaAbs;
assert((ssize_t)unwindSpDelta == spDeltaAbs); // make sure that it fits in a unsigned

Expand Down Expand Up @@ -6330,8 +6330,6 @@ void CodeGen::genIntToIntCast(GenTreeCast* cast)

if ((desc.ExtendKind() != GenIntCastDesc::COPY) || (srcReg != dstReg))
{
instruction ins;

switch (desc.ExtendKind())
{
case GenIntCastDesc::ZERO_EXTEND_SMALL_INT:
Expand Down
4 changes: 2 additions & 2 deletions src/coreclr/jit/emitloongarch64.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2404,7 +2404,7 @@ void emitter::emitIns_Call(EmitCallType callType,

// Our stack level should be always greater than the bytes of arguments we push. Just
// a sanity test.
assert((unsigned)abs(argSize) <= codeGen->genStackLevel);
assert((unsigned)std::abs(argSize) <= codeGen->genStackLevel);

// Trim out any callee-trashed registers from the live set.
regMaskTP savedSet = emitGetGCRegsSavedOrModified(methHnd);
Expand Down Expand Up @@ -4002,7 +4002,7 @@ void emitter::emitDisInsName(code_t code, const BYTE* addr, instrDesc* id)
int tmp;

instruction ins = INS_invalid;
for (int i = 1; i < INS_count; i++)
for (uint32_t i = 1; i < INS_count; i++)
{
if ((code & emitGetInsMask(i)) == emitInsCode((instruction)i))
{
Expand Down
4 changes: 2 additions & 2 deletions src/coreclr/jit/emitriscv64.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1385,7 +1385,7 @@ void emitter::emitIns_Call(EmitCallType callType,

// Our stack level should be always greater than the bytes of arguments we push. Just
// a sanity test.
assert((unsigned)abs(argSize) <= codeGen->genStackLevel);
assert((unsigned)std::abs(argSize) <= codeGen->genStackLevel);

// Trim out any callee-trashed registers from the live set.
regMaskTP savedSet = emitGetGCRegsSavedOrModified(methHnd);
Expand Down Expand Up @@ -4573,7 +4573,7 @@ void emitter::emitDispIns(
emitDispInsInstrNum(id);

const BYTE* instr = pCode + writeableOffset;
size_t instrSize;
unsigned instrSize;
for (size_t i = 0; i < sz; instr += instrSize, i += instrSize, offset += instrSize)
{
// TODO-RISCV64: support different size instructions
Expand Down
4 changes: 2 additions & 2 deletions src/coreclr/jit/lclvars.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -863,7 +863,7 @@ void Compiler::lvaInitUserArgs(InitVarDscInfo* varDscInfo, unsigned skipArgs, un
if (lowering->numLoweredElements == 1)
assert(varDsc->lvExactSize() <= argSize);

cSlotsToEnregister = lowering->numLoweredElements;
cSlotsToEnregister = static_cast<unsigned>(lowering->numLoweredElements);
argRegTypeInStruct1 = JITtype2varType(lowering->loweredElements[0]);
if (lowering->numLoweredElements == 2)
argRegTypeInStruct2 = JITtype2varType(lowering->loweredElements[1]);
Expand All @@ -872,7 +872,7 @@ void Compiler::lvaInitUserArgs(InitVarDscInfo* varDscInfo, unsigned skipArgs, un
assert(floatNum > 0);

canPassArgInRegisters = varDscInfo->canEnreg(TYP_DOUBLE, floatNum);
if (canPassArgInRegisters && (floatNum < lowering->numLoweredElements))
if (canPassArgInRegisters && ((unsigned)floatNum < lowering->numLoweredElements))
{
assert(floatNum == 1);
assert(lowering->numLoweredElements == 2);
Expand Down
2 changes: 1 addition & 1 deletion src/coreclr/jit/targetloongarch64.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,7 @@ ABIPassingInformation LoongArch64Classifier::Classify(Compiler* comp,

if (!lowering->byIntegerCallConv)
{
slots = lowering->numLoweredElements;
slots = static_cast<unsigned>(lowering->numLoweredElements);
if (lowering->numLoweredElements == 1)
{
canPassArgInRegisters = m_floatRegs.Count() > 0;
Expand Down
2 changes: 1 addition & 1 deletion src/coreclr/jit/targetriscv64.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,7 @@ ABIPassingInformation RiscV64Classifier::Classify(Compiler* comp,
floatFields += (unsigned)varTypeIsFloating(type);
INDEBUG(debugIntFields += (unsigned)varTypeIsIntegralOrI(type);)
}
intFields = lowering->numLoweredElements - floatFields;
intFields = static_cast<unsigned>(lowering->numLoweredElements) - floatFields;
assert(debugIntFields == intFields);
}
}
Expand Down
11 changes: 0 additions & 11 deletions src/coreclr/pal/inc/rt/ntimage.h
Original file line number Diff line number Diff line change
Expand Up @@ -1015,17 +1015,6 @@ typedef IMAGE_RELOCATION UNALIGNED *PIMAGE_RELOCATION;
#define IMAGE_REL_IA64_GPREL32 0x001C
#define IMAGE_REL_IA64_ADDEND 0x001F

//
// LOONGARCH64 relocation types
//
#define IMAGE_REL_LOONGARCH64_PC 0x0003
#define IMAGE_REL_LOONGARCH64_JIR 0x0004

//
// RISCV64 relocation types
//
#define IMAGE_REL_RISCV64_PC 0x0003

//
// CEF relocation types.
//
Expand Down
1 change: 1 addition & 0 deletions src/coreclr/runtime.proj
Original file line number Diff line number Diff line change
Expand Up @@ -68,6 +68,7 @@
<_CoreClrBuildArg Condition="'$(ClrJitSubset)' == 'true'" Include="-component jit" />
<_CoreClrBuildArg Condition="'$(ClrPalTestsSubset)' == 'true'" Include="-component paltests" />
<_CoreClrBuildArg Condition="'$(ClrAllJitsSubset)' == 'true'" Include="-component alljits" />
<_CoreClrBuildArg Condition="'$(ClrAllJitsCommunitySubset)' == 'true'" Include="-component alljits;-cmakeargs &quot;-DCLR_CMAKE_BUILD_COMMUNITY_ALTJITS=1&quot;" />
<_CoreClrBuildArg Condition="'$(ClrILToolsSubset)' == 'true'" Include="-component iltools" />
<_CoreClrBuildArg Condition="'$(ClrNativeAotSubset)' == 'true'" Include="-component nativeaot" />
<_CoreClrBuildArg Condition="'$(ClrSpmiSubset)' == 'true'" Include="-component spmi" />
Expand Down
Loading