From f38dbf99564fb12b30ba0df7293f1fb967c97333 Mon Sep 17 00:00:00 2001 From: Matt Arsenault Date: Tue, 16 Sep 2025 10:26:38 +0900 Subject: [PATCH] CodeGen: Do not define LOCAL_ESCAPE with ptr_rc ptr_rc is used to resolve an operand to a register class. This is not used with a virtual register, but a label so remove the use. --- llvm/include/llvm/Target/Target.td | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/llvm/include/llvm/Target/Target.td b/llvm/include/llvm/Target/Target.td index 6a7ecf78b2131..e664e20896db4 100644 --- a/llvm/include/llvm/Target/Target.td +++ b/llvm/include/llvm/Target/Target.td @@ -1415,9 +1415,9 @@ def PREALLOCATED_ARG : StandardPseudoInstruction { def LOCAL_ESCAPE : StandardPseudoInstruction { // This instruction is really just a label. It has to be part of the chain so // that it doesn't get dropped from the DAG, but it produces nothing and has - // no side effects. + // no side effects. Symbol operand is expected to be a label. let OutOperandList = (outs); - let InOperandList = (ins ptr_rc:$symbol, i32imm:$id); + let InOperandList = (ins unknown:$symbol, i32imm:$id); let hasSideEffects = false; let hasCtrlDep = true; }