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

[RyuJIT] Unify handling of nodes that produce multiple registers #8678

Open
CarolEidt opened this issue Aug 3, 2017 · 1 comment
Open

[RyuJIT] Unify handling of nodes that produce multiple registers #8678

CarolEidt opened this issue Aug 3, 2017 · 1 comment
Labels
area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI enhancement Product code improvement that does NOT require public API changes/additions JitUntriaged CLR JIT issues needing additional triage
Milestone

Comments

@CarolEidt
Copy link
Contributor

Nodes that produce multiple registers require special handling. There should be a unified mechanism for manipulating the register and spill info on these nodes. The nodes are:

  • GenTreeMultiRegOp (_TARGET_ARM_)
  • GenTreePutArgSplit (_TARGET_ARM_)
  • GenTreeCall (FEATURE_MULTIREG_RET)

See the declarations of the following methods on these nodes:

  • ClearOtherRegs()
  • ClearOtherRegFlags()
  • GetRegNumByIdx()
  • GetRegSpillFlagByIdx()
  • SetRegSpillFlagByIdx()
  • GetRegType()

category:implementation
theme:ir
skill-level:expert
cost:medium

@CarolEidt
Copy link
Contributor Author

When this is addressed, we should also fix the assert in LinearScan::BuildRefPositionsForNode() that checks that produce is as expected - that assert should be generalized for all targets.

@msftgits msftgits transferred this issue from dotnet/coreclr Jan 31, 2020
@msftgits msftgits added this to the Future milestone Jan 31, 2020
@BruceForstall BruceForstall added the JitUntriaged CLR JIT issues needing additional triage label Oct 28, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI enhancement Product code improvement that does NOT require public API changes/additions JitUntriaged CLR JIT issues needing additional triage
Projects
None yet
Development

No branches or pull requests

3 participants