Skip to content

Conversation

@SingleAccretion
Copy link
Contributor

GT_CNS_LNG is an oper used for integral constants on 32 bit targets. On 64 bit targets, GT_CNS_INT is used for all integral constants. This is a bit of a hindrance for 32 bit target CQ, as it forces the natural flow of code to not consider long constants, and in general it seems odd to have one of the fundamental IR concepts (integer constants) be target-specific.

This change deletes GT_CNS_LNG, in favor of representing all integer constants with GT_CNS_INT.

@ghost ghost added community-contribution Indicates that the PR has been added by a community member area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI labels May 8, 2023
@ghost
Copy link

ghost commented May 8, 2023

Tagging subscribers to this area: @JulieLeeMSFT, @jakobbotsch
See info in area-owners.md if you want to be subscribed.

Issue Details

GT_CNS_LNG is an oper used for integral constants on 32 bit targets. On 64 bit targets, GT_CNS_INT is used for all integral constants. This is a bit of a hindrance for 32 bit target CQ, as it forces the natural flow of code to not consider long constants, and in general it seems odd to have one of the fundamental IR concepts (integer constants) be target-specific.

This change deletes GT_CNS_LNG, in favor of representing all integer constants with GT_CNS_INT.

Author: SingleAccretion
Assignees: -
Labels:

area-CodeGen-coreclr, community-contribution

Milestone: -

@ghost
Copy link

ghost commented Jun 24, 2023

Draft Pull Request was automatically closed for 30 days of inactivity. Please let us know if you'd like to reopen it.

@ghost ghost closed this Jul 25, 2023
@ghost
Copy link

ghost commented Jul 25, 2023

Draft Pull Request was automatically closed for 30 days of inactivity. Please let us know if you'd like to reopen it.

@ghost ghost closed this Aug 24, 2023
@ghost
Copy link

ghost commented Aug 24, 2023

Draft Pull Request was automatically closed for 30 days of inactivity. Please let us know if you'd like to reopen it.

@ghost ghost closed this Sep 24, 2023
@ghost
Copy link

ghost commented Sep 24, 2023

Draft Pull Request was automatically closed for 30 days of inactivity. Please let us know if you'd like to reopen it.

@dotnet-policy-service
Copy link
Contributor

Draft Pull Request was automatically closed for 30 days of inactivity. Please let us know if you'd like to reopen it.

@dotnet-policy-service
Copy link
Contributor

Draft Pull Request was automatically closed for 30 days of inactivity. Please let us know if you'd like to reopen it.

@dotnet-policy-service
Copy link
Contributor

Draft Pull Request was automatically closed for 30 days of inactivity. Please let us know if you'd like to reopen it.

@dotnet-policy-service
Copy link
Contributor

Draft Pull Request was automatically closed for 30 days of inactivity. Please let us know if you'd like to reopen it.

@dotnet-policy-service
Copy link
Contributor

Draft Pull Request was automatically closed for 30 days of inactivity. Please let us know if you'd like to reopen it.

@dotnet-policy-service
Copy link
Contributor

Draft Pull Request was automatically closed for 30 days of inactivity. Please let us know if you'd like to reopen it.

@dotnet-policy-service
Copy link
Contributor

Draft Pull Request was automatically closed for 30 days of inactivity. Please let us know if you'd like to reopen it.

@dotnet-policy-service
Copy link
Contributor

Draft Pull Request was automatically closed for 30 days of inactivity. Please let us know if you'd like to reopen it.

@dotnet-policy-service
Copy link
Contributor

Draft Pull Request was automatically closed for 30 days of inactivity. Please let us know if you'd like to reopen it.

ssize_t compareImm = op2->AsIntCon()->IconValue();

assert(isPow2(((size_t)compareImm)));
uint64_t compareImm = op2->AsIntCon()->IntegralValueUnsigned();
Copy link
Contributor

Choose a reason for hiding this comment

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

this could be a perf regression cause... if uint64_t isn't treated the same as ssize_t

@dotnet-policy-service
Copy link
Contributor

Draft Pull Request was automatically closed for 30 days of inactivity. Please let us know if you'd like to reopen it.

@github-actions github-actions bot locked and limited conversation to collaborators May 18, 2025
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

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.

4 participants