Loop is not cloned for partial array iteration
@EgorBo is already working on this.
Since Aug 15, 2025.
Assessment
This issue has not been assessed yet.
Description
static int SumARange1(int[] array, int offset, int count)
{
int sum = 0;
for (int i = offset; i < offset + count; i++)
sum += array[i];
return sum;
}
Current codegen:
; Method Test_DevDiv_255294:SumARange1(int[],int,int):int (FullOpts)
sub rsp, 40
xor eax, eax
mov r10d, edx
add r8d, r10d
cmp r8d, edx
jle SHORT G_M48878_IG05
mov edx, dword ptr [rcx+0x08]
align [12 bytes for IG04]
G_M48878_IG04:
cmp r10d, edx
jae SHORT G_M48878_IG06
add eax, dword ptr [rcx+4*r10+0x10]
inc r10d
cmp r8d, r10d
jg SHORT G_M48878_IG04
G_M48878_IG05:
add rsp, 40
ret
G_M48878_IG06:
call CORINFO_HELP_RNGCHKFAIL
int3
; Total bytes of code: 61
While it's not legal to drop the bounds check here, JIT should be able to handle it via loop cloning.
- Dominant language
- C#
- Stars
- 18.3k
- Forks
- 5.6k
- PR merge metrics
- PR metrics pending
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from dotnet/runtime
-
agentic-workflows untriaged
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
-
area-System.Reflection blocking-clean-ci-optional Known Build Error os-mac-os-x untriaged
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
-
area-CodeGen-coreclr untriaged
Difficulty 1/5 Under an hour Newbie friendliness 92/100
-
agentic-workflows untriaged
Difficulty 1/5 Under an hour Newbie friendliness 78/100
-
area-VM-meta-mono untriaged
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 86/100
-
:watch: Not Triaged 11.0 fundamentals/subsvc
Difficulty 2/5 1-3 hours Newbie friendliness 92/100
dotnet/AspNetCore.Docs#37699 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
SubtitleEdit/subtitleedit#15108 · 1 comment ·
-
area/docs-content Bug pulumi/docs
Difficulty 1/5 1-3 hours Newbie friendliness 94/100
-
Create parent directories only after the containment check in InstallHelper.TryExtractToDirectory Open
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
PowerShell/PSResourceGet#2056 ·