Author: Matt Arsenault Date: 2026-09-21T15:08:09+02:00 New Revision: f10b0b1554d31fdea2dd3963e179fa75ea2e262e
URL: https://github.com/llvm/llvm-project/commit/f10b0b1554d31fdea2dd3963e179fa75ea2e262e DIFF: https://github.com/llvm/llvm-project/commit/f10b0b1554d31fdea2dd3963e179fa75ea2e262e.diff LOG: [clang][Interpreter] Do not overwrite the module's DataLayout (#224027) The incremental CUDA device and Wasm executors reset the module's DataLayout from TargetMachine::createDataLayout() before codegen. These modules are produced by clang's own CodeGen, so already have a datalayout so this is redundant. This also avoids using the TargetMachine copy of the datalayout, which will eventually be removed. Co-authored-by: Claude (Claude-Opus-4.8) <[email protected]> Added: Modified: clang/lib/Interpreter/DeviceOffload.cpp clang/lib/Interpreter/Wasm.cpp Removed: ################################################################################ diff --git a/clang/lib/Interpreter/DeviceOffload.cpp b/clang/lib/Interpreter/DeviceOffload.cpp index 38cecd142a8e6..bf7653c518c30 100644 --- a/clang/lib/Interpreter/DeviceOffload.cpp +++ b/clang/lib/Interpreter/DeviceOffload.cpp @@ -56,7 +56,6 @@ llvm::Expected<llvm::StringRef> IncrementalCUDADeviceParser::GeneratePTX() { llvm::TargetMachine *TargetMachine = Target->createTargetMachine( PTU.TheModule->getTargetTriple(), TargetOpts.CPU, "", TO, llvm::Reloc::Model::PIC_); - PTU.TheModule->setDataLayout(TargetMachine->createDataLayout()); PTXCode.clear(); llvm::raw_svector_ostream dest(PTXCode); diff --git a/clang/lib/Interpreter/Wasm.cpp b/clang/lib/Interpreter/Wasm.cpp index e8dbffdff789c..a36a7f7b027e8 100644 --- a/clang/lib/Interpreter/Wasm.cpp +++ b/clang/lib/Interpreter/Wasm.cpp @@ -89,7 +89,6 @@ llvm::Error WasmIncrementalExecutor::addModule(PartialTranslationUnit &PTU) { llvm::TargetOptions TO = llvm::TargetOptions(); llvm::TargetMachine *TargetMachine = Target->createTargetMachine( PTU.TheModule->getTargetTriple(), "", "", TO, llvm::Reloc::Model::PIC_); - PTU.TheModule->setDataLayout(TargetMachine->createDataLayout()); llvm::SmallString<256> ObjectFileName(TempDir); llvm::sys::path::append(ObjectFileName, PTU.TheModule->getName() + ".o"); _______________________________________________ cfe-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
