Files
clang-p2996/flang/test/Fir/comdat-present.fir
Valentin Clement (バレンタイン クレメン) 466b58ba38 [flang] Avoid generating duplicate symbol in comdat (#114472)
In case where a fir.global might be duplicated in an inner module
(gpu.module), the conversion pattern will be applied on the module and
the gpu module version of the global and try to generate multiple comdat
with the same symbol name. This is what we have in the implementation of
CUDA Fortran.

Just check for the presence of the `ComdatSelectorOp` before creating a
new one.
2024-10-31 18:59:04 -07:00

15 lines
468 B
Plaintext

// RUN: fir-opt %s --fir-to-llvm-ir="target=x86_64-unknown-linux-gnu" | FileCheck %s
// RUN: fir-opt %s --fir-to-llvm-ir="target=x86_64-pc-windows-msvc" | FileCheck %s
fir.global linkonce_odr @global_linkonce_odr constant : i32 {
%0 = arith.constant 0 : i32
fir.has_value %0 : i32
}
llvm.comdat @__llvm_comdat {
llvm.comdat_selector @global_linkonce_odr any
}
// CHECK-LABEL: llvm.comdat @__llvm_comdat
// CHECK: llvm.comdat_selector @global_linkonce_odr any