From e4346340b94512978fdd4b9aa6c45c23ac65acab Mon Sep 17 00:00:00 2001 From: Chris Copeland Date: Thu, 4 Jul 2024 00:03:28 -0700 Subject: [PATCH] [llvm] Fix the MCSubtargetInfo used for module-level assembly. Provide both the default target CPU and default target features from the module's context, rather than empty strings. Fixes #61991. --- llvm/lib/Object/ModuleSymbolTable.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/llvm/lib/Object/ModuleSymbolTable.cpp b/llvm/lib/Object/ModuleSymbolTable.cpp index d8f520ad02c2f..079c33c801f6e 100644 --- a/llvm/lib/Object/ModuleSymbolTable.cpp +++ b/llvm/lib/Object/ModuleSymbolTable.cpp @@ -22,6 +22,7 @@ #include "llvm/IR/GlobalValue.h" #include "llvm/IR/GlobalVariable.h" #include "llvm/IR/InlineAsm.h" +#include "llvm/IR/LLVMContext.h" #include "llvm/IR/Module.h" #include "llvm/MC/MCAsmInfo.h" #include "llvm/MC/MCContext.h" @@ -92,8 +93,11 @@ initializeRecordStreamer(const Module &M, if (!MAI) return; + LLVMContext &Context = M.getContext(); + std::unique_ptr STI( - T->createMCSubtargetInfo(TT.str(), "", "")); + T->createMCSubtargetInfo(TT.str(), Context.getDefaultTargetCPU(), + Context.getDefaultTargetFeatures())); if (!STI) return;