[clang] f10b0b1 - [clang][Interpreter] Do not overwrite the module's DataLayout (#224027)

via cfe-commits cfe-commits at lists.llvm.org
Mon Sep 21 06:08:14 PDT 2026


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) <noreply at anthropic.com>

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");


        


More information about the cfe-commits mailing list