[llvm] [X86] Avoid crashing in PIC mode on narrowing to i8 followed by extension to i32 (PR #145965)

Matt Arsenault via llvm-commits llvm-commits at lists.llvm.org
Fri Jun 27 07:51:07 PDT 2025


================
@@ -631,7 +631,8 @@ void InstrEmitter::EmitSubregNode(SDNode *Node, VRBaseMapType &VRBaseMap,
 void
 InstrEmitter::EmitCopyToRegClassNode(SDNode *Node,
                                      VRBaseMapType &VRBaseMap) {
-  Register VReg = getVR(Node->getOperand(0), VRBaseMap);
+  RegisterSDNode *R = dyn_cast<RegisterSDNode>(Node->getOperand(0));
+  unsigned VReg = R ? R->getReg() : getVR(Node->getOperand(0), VRBaseMap);
----------------
arsenm wrote:

Still seems wrong. The value should already be in the map 

https://github.com/llvm/llvm-project/pull/145965


More information about the llvm-commits mailing list