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

JIT: Unify GT_JMP handling in the backends #102117

Merged
merged 3 commits into from
May 14, 2024
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
4 changes: 4 additions & 0 deletions src/coreclr/jit/abi.h
Original file line number Diff line number Diff line change
Expand Up @@ -68,6 +68,10 @@ struct ABIPassingInformation

static ABIPassingInformation FromSegment(Compiler* comp, const ABIPassingSegment& segment);

#ifdef WINDOWS_AMD64_ABI
static bool GetShadowSpaceCallerOffsetForReg(regNumber reg, int* offset);
#endif

#ifdef DEBUG
void Dump() const;
#endif
Expand Down
5 changes: 3 additions & 2 deletions src/coreclr/jit/codegen.h
Original file line number Diff line number Diff line change
Expand Up @@ -275,7 +275,7 @@ class CodeGen final : public CodeGenInterface
void genHomeRegisterParams(regNumber initReg, bool* initRegStillZeroed);
regMaskTP genGetParameterHomingTempRegisterCandidates();

var_types genParamStackStoreType(LclVarDsc* dsc, const ABIPassingSegment& seg);
var_types genParamStackType(LclVarDsc* dsc, const ABIPassingSegment& seg);
void genSpillOrAddRegisterParam(unsigned lclNum, class RegGraph* graph);
void genEnregisterIncomingStackArgs();
#if defined(TARGET_ARM64) || defined(TARGET_LOONGARCH64) || defined(TARGET_RISCV64)
Expand Down Expand Up @@ -1260,7 +1260,8 @@ class CodeGen final : public CodeGenInterface
void genCall(GenTreeCall* call);
void genCallInstruction(GenTreeCall* call X86_ARG(target_ssize_t stackArgBytes));
void genDefinePendingCallLabel(GenTreeCall* call);
void genJmpMethod(GenTree* jmp);
void genJmpPlaceArgs(GenTree* jmp);
void genJmpPlaceVarArgs();
BasicBlock* genCallFinally(BasicBlock* block);
#if defined(TARGET_LOONGARCH64) || defined(TARGET_RISCV64)
void genCodeForJumpCompare(GenTreeOpCC* tree);
Expand Down
2 changes: 1 addition & 1 deletion src/coreclr/jit/codegenarm.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1761,7 +1761,7 @@ void CodeGen::genProfilingLeaveCallback(unsigned helper)
// For the tail call case, the helper call is introduced during lower,
// so the allocator will arrange things so R0 is not in use here.
//
// For the tail jump case, all reg args have been spilled via genJmpMethod,
// For the tail jump case, all reg args have been spilled via genJmpPlaceArgs,
// so R0 is likewise not in use.
r0InUse = false;
}
Expand Down
Loading
Loading