unit test coverage
diff --git a/llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp b/llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
index 756bb05..3c165d9 100644
--- a/llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
+++ b/llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
@@ -673,7 +673,7 @@
         break;
       }
       default:
-        // Note this is unreachable code.
+        llvm_unreachable("Unknown jump table hotness");
         break;
       }
     } else if (std::optional<StringRef> Prefix = F->getSectionPrefix())
diff --git a/llvm/test/CodeGen/AArch64/constant-pool-partition.ll b/llvm/test/CodeGen/AArch64/constant-pool-partition.ll
index 9f4b3e2..61b3b60 100644
--- a/llvm/test/CodeGen/AArch64/constant-pool-partition.ll
+++ b/llvm/test/CodeGen/AArch64/constant-pool-partition.ll
@@ -1,11 +1,21 @@
 ; RUN: llc -mtriple=aarch64 -partition-static-data-sections \
 ; RUN:     -function-sections -unique-section-names=false \
-; RUN:     %s -o - 2>&1 | FileCheck %s --dump-input=always
+; RUN:     %s -o - 2>&1 | FileCheck %s --check-prefixes=HOT,COMM --dump-input=always
 
-; Repeat the RUN command above for big-endian systems.
+; RUN: llc -mtriple=aarch64 -partition-static-data-sections \
+; RUN:     -function-sections -unique-section-names=false \
+; RUN:     -preserve-hot-data-section-prefix=false \
+; RUN:     %s -o - 2>&1 | FileCheck %s --check-prefixes=NOHOT,COMM --dump-input=always
+
+; Repeat the RUN commands above for big-endian systems.
 ; RUN: llc -mtriple=aarch64_be -partition-static-data-sections \
 ; RUN:     -function-sections -unique-section-names=false \
-; RUN:     %s -o - 2>&1 | FileCheck %s --dump-input=always
+; RUN:     %s -o - 2>&1 | FileCheck %s --check-prefixes=HOT,COMM --dump-input=always
+
+; RUN: llc -mtriple=aarch64_be -partition-static-data-sections \
+; RUN:     -function-sections -unique-section-names=false \
+; RUN:     -preserve-hot-data-section-prefix=false \
+; RUN:     %s -o - 2>&1 | FileCheck %s --check-prefixes=NOHOT,COMM --dump-input=always
 
 ; Tests that constant pool hotness is aggregated across the module. The
 ; static-data-splitter processes data from cold_func first, unprofiled_func
@@ -19,77 +29,112 @@
 ;   function, constant pools for this constant should not have `.unlikely` suffix.
 
 ;; Constant pools for function @cold_func.
-; CHECK:       .section	.rodata.cst8.hot.,"aM",@progbits,8
-; CHECK-NEXT:     .p2align
-; CHECK-NEXT:   .LCPI0_0:
-; CHECK-NEXT:	    .xword	0x3fe5c28f5c28f5c3              // double 0.68000000000000005
-; CHECK-NEXT: .section	.rodata.cst8.unlikely.,"aM",@progbits,8
-; CHECK-NEXT:     .p2align
-; CHECK-NEXT:   .LCPI0_1:
-; CHECK-NEXT:     .xword 0x3fe5eb851eb851ec              // double 0.68500000000000005
-; CHECK-NEXT:	.section	.rodata.cst8,"aM",@progbits,8
-; CHECK-NEXT:     .p2align
-; CHECK-NEXT:   .LCPI0_2:
-; CHECK-NEXT:     .byte   0                               // 0x0
-; CHECK-NEXT:     .byte   4                               // 0x4
-; CHECK-NEXT:     .byte   8                               // 0x8
-; CHECK-NEXT:     .byte   12                              // 0xc
-; CHECK-NEXT:     .byte   255                             // 0xff
-; CHECK-NEXT:     .byte   255                             // 0xff
-; CHECK-NEXT:     .byte   255                             // 0xff
-; CHECK-NEXT:     .byte   255                             // 0xff
+; HOT:       .section	.rodata.cst8.hot.,"aM",@progbits,8
+; HOT-NEXT:     .p2align
+; HOT-NEXT:   .LCPI0_0:
+; HOT-NEXT:	    .xword	0x3fe5c28f5c28f5c3              // double 0.68000000000000005
+; HOT-NEXT: .section	.rodata.cst8.unlikely.,"aM",@progbits,8
+; HOT-NEXT:     .p2align
+; HOT-NEXT:   .LCPI0_1:
+; HOT-NEXT:     .xword 0x3fe5eb851eb851ec              // double 0.68500000000000005
+; HOT-NEXT:	.section	.rodata.cst8,"aM",@progbits,8
+; HOT-NEXT:     .p2align
+; HOT-NEXT:   .LCPI0_2:
+; HOT-NEXT:     .byte   0                               // 0x0
+; HOT-NEXT:     .byte   4                               // 0x4
+; HOT-NEXT:     .byte   8                               // 0x8
+; HOT-NEXT:     .byte   12                              // 0xc
+; HOT-NEXT:     .byte   255                             // 0xff
+; HOT-NEXT:     .byte   255                             // 0xff
+; HOT-NEXT:     .byte   255                             // 0xff
+; HOT-NEXT:     .byte   255                             // 0xff
+
+;; Constant pools for function @cold_func.
+; NOHOT:       .section	.rodata.cst8,"aM",@progbits,8
+; NOHOT-NEXT:     .p2align
+; NOHOT-NEXT:   .LCPI0_0:
+; NOHOT-NEXT:	    .xword	0x3fe5c28f5c28f5c3              // double 0.68000000000000005
+; NOHOT-NEXT:   .LCPI0_2:
+; NOHOT-NEXT:     .byte   0                               // 0x0
+; NOHOT-NEXT:     .byte   4                               // 0x4
+; NOHOT-NEXT:     .byte   8                               // 0x8
+; NOHOT-NEXT:     .byte   12                              // 0xc
+; NOHOT-NEXT:     .byte   255                             // 0xff
+; NOHOT-NEXT:     .byte   255                             // 0xff
+; NOHOT-NEXT:     .byte   255                             // 0xff
+; NOHOT-NEXT:     .byte   255                             // 0xff
+; NOHOT-NEXT: .section	.rodata.cst8.unlikely.,"aM",@progbits,8
+; NOHOT-NEXT:     .p2align
+; NOHOT-NEXT:   .LCPI0_1:
+; NOHOT-NEXT:     .xword 0x3fe5eb851eb851ec              // double 0.68500000000000005
 
 ;; Constant pools for function @unprofiled_func
-; CHECK:	    .section	.rodata.cst8,"aM",@progbits,8
-; CHECK-NEXT:     .p2align
-; CHECK-NEXT:   .LCPI1_0:
-; CHECK-NEXT:     .byte   0                               // 0x0
-; CHECK-NEXT:     .byte   4                               // 0x4
-; CHECK-NEXT:     .byte   8                               // 0x8
-; CHECK-NEXT:     .byte   12                              // 0xc
-; CHECK-NEXT:     .byte   255                             // 0xff
-; CHECK-NEXT:     .byte   255                             // 0xff
-; CHECK-NEXT:     .byte   255                             // 0xff
-; CHECK-NEXT:     .byte   255                             // 0xff
-; CHECK-NEXT: .section .rodata.cst16,"aM",@progbits,16
-; CHECK-NEXT:     .p2align
-; CHECK-NEXT:   .LCPI1_1:
-; CHECK-NEXT:     .word 2                                 // 0x2
-; CHECK-NEXT:     .word 3                                 // 0x3
-; CHECK-NEXT:     .word 5                                 // 0x5
-; CHECK-NEXT:     .word 7                                 // 0x7
-; CHECK-NEXT: .section        .rodata.cst16.hot.,"aM",@progbits,16
-; CHECK-NEXT:     .p2align
-; CHECK-NEXT:   .LCPI1_2:
-; CHECK-NEXT:     .word   442                             // 0x1ba
-; CHECK-NEXT:     .word   100                             // 0x64
-; CHECK-NEXT:     .word   0                               // 0x0
-; CHECK-NEXT:     .word   0                               // 0x0
+; COMM:	    .section	.rodata.cst8,"aM",@progbits,8
+; COMM-NEXT:     .p2align
+; COMM-NEXT:   .LCPI1_0:
+; COMM-NEXT:     .byte   0                               // 0x0
+; COMM-NEXT:     .byte   4                               // 0x4
+; COMM-NEXT:     .byte   8                               // 0x8
+; COMM-NEXT:     .byte   12                              // 0xc
+; COMM-NEXT:     .byte   255                             // 0xff
+; COMM-NEXT:     .byte   255                             // 0xff
+; COMM-NEXT:     .byte   255                             // 0xff
+; COMM-NEXT:     .byte   255                             // 0xff
+
+; HOT-NEXT: .section .rodata.cst16,"aM",@progbits,16
+; HOT-NEXT:     .p2align
+; HOT-NEXT:   .LCPI1_1:
+; HOT-NEXT:     .word 2                                 // 0x2
+; HOT-NEXT:     .word 3                                 // 0x3
+; HOT-NEXT:     .word 5                                 // 0x5
+; HOT-NEXT:     .word 7                                 // 0x7
+; HOT-NEXT: .section        .rodata.cst16.hot.,"aM",@progbits,16
+; HOT-NEXT:     .p2align
+; HOT-NEXT:   .LCPI1_2:
+; HOT-NEXT:     .word   442                             // 0x1ba
+; HOT-NEXT:     .word   100                             // 0x64
+; HOT-NEXT:     .word   0                               // 0x0
+; HOT-NEXT:     .word   0                               // 0x0
+
+; NOHOT: .section .rodata.cst16,"aM",@progbits,16
+; NOHOT-NEXT:     .p2align
+; NOHOT-NEXT:   .LCPI1_1:
+; NOHOT-NEXT:     .word 2                                 // 0x2
+; NOHOT-NEXT:     .word 3                                 // 0x3
+; NOHOT-NEXT:     .word 5                                 // 0x5
+; NOHOT-NEXT:     .word 7                                 // 0x7
+; NOHOT-NEXT:   .LCPI1_2:
+; NOHOT-NEXT:     .word   442                             // 0x1ba
+; NOHOT-NEXT:     .word   100                             // 0x64
+; NOHOT-NEXT:     .word   0                               // 0x0
+; NOHOT-NEXT:     .word   0                               // 0x0
 
 ;; Constant pools for function @hot_func
-; CHECK:      .section        .rodata.cst8.hot.,"aM",@progbits,8
-; CHECK-NEXT:     .p2align
-; CHECK-NEXT:   .LCPI2_0:
-; CHECK-NEXT:     .xword  0x3fe5c28f5c28f5c3              // double 0.68000000000000005
-; CHECK-NEXT: .section        .rodata.cst16.hot.,"aM",@progbits,16
-; CHECK-NEXT:     .p2align
-; CHECK-NEXT:   .LCPI2_1:
-; CHECK-NEXT:     .word   0                               // 0x0
-; CHECK-NEXT:     .word   100                             // 0x64
-; CHECK-NEXT:     .word   0                               // 0x0
-; CHECK-NEXT:     .word   442                             // 0x1ba
-; CHECK-NEXT:   .LCPI2_2:
-; CHECK-NEXT:     .word   442                             // 0x1ba
-; CHECK-NEXT:     .word   100                             // 0x64
-; CHECK-NEXT:     .word   0                               // 0x0
-; CHECK-NEXT:     .word   0                               // 0x0
+; HOT:      .section        .rodata.cst8.hot.,"aM",@progbits,8
+; NOHOT:    .section        .rodata.cst8,"aM",@progbits,8
+; COMM:     .p2align
+; COMM-NEXT:   .LCPI2_0:
+; COMM-NEXT:     .xword  0x3fe5c28f5c28f5c3              // double 0.68000000000000005
+; NOHOT:    .section        .rodata.cst16,"aM",@progbits,16
+; HOT-NEXT: .section        .rodata.cst16.hot.,"aM",@progbits,16
+; COMM:     .p2align
+; COMM-NEXT:   .LCPI2_1:
+; COMM-NEXT:     .word   0                               // 0x0
+; COMM-NEXT:     .word   100                             // 0x64
+; COMM-NEXT:     .word   0                               // 0x0
+; COMM-NEXT:     .word   442                             // 0x1ba
+; COMM-NEXT:   .LCPI2_2:
+; COMM-NEXT:     .word   442                             // 0x1ba
+; COMM-NEXT:     .word   100                             // 0x64
+; COMM-NEXT:     .word   0                               // 0x0
+; COMM-NEXT:     .word   0                               // 0x0
 
 ;; For global variable @val
 ;; The section name remains `.rodata.cst32` without hotness prefix because
 ;; the variable has external linkage and not analyzed. Compiler need symbolized
 ;; data access profiles to annotate such global variables' hotness.
-; CHECK:       .section	.rodata.cst32,"aM",@progbits,32
-; CHECK-NEXT:  .globl	val
+; COMM:       .section	.rodata.cst32,"aM",@progbits,32
+; COMM-NEXT:  .globl	val
 
 define i32 @cold_func(double %x, <16 x i8> %a, <16 x i8> %b) !prof !16 {
   %2 = tail call i32 (...) @func_taking_arbitrary_param(double 6.800000e-01)
diff --git a/llvm/test/CodeGen/AArch64/jump-table-partition.ll b/llvm/test/CodeGen/AArch64/jump-table-partition.ll
index 47a7aa5..e6eea5d1 100644
--- a/llvm/test/CodeGen/AArch64/jump-table-partition.ll
+++ b/llvm/test/CodeGen/AArch64/jump-table-partition.ll
@@ -7,17 +7,24 @@
 ; The static-data-splitter pass doesn't run.
 ; RUN: llc -mtriple=aarch64-unknown-linux-gnu -function-sections=true \
 ; RUN:     -aarch64-enable-atomic-cfg-tidy=false -aarch64-min-jump-table-entries=2 \
-; RUN:     -unique-section-names=true %s -o - 2>&1 | FileCheck %s --check-prefixes=DEFAULT
+; RUN:     -unique-section-names=true %s -o - 2>&1 | FileCheck %s --check-prefixes=DEFAULT,COMM
+
+; Repeat the command with -preserve-hot-data-section-prefix=false
+; RUN: llc -mtriple=aarch64-unknown-linux-gnu -function-sections=true \
+; RUN:     -aarch64-enable-atomic-cfg-tidy=false -aarch64-min-jump-table-entries=2 \
+; RUN:     -preserve-hot-data-section-prefix=false \
+; RUN:     -unique-section-names=true %s -o - 2>&1 | FileCheck %s --check-prefixes=DEFNOHOT,COMM
 
 ; DEFAULT: .section .rodata.hot.foo,"a",@progbits
-; DEFAULT:   .LJTI0_0:
-; DEFAULT:   .LJTI0_1:
-; DEFAULT:   .LJTI0_2:
-; DEFAULT:   .LJTI0_3:
-; DEFAULT: .section .rodata.func_without_profile,"a",@progbits
-; DEFAULT:   .LJTI1_0:
-; DEFAULT: .section .rodata.bar_prefix.bar,"a",@progbits
-; DEFAULT:   .LJTI2_0
+; DEFNOHOT: .section .rodata.foo,"a",@progbits
+; COMM:   .LJTI0_0:
+; COMM:   .LJTI0_1:
+; COMM:   .LJTI0_2:
+; COMM:   .LJTI0_3:
+; COMM: .section .rodata.func_without_profile,"a",@progbits
+; COMM:   .LJTI1_0:
+; COMM: .section .rodata.bar_prefix.bar,"a",@progbits
+; COMM:   .LJTI2_0
 
 ; Test that section names are uniqufied by numbers but not function names with
 ; {-function-sections, -unique-section-names=false}. Specifically, @foo jump
@@ -40,6 +47,14 @@
 ; RUN:     -aarch64-enable-atomic-cfg-tidy=false -aarch64-min-jump-table-entries=2 \
 ; RUN:     %s -o - 2>&1 | FileCheck %s --check-prefixes=FUNCLESS,JT
 
+;; Repeat the commands above with -preserve-hot-data-section-prefix=false
+; RUN: llc -mtriple=aarch64-unknown-linux-gnu -partition-static-data-sections \
+; RUN:     -function-sections -unique-section-names=false \
+; RUN:     -preserve-hot-data-section-prefix=false \
+; RUN:     -aarch64-enable-atomic-cfg-tidy=false -aarch64-min-jump-table-entries=2 \
+; RUN:     %s -o - 2>&1 | FileCheck %s --check-prefixes=NOHOT,JT
+
+
 target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128"
 target triple = "aarch64-unknown-linux-gnu"
 
@@ -58,6 +73,7 @@
 ; NUM:          .section .rodata.hot.,"a",@progbits,unique,2
 ; FUNC:         .section .rodata.hot.foo,"a",@progbits
 ; FUNCLESS:     .section .rodata.hot.,"a",@progbits
+; NOHOT:        .section .rodata,"a",@progbits
 ; JT:           .LJTI0_0:
 ; JT:           .LJTI0_2:
 ; NUM:          .section .rodata.unlikely.,"a",@progbits,unique,3
diff --git a/llvm/test/CodeGen/X86/global-variable-partition.ll b/llvm/test/CodeGen/X86/global-variable-partition.ll
index ce06d17..a60f56a 100644
--- a/llvm/test/CodeGen/X86/global-variable-partition.ll
+++ b/llvm/test/CodeGen/X86/global-variable-partition.ll
@@ -29,11 +29,33 @@
 ; RUN:     -data-sections=false -unique-section-names=false  \
 ; RUN:     %s -o - 2>&1 | FileCheck %s --check-prefixes=AGG,COMMON --dump-input=always
 
+;; Repeat the commands above with '-preserve-hot-data-section-prefix=false'
+
+; RUN: llc -mtriple=x86_64-unknown-linux-gnu -relocation-model=pic \
+; RUN:     -partition-static-data-sections=true \
+; RUN:     -data-sections=true  -unique-section-names=false \
+; RUN:     -preserve-hot-data-section-prefix=false \
+; RUN:     %s -o - 2>&1 | FileCheck %s --check-prefixes=COMMON,NOHOT,MUT --dump-input=always
+
+; RUN: llc -mtriple=x86_64-unknown-linux-gnu -relocation-model=pic \
+; RUN:     -partition-static-data-sections=true \
+; RUN:     -data-sections=true  -unique-section-names=false \
+; RUN:     -preserve-hot-data-section-prefix=false \
+; RUN:     %s -o - 2>&1 | FileCheck %s --check-prefixes=COMMON,NOHOT,MUT --dump-input=always
+
+; RUN: llc -mtriple=x86_64-unknown-linux-gnu -relocation-model=pic \
+; RUN:     -partition-static-data-sections=true \
+; RUN:     -data-sections=false -unique-section-names=false  \
+; RUN:     -preserve-hot-data-section-prefix=false \
+; RUN:     %s -o - 2>&1 | FileCheck %s --check-prefixes=COMMON,NOHOT --dump-input=always
+
+
 ; For @.str and @.str.1
 ; COMMON:      .type .L.str,@object
 ; SYM-NEXT:    .section .rodata.str1.1.hot.
 ; UNIQ-NEXT:   .section	.rodata.str1.1.hot.,"aMS",@progbits,1
 ; AGG-NEXT:    .section	.rodata.str1.1.hot
+; NOHOT:       .section .rodata.str1.1,"aMS",@progbits,1
 ; COMMON-NEXT: .L.str:
 ; COMMON-NEXT:    "hot\t"
 ; COMMON:      .L.str.1:
@@ -44,24 +66,32 @@
 ; SYM-NEXT:    .section	.data.rel.ro.hot.hot_relro_array
 ; UNIQ-NEXT:   .section	.data.rel.ro.hot.,"aw",@progbits,unique,1
 ; AGG-NEXT:    .section	.data.rel.ro.hot.,"aw",@progbits
+; NOHOT:       .section .data.rel.ro,"aw",@progbits
 
 ; For @hot_data, which is accessed by {cold_func, unprofiled_func, hot_func}.
 ; COMMON:      .type hot_data,@object
 ; SYM-NEXT:    .section	.data.hot.hot_data,"aw",@progbits
 ; UNIQ-NEXT:   .section	.data.hot.,"aw",@progbits,unique,2
 ; AGG-NEXT:    .section	.data.hot.,"aw",@progbits
+; The `.section` directive is omitted for .data with -unique-section-names=false.
+; See MCSectionELF::shouldOmitSectionDirective for the implementation details.
+; MUT:       .section .data,"aw"
 
 ; For @hot_bss, which is accessed by {unprofiled_func, hot_func}.
 ; COMMON:      .type hot_bss,@object
 ; SYM-NEXT:    .section	.bss.hot.hot_bss,"aw",@nobits
 ; UNIQ-NEXT:   .section	.bss.hot.,"aw",@nobits,unique,3
 ; AGG-NEXT:    .section .bss.hot.,"aw",@nobits
+; The `.section` directive is omitted for .bss with -unique-section-names=false.
+; See MCSectionELF::shouldOmitSectionDirective for the implementation details.
+; MUT:       .section .bss,"aw"
 
 ; For @.str.2
 ; COMMON:      .type .L.str.2,@object
 ; SYM-NEXT:    .section	.rodata.str1.1.unlikely.,"aMS",@progbits,1
 ; UNIQ-NEXT:   .section	.rodata.str1.1.unlikely.,"aMS",@progbits,1
 ; AGG-NEXT:    .section	.rodata.str1.1.unlikely.,"aMS",@progbits,1
+; NOHOT:       .section	.rodata.str1.1.unlikely.,"aMS",@progbits,1 
 ; COMMON-NEXT: .L.str.2:
 ; COMMON-NEXT:    "cold%d\t%d\t%d\n"
 
@@ -70,12 +100,14 @@
 ; SYM-NEXT:    .section	.bss.unlikely.cold_bss,"aw",@nobits
 ; UNIQ-NEXT:   .section	.bss.unlikely.,"aw",@nobits,unique,4
 ; AGG-NEXT:    .section	.bss.unlikely.,"aw",@nobits
+; NOHOT:       .section	.bss.unlikely.,"aw",@nobits
 
 ; For @cold_data
 ; COMMON:      .type cold_data,@object
 ; SYM-NEXT:    .section	.data.unlikely.cold_data,"aw",@progbits
 ; UNIQ-NEXT:   .section	.data.unlikely.,"aw",@progbits,unique,5
 ; AGG-NEXT:    .section	.data.unlikely.,"aw",@progbits
+; NOHOT:       .section	.data.unlikely.,"aw",@progbits
 
 ; For @cold_data_custom_foo_section
 ; It has an explicit section 'foo' and shouldn't have hot or unlikely suffix.
@@ -83,12 +115,14 @@
 ; SYM-NEXT:    .section foo,"aw",@progbits
 ; UNIQ-NEXT:   .section foo,"aw",@progbits
 ; AGG-NEXT:    .section foo,"aw",@progbits
+; NOHOT:       .section	foo,"aw",@progbits
 
 ; For @cold_relro_array
 ; COMMON:      .type cold_relro_array,@object
 ; SYM-NEXT:    .section	.data.rel.ro.unlikely.cold_relro_array,"aw",@progbits
 ; UNIQ-NEXT:   .section	.data.rel.ro.unlikely.,"aw",@progbits,unique,6
 ; AGG-NEXT:    .section	.data.rel.ro.unlikely.,"aw",@progbits
+; NOHOT:       .section	.data.rel.ro.unlikely.,"aw",@progbits
 
 ; Currently static-data-splitter only analyzes access from code.
 ; @bss2 and @data3 are indirectly accessed by code through @hot_relro_array
@@ -99,12 +133,14 @@
 ; SYM-NEXT:    .section	.bss.unlikely.bss2,"aw",@nobits
 ; UNIQ-NEXT:   .section	.bss.unlikely.,"aw",@nobits,unique,7
 ; AGG-NEXT:    .section	.bss.unlikely.,"aw",@nobits
+; NOHOT:       .section	.bss.unlikely.,"aw",@nobits 
 
 ; For @data3
 ; COMMON:      .type data3,@object
 ; SYM-NEXT:    .section	.data.unlikely.data3,"aw",@progbits
 ; UNIQ-NEXT:   .section	.data.unlikely.,"aw",@progbits,unique,8
 ; AGG-NEXT:    .section	.data.unlikely.,"aw",@progbits
+; NOHOT:       .section	.data.unlikely.,"aw",@progbits 
 
 ; For @data_with_unknown_hotness
 ; SYM: 	       .type	.Ldata_with_unknown_hotness,@object          # @data_with_unknown_hotness
@@ -113,6 +149,7 @@
 ; The `.section` directive is omitted for .data with -unique-section-names=false.
 ; See MCSectionELF::shouldOmitSectionDirective for the implementation details.
 ; AGG:         .data
+; NOHOT:       .data
 ; COMMON:      .Ldata_with_unknown_hotness:
 
 ; For @hot_data_custom_bar_section
@@ -122,6 +159,7 @@
 ; SYM:         hot_data_custom_bar_section
 ; UNIQ:        .section bar,"aw",@progbits
 ; AGG:         .section bar,"aw",@progbits
+; NOHOT:      .section bar,"aw",@progbits
 
 @.str = private unnamed_addr constant [5 x i8] c"hot\09\00", align 1
 @.str.1 = private unnamed_addr constant [10 x i8] c"%d\09%d\09%d\0A\00", align 1