Skip to content

Commit dd6e19a

Browse files
committed
[IR] Rename comdat noduplicates to comdat nodeduplicate
In the textual format, `noduplicates` means no COMDAT/section group deduplication is performed. Therefore, if both sets of sections are retained, and they happen to define strong external symbols with the same names, there will be a duplicate definition linker error. In PE/COFF, the selection kind lowers to `IMAGE_COMDAT_SELECT_NODUPLICATES`. The name describes the corollary instead of the immediate semantics. The name can cause confusion to other binary formats (ELF, wasm) which have implemented/ want to implement the "no deduplication" selection kind. Rename it to be clearer. Reviewed By: rnk Differential Revision: https://reviews.llvm.org/D106319
1 parent 0d5ca9b commit dd6e19a

39 files changed

+78
-79
lines changed

Diff for: bindings/go/llvm/ir.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -290,7 +290,7 @@ const (
290290
AnyComdatSelectionKind ComdatSelectionKind = C.LLVMAnyComdatSelectionKind
291291
ExactMatchComdatSelectionKind ComdatSelectionKind = C.LLVMExactMatchComdatSelectionKind
292292
LargestComdatSelectionKind ComdatSelectionKind = C.LLVMLargestComdatSelectionKind
293-
NoDuplicatesComdatSelectionKind ComdatSelectionKind = C.LLVMNoDuplicatesComdatSelectionKind
293+
NoDeduplicateComdatSelectionKind ComdatSelectionKind = C.LLVMNoDeduplicateComdatSelectionKind
294294
SameSizeComdatSelectionKind ComdatSelectionKind = C.LLVMSameSizeComdatSelectionKind
295295
)
296296

Diff for: docs/BitCodeFormat.rst

+1-1
Original file line numberDiff line numberDiff line change
@@ -1013,7 +1013,7 @@ The integer codes are mapped to well-known attributes as follows.
10131013
* code 9: ``noalias``
10141014
* code 10: ``nobuiltin``
10151015
* code 11: ``nocapture``
1016-
* code 12: ``noduplicates``
1016+
* code 12: ``nodeduplicate``
10171017
* code 13: ``noimplicitfloat``
10181018
* code 14: ``noinline``
10191019
* code 15: ``nonlazybind``

Diff for: docs/LangRef.rst

+2-2
Original file line numberDiff line numberDiff line change
@@ -938,8 +938,8 @@ The selection kind must be one of the following:
938938
same data.
939939
``largest``
940940
The linker will choose the section containing the largest COMDAT key.
941-
``noduplicates``
942-
The linker requires that only section with this COMDAT key exist.
941+
``nodeduplicate``
942+
No deduplication is performed.
943943
``samesize``
944944
The linker may choose any COMDAT key but the sections must contain the
945945
same amount of data.

Diff for: include/llvm-c/Comdat.h

+1-2
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,7 @@ typedef enum {
2525
///< be the same.
2626
LLVMLargestComdatSelectionKind, ///< The linker will choose the largest
2727
///< COMDAT.
28-
LLVMNoDuplicatesComdatSelectionKind, ///< No other Module may specify this
29-
///< COMDAT.
28+
LLVMNoDeduplicateComdatSelectionKind, ///< No deduplication is performed.
3029
LLVMSameSizeComdatSelectionKind ///< The data referenced by the COMDAT must be
3130
///< the same size.
3231
} LLVMComdatSelectionKind;

Diff for: include/llvm/AsmParser/LLToken.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -261,7 +261,7 @@ enum Kind {
261261
kw_any,
262262
kw_exactmatch,
263263
kw_largest,
264-
kw_noduplicates,
264+
kw_nodeduplicate,
265265
kw_samesize,
266266

267267
kw_eq,

Diff for: include/llvm/IR/Comdat.h

+5-5
Original file line numberDiff line numberDiff line change
@@ -31,11 +31,11 @@ template <typename ValueTy> class StringMapEntry;
3131
class Comdat {
3232
public:
3333
enum SelectionKind {
34-
Any, ///< The linker may choose any COMDAT.
35-
ExactMatch, ///< The data referenced by the COMDAT must be the same.
36-
Largest, ///< The linker will choose the largest COMDAT.
37-
NoDuplicates, ///< No other Module may specify this COMDAT.
38-
SameSize, ///< The data referenced by the COMDAT must be the same size.
34+
Any, ///< The linker may choose any COMDAT.
35+
ExactMatch, ///< The data referenced by the COMDAT must be the same.
36+
Largest, ///< The linker will choose the largest COMDAT.
37+
NoDeduplicate, ///< No deduplication is performed.
38+
SameSize, ///< The data referenced by the COMDAT must be the same size.
3939
};
4040

4141
Comdat(const Comdat &) = delete;

Diff for: lib/AsmParser/LLLexer.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -717,7 +717,7 @@ lltok::Kind LLLexer::LexIdentifier() {
717717
KEYWORD(any);
718718
KEYWORD(exactmatch);
719719
KEYWORD(largest);
720-
KEYWORD(noduplicates);
720+
KEYWORD(nodeduplicate);
721721
KEYWORD(samesize);
722722

723723
KEYWORD(eq); KEYWORD(ne); KEYWORD(slt); KEYWORD(sgt); KEYWORD(sle);

Diff for: lib/AsmParser/LLParser.cpp

+2-2
Original file line numberDiff line numberDiff line change
@@ -668,8 +668,8 @@ bool LLParser::parseComdat() {
668668
case lltok::kw_largest:
669669
SK = Comdat::Largest;
670670
break;
671-
case lltok::kw_noduplicates:
672-
SK = Comdat::NoDuplicates;
671+
case lltok::kw_nodeduplicate:
672+
SK = Comdat::NoDeduplicate;
673673
break;
674674
case lltok::kw_samesize:
675675
SK = Comdat::SameSize;

Diff for: lib/Bitcode/Reader/BitcodeReader.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -1128,7 +1128,7 @@ static Comdat::SelectionKind getDecodedComdatSelectionKind(unsigned Val) {
11281128
case bitc::COMDAT_SELECTION_KIND_LARGEST:
11291129
return Comdat::Largest;
11301130
case bitc::COMDAT_SELECTION_KIND_NO_DUPLICATES:
1131-
return Comdat::NoDuplicates;
1131+
return Comdat::NoDeduplicate;
11321132
case bitc::COMDAT_SELECTION_KIND_SAME_SIZE:
11331133
return Comdat::SameSize;
11341134
}

Diff for: lib/Bitcode/Writer/BitcodeWriter.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -1132,7 +1132,7 @@ static unsigned getEncodedComdatSelectionKind(const Comdat &C) {
11321132
return bitc::COMDAT_SELECTION_KIND_EXACT_MATCH;
11331133
case Comdat::Largest:
11341134
return bitc::COMDAT_SELECTION_KIND_LARGEST;
1135-
case Comdat::NoDuplicates:
1135+
case Comdat::NoDeduplicate:
11361136
return bitc::COMDAT_SELECTION_KIND_NO_DUPLICATES;
11371137
case Comdat::SameSize:
11381138
return bitc::COMDAT_SELECTION_KIND_SAME_SIZE;

Diff for: lib/CodeGen/TargetLoweringObjectFileImpl.cpp

+4-4
Original file line numberDiff line numberDiff line change
@@ -532,10 +532,10 @@ static const Comdat *getELFComdat(const GlobalValue *GV) {
532532
return nullptr;
533533

534534
if (C->getSelectionKind() != Comdat::Any &&
535-
C->getSelectionKind() != Comdat::NoDuplicates)
535+
C->getSelectionKind() != Comdat::NoDeduplicate)
536536
report_fatal_error("ELF COMDATs only support SelectionKind::Any and "
537-
"SelectionKind::NoDuplicates, '" + C->getName() +
538-
"' cannot be lowered.");
537+
"SelectionKind::NoDeduplicate, '" +
538+
C->getName() + "' cannot be lowered.");
539539

540540
return C;
541541
}
@@ -1571,7 +1571,7 @@ static int getSelectionForCOFF(const GlobalValue *GV) {
15711571
return COFF::IMAGE_COMDAT_SELECT_EXACT_MATCH;
15721572
case Comdat::Largest:
15731573
return COFF::IMAGE_COMDAT_SELECT_LARGEST;
1574-
case Comdat::NoDuplicates:
1574+
case Comdat::NoDeduplicate:
15751575
return COFF::IMAGE_COMDAT_SELECT_NODUPLICATES;
15761576
case Comdat::SameSize:
15771577
return COFF::IMAGE_COMDAT_SELECT_SAME_SIZE;

Diff for: lib/IR/AsmWriter.cpp

+2-2
Original file line numberDiff line numberDiff line change
@@ -4554,8 +4554,8 @@ void Comdat::print(raw_ostream &ROS, bool /*IsForDebug*/) const {
45544554
case Comdat::Largest:
45554555
ROS << "largest";
45564556
break;
4557-
case Comdat::NoDuplicates:
4558-
ROS << "noduplicates";
4557+
case Comdat::NoDeduplicate:
4558+
ROS << "nodeduplicate";
45594559
break;
45604560
case Comdat::SameSize:
45614561
ROS << "samesize";

Diff for: lib/IR/Comdat.cpp

+4-4
Original file line numberDiff line numberDiff line change
@@ -47,8 +47,8 @@ LLVMComdatSelectionKind LLVMGetComdatSelectionKind(LLVMComdatRef C) {
4747
return LLVMExactMatchComdatSelectionKind;
4848
case Comdat::Largest:
4949
return LLVMLargestComdatSelectionKind;
50-
case Comdat::NoDuplicates:
51-
return LLVMNoDuplicatesComdatSelectionKind;
50+
case Comdat::NoDeduplicate:
51+
return LLVMNoDeduplicateComdatSelectionKind;
5252
case Comdat::SameSize:
5353
return LLVMSameSizeComdatSelectionKind;
5454
}
@@ -67,8 +67,8 @@ void LLVMSetComdatSelectionKind(LLVMComdatRef C, LLVMComdatSelectionKind kind) {
6767
case LLVMLargestComdatSelectionKind:
6868
Cd->setSelectionKind(Comdat::Largest);
6969
break;
70-
case LLVMNoDuplicatesComdatSelectionKind:
71-
Cd->setSelectionKind(Comdat::NoDuplicates);
70+
case LLVMNoDeduplicateComdatSelectionKind:
71+
Cd->setSelectionKind(Comdat::NoDeduplicate);
7272
break;
7373
case LLVMSameSizeComdatSelectionKind:
7474
Cd->setSelectionKind(Comdat::SameSize);

Diff for: lib/Linker/LinkModules.cpp

+2-2
Original file line numberDiff line numberDiff line change
@@ -177,9 +177,9 @@ bool ModuleLinker::computeResultingSelectionKind(StringRef ComdatName,
177177
// Go with Dst.
178178
LinkFromSrc = false;
179179
break;
180-
case Comdat::SelectionKind::NoDuplicates:
180+
case Comdat::SelectionKind::NoDeduplicate:
181181
return emitError("Linking COMDATs named '" + ComdatName +
182-
"': noduplicates has been violated!");
182+
"': nodeduplicate has been violated!");
183183
case Comdat::SelectionKind::ExactMatch:
184184
case Comdat::SelectionKind::Largest:
185185
case Comdat::SelectionKind::SameSize: {

Diff for: lib/Transforms/IPO/Internalize.cpp

+4-4
Original file line numberDiff line numberDiff line change
@@ -131,14 +131,14 @@ bool InternalizePass::maybeInternalize(
131131
// If a comdat with one member is not externally visible, we can drop it.
132132
// Otherwise, the comdat can be used to establish dependencies among the
133133
// group of sections. Thus we have to keep the comdat but switch it to
134-
// noduplicates.
135-
// Note: noduplicates is not necessary for COFF. wasm doesn't support
136-
// noduplicates.
134+
// nodeduplicate.
135+
// Note: nodeduplicate is not necessary for COFF. wasm doesn't support
136+
// nodeduplicate.
137137
ComdatInfo &Info = ComdatMap.find(C)->second;
138138
if (Info.Size == 1)
139139
GO->setComdat(nullptr);
140140
else if (!IsWasm)
141-
C->setSelectionKind(Comdat::NoDuplicates);
141+
C->setSelectionKind(Comdat::NoDeduplicate);
142142
}
143143

144144
if (GV.hasLocalLinkage())

Diff for: lib/Transforms/Instrumentation/AddressSanitizer.cpp

+2-2
Original file line numberDiff line numberDiff line change
@@ -1919,7 +1919,7 @@ bool ModuleAddressSanitizer::shouldInstrumentGlobal(GlobalVariable *G) const {
19191919
switch (C->getSelectionKind()) {
19201920
case Comdat::Any:
19211921
case Comdat::ExactMatch:
1922-
case Comdat::NoDuplicates:
1922+
case Comdat::NoDeduplicate:
19231923
break;
19241924
case Comdat::Largest:
19251925
case Comdat::SameSize:
@@ -2106,7 +2106,7 @@ void ModuleAddressSanitizer::SetComdatForGlobalMetadata(
21062106
// linkage to internal linkage so that a symbol table entry is emitted. This
21072107
// is necessary in order to create the comdat group.
21082108
if (TargetTriple.isOSBinFormatCOFF()) {
2109-
C->setSelectionKind(Comdat::NoDuplicates);
2109+
C->setSelectionKind(Comdat::NoDeduplicate);
21102110
if (G->hasPrivateLinkage())
21112111
G->setLinkage(GlobalValue::InternalLinkage);
21122112
}

Diff for: lib/Transforms/Instrumentation/InstrProfiling.cpp

+2-2
Original file line numberDiff line numberDiff line change
@@ -862,7 +862,7 @@ InstrProfiling::getOrCreateRegionCounters(InstrProfIncrementInst *Inc) {
862862
// same name marked IMAGE_COMDAT_SELECT_ASSOCIATIVE.
863863
//
864864
// For ELF, when not using COMDAT, put counters, data and values into a
865-
// noduplicates COMDAT which is lowered to a zero-flag section group. This
865+
// nodeduplicate COMDAT which is lowered to a zero-flag section group. This
866866
// allows -z start-stop-gc to discard the entire group when the function is
867867
// discarded.
868868
bool DataReferencedByCode = profDataReferencedByCode(*M);
@@ -877,7 +877,7 @@ InstrProfiling::getOrCreateRegionCounters(InstrProfIncrementInst *Inc) {
877877
: CntsVarName;
878878
Comdat *C = M->getOrInsertComdat(GroupName);
879879
if (!NeedComdat)
880-
C->setSelectionKind(Comdat::NoDuplicates);
880+
C->setSelectionKind(Comdat::NoDeduplicate);
881881
GV->setComdat(C);
882882
}
883883
};

Diff for: lib/Transforms/Instrumentation/Instrumentation.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ Comdat *llvm::getOrCreateFunctionComdat(Function &F, Triple &T) {
8383
// symbols.
8484
Comdat *C = M->getOrInsertComdat(F.getName());
8585
if (T.isOSBinFormatELF() || (T.isOSBinFormatCOFF() && !F.isWeakForLinker()))
86-
C->setSelectionKind(Comdat::NoDuplicates);
86+
C->setSelectionKind(Comdat::NoDeduplicate);
8787
F.setComdat(C);
8888
return C;
8989
}

Diff for: test/Bitcode/compatibility-3.6.ll

+2-2
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,8 @@ $comdat.exactmatch = comdat exactmatch
2323
; CHECK: $comdat.exactmatch = comdat exactmatch
2424
$comdat.largest = comdat largest
2525
; CHECK: $comdat.largest = comdat largest
26-
$comdat.noduplicates = comdat noduplicates
27-
; CHECK: $comdat.noduplicates = comdat noduplicates
26+
$comdat.noduplicates = comdat nodeduplicate
27+
; CHECK: $comdat.noduplicates = comdat nodeduplicate
2828
$comdat.samesize = comdat samesize
2929
; CHECK: $comdat.samesize = comdat samesize
3030

Diff for: test/Bitcode/compatibility-3.7.ll

+2-2
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,8 @@ $comdat.exactmatch = comdat exactmatch
2323
; CHECK: $comdat.exactmatch = comdat exactmatch
2424
$comdat.largest = comdat largest
2525
; CHECK: $comdat.largest = comdat largest
26-
$comdat.noduplicates = comdat noduplicates
27-
; CHECK: $comdat.noduplicates = comdat noduplicates
26+
$comdat.noduplicates = comdat nodeduplicate
27+
; CHECK: $comdat.noduplicates = comdat nodeduplicate
2828
$comdat.samesize = comdat samesize
2929
; CHECK: $comdat.samesize = comdat samesize
3030

Diff for: test/Bitcode/compatibility-3.8.ll

+2-2
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,8 @@ $comdat.exactmatch = comdat exactmatch
2222
; CHECK: $comdat.exactmatch = comdat exactmatch
2323
$comdat.largest = comdat largest
2424
; CHECK: $comdat.largest = comdat largest
25-
$comdat.noduplicates = comdat noduplicates
26-
; CHECK: $comdat.noduplicates = comdat noduplicates
25+
$comdat.noduplicates = comdat nodeduplicate
26+
; CHECK: $comdat.noduplicates = comdat nodeduplicate
2727
$comdat.samesize = comdat samesize
2828
; CHECK: $comdat.samesize = comdat samesize
2929

Diff for: test/Bitcode/compatibility-3.9.ll

+2-2
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,8 @@ $comdat.exactmatch = comdat exactmatch
2222
; CHECK: $comdat.exactmatch = comdat exactmatch
2323
$comdat.largest = comdat largest
2424
; CHECK: $comdat.largest = comdat largest
25-
$comdat.noduplicates = comdat noduplicates
26-
; CHECK: $comdat.noduplicates = comdat noduplicates
25+
$comdat.noduplicates = comdat nodeduplicate
26+
; CHECK: $comdat.noduplicates = comdat nodeduplicate
2727
$comdat.samesize = comdat samesize
2828
; CHECK: $comdat.samesize = comdat samesize
2929

Diff for: test/Bitcode/compatibility-4.0.ll

+2-2
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,8 @@ $comdat.exactmatch = comdat exactmatch
2222
; CHECK: $comdat.exactmatch = comdat exactmatch
2323
$comdat.largest = comdat largest
2424
; CHECK: $comdat.largest = comdat largest
25-
$comdat.noduplicates = comdat noduplicates
26-
; CHECK: $comdat.noduplicates = comdat noduplicates
25+
$comdat.noduplicates = comdat nodeduplicate
26+
; CHECK: $comdat.noduplicates = comdat nodeduplicate
2727
$comdat.samesize = comdat samesize
2828
; CHECK: $comdat.samesize = comdat samesize
2929

Diff for: test/Bitcode/compatibility-5.0.ll

+2-2
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,8 @@ $comdat.exactmatch = comdat exactmatch
2222
; CHECK: $comdat.exactmatch = comdat exactmatch
2323
$comdat.largest = comdat largest
2424
; CHECK: $comdat.largest = comdat largest
25-
$comdat.noduplicates = comdat noduplicates
26-
; CHECK: $comdat.noduplicates = comdat noduplicates
25+
$comdat.noduplicates = comdat nodeduplicate
26+
; CHECK: $comdat.noduplicates = comdat nodeduplicate
2727
$comdat.samesize = comdat samesize
2828
; CHECK: $comdat.samesize = comdat samesize
2929

Diff for: test/Bitcode/compatibility-6.0.ll

+2-2
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,8 @@ $comdat.exactmatch = comdat exactmatch
2323
; CHECK: $comdat.exactmatch = comdat exactmatch
2424
$comdat.largest = comdat largest
2525
; CHECK: $comdat.largest = comdat largest
26-
$comdat.noduplicates = comdat noduplicates
27-
; CHECK: $comdat.noduplicates = comdat noduplicates
26+
$comdat.noduplicates = comdat nodeduplicate
27+
; CHECK: $comdat.noduplicates = comdat nodeduplicate
2828
$comdat.samesize = comdat samesize
2929
; CHECK: $comdat.samesize = comdat samesize
3030

Diff for: test/Bitcode/compatibility.ll

+2-2
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,8 @@ $comdat.exactmatch = comdat exactmatch
2525
; CHECK: $comdat.exactmatch = comdat exactmatch
2626
$comdat.largest = comdat largest
2727
; CHECK: $comdat.largest = comdat largest
28-
$comdat.noduplicates = comdat noduplicates
29-
; CHECK: $comdat.noduplicates = comdat noduplicates
28+
$comdat.noduplicates = comdat nodeduplicate
29+
; CHECK: $comdat.noduplicates = comdat nodeduplicate
3030
$comdat.samesize = comdat samesize
3131
; CHECK: $comdat.samesize = comdat samesize
3232

Diff for: test/CodeGen/X86/coff-comdat.ll

+1-1
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ define void @f3() comdat($f3) {
1818
ret void
1919
}
2020

21-
$f4 = comdat noduplicates
21+
$f4 = comdat nodeduplicate
2222
@v4 = global i32 0, comdat($f4)
2323
define void @f4() comdat($f4) {
2424
ret void

Diff for: test/CodeGen/X86/elf-group.ll

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
1-
; Checks that comdat with noduplicates kind is lowered to a zero-flag ELF
1+
; Checks that comdat with nodeduplicate kind is lowered to a zero-flag ELF
22
; section group.
33
; RUN: llc < %s -mtriple=x86_64-unknown-linux | FileCheck %s
44

55
; CHECK: .section .text.f1,"axG",@progbits,f1{{$}}
66
; CHECK: .section .text.f2,"axG",@progbits,f1{{$}}
77
; CHECK: .section .bss.g1,"aGw",@nobits,f1{{$}}
88

9-
$f1 = comdat noduplicates
9+
$f1 = comdat nodeduplicate
1010

1111
define void @f1() comdat {
1212
unreachable

Diff for: test/CodeGen/X86/gcc_except_table-multi.ll

+2-2
Original file line numberDiff line numberDiff line change
@@ -53,9 +53,9 @@ eh.resume:
5353
resume { i8*, i32 } %0
5454
}
5555

56-
;; If the function is in a comdat group with noduplicates kind, the generated
56+
;; If the function is in a comdat group with nodeduplicate kind, the generated
5757
;; .gcc_except_table should is lowered to a zero-flag ELF section group.
58-
$zero = comdat noduplicates
58+
$zero = comdat nodeduplicate
5959
define i32 @zero() uwtable comdat personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*) {
6060
; CHECK-LABEL: zero:
6161
; CHECK: .cfi_endproc

Diff for: test/Instrumentation/AddressSanitizer/global_metadata_windows.ll

+2-2
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,8 @@ target triple = "x86_64-pc-windows-msvc19.0.24215"
1212

1313
$mystr = comdat any
1414

15-
; CHECK: $dead_global = comdat noduplicates
16-
; CHECK: $private_str = comdat noduplicates
15+
; CHECK: $dead_global = comdat nodeduplicate
16+
; CHECK: $private_str = comdat nodeduplicate
1717

1818
; CHECK: @dead_global = global { i32, [28 x i8] } { i32 42, [28 x i8] zeroinitializer }, comdat, align 32
1919
; CHECK: @private_str = internal constant { [8 x i8], [24 x i8] } { [8 x i8] c"private\00", [24 x i8] zeroinitializer }, comdat, align 32

Diff for: test/Instrumentation/InstrProfiling/linkage.ll

+4-4
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,10 @@
1212
; MACHO: @__llvm_profile_runtime = external global i32
1313
; ELF-NOT: @__llvm_profile_runtime = external global i32
1414

15-
; ELF: $__profc_foo = comdat noduplicates
16-
; ELF: $__profc_foo_weak = comdat noduplicates
17-
; ELF: $"__profc_linkage.ll:foo_internal" = comdat noduplicates
18-
; ELF: $__profc_foo_inline = comdat noduplicates
15+
; ELF: $__profc_foo = comdat nodeduplicate
16+
; ELF: $__profc_foo_weak = comdat nodeduplicate
17+
; ELF: $"__profc_linkage.ll:foo_internal" = comdat nodeduplicate
18+
; ELF: $__profc_foo_inline = comdat nodeduplicate
1919
; ELF: $__profc_foo_extern = comdat any
2020

2121
@__profn_foo = private constant [3 x i8] c"foo"

Diff for: test/Instrumentation/SanitizerCoverage/coff-comdat.ll

+2-2
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,8 @@
2020

2121
; Both new comdats should no duplicates on COFF.
2222

23-
; CHECK: $foo = comdat noduplicates
24-
; CHECK: $bar = comdat noduplicates
23+
; CHECK: $foo = comdat nodeduplicate
24+
; CHECK: $bar = comdat nodeduplicate
2525

2626
; Tables for 'foo' should be in the 'foo' comdat.
2727

0 commit comments

Comments
 (0)