diff --git a/llvm/lib/Target/RISCV/RISCVISelLowering.cpp b/llvm/lib/Target/RISCV/RISCVISelLowering.cpp index 976b2478b433e..30de53d43822e 100644 --- a/llvm/lib/Target/RISCV/RISCVISelLowering.cpp +++ b/llvm/lib/Target/RISCV/RISCVISelLowering.cpp @@ -22061,9 +22061,11 @@ SDValue RISCVTargetLowering::expandIndirectJTBranch(const SDLoc &dl, if (Subtarget.hasStdExtZicfilp()) { // When Zicfilp enabled, we need to use software guarded branch for jump // table branch. - SDValue JTInfo = DAG.getJumpTableDebugInfo(JTI, Value, dl); - return DAG.getNode(RISCVISD::SW_GUARDED_BRIND, dl, MVT::Other, JTInfo, - Addr); + SDValue Chain = Value; + // Jump table debug info is only needed if CodeView is enabled. + if (DAG.getTarget().getTargetTriple().isOSBinFormatCOFF()) + Chain = DAG.getJumpTableDebugInfo(JTI, Chain, dl); + return DAG.getNode(RISCVISD::SW_GUARDED_BRIND, dl, MVT::Other, Chain, Addr); } return TargetLowering::expandIndirectJTBranch(dl, Value, Addr, JTI, DAG); } diff --git a/llvm/lib/Target/X86/X86ISelLowering.cpp b/llvm/lib/Target/X86/X86ISelLowering.cpp index fea66e9582cfb..15e137c368393 100644 --- a/llvm/lib/Target/X86/X86ISelLowering.cpp +++ b/llvm/lib/Target/X86/X86ISelLowering.cpp @@ -59149,8 +59149,11 @@ SDValue X86TargetLowering::expandIndirectJTBranch(const SDLoc &dl, // notrack prefix to the indirect branch. // In order to do that we create NT_BRIND SDNode. // Upon ISEL, the pattern will convert it to jmp with NoTrack prefix. - SDValue JTInfo = DAG.getJumpTableDebugInfo(JTI, Value, dl); - return DAG.getNode(X86ISD::NT_BRIND, dl, MVT::Other, JTInfo, Addr); + SDValue Chain = Value; + // Jump table debug info is only needed if CodeView is enabled. + if (DAG.getTarget().getTargetTriple().isOSBinFormatCOFF()) + Chain = DAG.getJumpTableDebugInfo(JTI, Chain, dl); + return DAG.getNode(X86ISD::NT_BRIND, dl, MVT::Other, Chain, Addr); } return TargetLowering::expandIndirectJTBranch(dl, Value, Addr, JTI, DAG);