[clang] [lld] [llvm] Deprecate the `-fbasic-block-sections=labels` option. (PR #107494)
via cfe-commits
cfe-commits at lists.llvm.org
Thu Sep 5 17:36:49 PDT 2024
llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-clang-codegen
Author: Rahman Lavaee (rlavaee)
<details>
<summary>Changes</summary>
This feature is supported via the newer option `-fbasic-block-address-map`. Using the old option still works by delegating to the newer option, while a warning is printed to show deprecation.
---
Patch is 23.74 KiB, truncated to 20.00 KiB below, full version: https://github.com/llvm/llvm-project/pull/107494.diff
22 Files Affected:
- (modified) clang/docs/UsersManual.rst (+7-5)
- (modified) clang/include/clang/Basic/CodeGenOptions.h (+2-7)
- (modified) clang/include/clang/Driver/Options.td (+2-2)
- (modified) clang/lib/CodeGen/BackendUtil.cpp (-1)
- (modified) clang/lib/Driver/ToolChains/Clang.cpp (+7-3)
- (modified) clang/test/Driver/fbasic-block-sections.c (+2-1)
- (modified) lld/ELF/LTO.cpp (+4-2)
- (modified) llvm/include/llvm/CodeGen/MachineFunction.h (-5)
- (modified) llvm/include/llvm/Target/TargetOptions.h (-3)
- (modified) llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp (+4-5)
- (modified) llvm/lib/CodeGen/BasicBlockSections.cpp (-7)
- (modified) llvm/lib/CodeGen/CommandFlags.cpp (-2)
- (modified) llvm/lib/CodeGen/MIRParser/MIParser.cpp (-4)
- (modified) llvm/lib/CodeGen/MIRParser/MIRParser.cpp (+1-3)
- (modified) llvm/lib/CodeGen/MachineFunction.cpp (+3-5)
- (renamed) llvm/test/CodeGen/X86/basic-block-address-map-empty-block.ll (+1-1)
- (renamed) llvm/test/CodeGen/X86/basic-block-address-map-empty-function.ll (+2-2)
- (modified) llvm/test/CodeGen/X86/basic-block-address-map-function-sections.ll (-1)
- (renamed) llvm/test/CodeGen/X86/basic-block-address-map-mir-parse.mir (+2-2)
- (modified) llvm/test/CodeGen/X86/basic-block-address-map.ll (+1-3)
- (modified) llvm/test/CodeGen/X86/basic-block-sections-labels-pgo-features.ll (+5-5)
- (modified) llvm/test/CodeGen/X86/basic-block-sections-mir-print.ll (+5-5)
``````````diff
diff --git a/clang/docs/UsersManual.rst b/clang/docs/UsersManual.rst
index f27fa4ace917ea..30a7abeea0fb58 100644
--- a/clang/docs/UsersManual.rst
+++ b/clang/docs/UsersManual.rst
@@ -2369,14 +2369,16 @@ are listed below.
$ cd $P/bar && clang -c -funique-internal-linkage-names name_conflict.c
$ cd $P && clang foo/name_conflict.o && bar/name_conflict.o
-.. option:: -fbasic-block-sections=[labels, all, list=<arg>, none]
+.. option:: -f[no]-basic-block-address-map:
+ Emits a ``SHT_LLVM_BB_ADDR_MAP`` which includes address offsets for each
+ basic block in the program, relative to the parent function address.
+
+
+.. option:: -fbasic-block-sections=[all, list=<arg>, none]
Controls how Clang emits text sections for basic blocks. With values ``all``
and ``list=<arg>``, each basic block or a subset of basic blocks can be placed
- in its own unique section. With the "labels" value, normal text sections are
- emitted, but a ``.bb_addr_map`` section is emitted which includes address
- offsets for each basic block in the program, relative to the parent function
- address.
+ in its own unique section.
With the ``list=<arg>`` option, a file containing the subset of basic blocks
that need to placed in unique sections can be specified. The format of the
diff --git a/clang/include/clang/Basic/CodeGenOptions.h b/clang/include/clang/Basic/CodeGenOptions.h
index f2a707a8ba8d76..814d4d4c99e575 100644
--- a/clang/include/clang/Basic/CodeGenOptions.h
+++ b/clang/include/clang/Basic/CodeGenOptions.h
@@ -107,18 +107,13 @@ class CodeGenOptions : public CodeGenOptionsBase {
// This field stores one of the allowed values for the option
// -fbasic-block-sections=. The allowed values with this option are:
- // {"labels", "all", "list=<file>", "none"}.
+ // {"all", "list=<file>", "none"}.
//
- // "labels": Only generate basic block symbols (labels) for all basic
- // blocks, do not generate unique sections for basic blocks.
- // Use the machine basic block id in the symbol name to
- // associate profile info from virtual address to machine
- // basic block.
// "all" : Generate basic block sections for all basic blocks.
// "list=<file>": Generate basic block sections for a subset of basic blocks.
// The functions and the machine basic block ids are specified
// in the file.
- // "none": Disable sections/labels for basic blocks.
+ // "none": Disable sections for basic blocks.
std::string BBSections;
// If set, override the default value of MCAsmInfo::BinutilsVersion. If
diff --git a/clang/include/clang/Driver/Options.td b/clang/include/clang/Driver/Options.td
index 1142416e227fc8..41e916ad81ebea 100644
--- a/clang/include/clang/Driver/Options.td
+++ b/clang/include/clang/Driver/Options.td
@@ -4225,8 +4225,8 @@ defm basic_block_address_map : BoolFOption<"basic-block-address-map",
def fbasic_block_sections_EQ : Joined<["-"], "fbasic-block-sections=">, Group<f_Group>,
Visibility<[ClangOption, CC1Option, CC1AsOption]>,
HelpText<"Place each function's basic blocks in unique sections (ELF Only)">,
- DocBrief<[{Generate labels for each basic block or place each basic block or a subset of basic blocks in its own section.}]>,
- Values<"all,labels,none,list=">,
+ DocBrief<[{Place each basic block or a subset of basic blocks in its own section.}]>,
+ Values<"all,none,list=">,
MarshallingInfoString<CodeGenOpts<"BBSections">, [{"none"}]>;
defm data_sections : BoolFOption<"data-sections",
CodeGenOpts<"DataSections">, DefaultFalse,
diff --git a/clang/lib/CodeGen/BackendUtil.cpp b/clang/lib/CodeGen/BackendUtil.cpp
index 7fa69420298160..b369bb043537c2 100644
--- a/clang/lib/CodeGen/BackendUtil.cpp
+++ b/clang/lib/CodeGen/BackendUtil.cpp
@@ -396,7 +396,6 @@ static bool initTargetOptions(DiagnosticsEngine &Diags,
Options.BBSections =
llvm::StringSwitch<llvm::BasicBlockSection>(CodeGenOpts.BBSections)
.Case("all", llvm::BasicBlockSection::All)
- .Case("labels", llvm::BasicBlockSection::Labels)
.StartsWith("list=", llvm::BasicBlockSection::List)
.Case("none", llvm::BasicBlockSection::None)
.Default(llvm::BasicBlockSection::None);
diff --git a/clang/lib/Driver/ToolChains/Clang.cpp b/clang/lib/Driver/ToolChains/Clang.cpp
index 3fe4ce5d893b8d..860863193417f3 100644
--- a/clang/lib/Driver/ToolChains/Clang.cpp
+++ b/clang/lib/Driver/ToolChains/Clang.cpp
@@ -6225,9 +6225,13 @@ void Clang::ConstructJob(Compilation &C, const JobAction &JA,
if (Arg *A = Args.getLastArg(options::OPT_fbasic_block_sections_EQ)) {
StringRef Val = A->getValue();
- if (Triple.isX86() && Triple.isOSBinFormatELF()) {
- if (Val != "all" && Val != "labels" && Val != "none" &&
- !Val.starts_with("list="))
+ if (Val == "labels") {
+ D.Diag(diag::warn_drv_deprecated_arg)
+ << A->getAsString(Args) << /*hasReplacement=*/true
+ << "-fbasic-block-address-map";
+ CmdArgs.push_back("-fbasic-block-address-map");
+ } else if (Triple.isX86() && Triple.isOSBinFormatELF()) {
+ if (Val != "all" && Val != "none" && !Val.starts_with("list="))
D.Diag(diag::err_drv_invalid_value)
<< A->getAsString(Args) << A->getValue();
else
diff --git a/clang/test/Driver/fbasic-block-sections.c b/clang/test/Driver/fbasic-block-sections.c
index e13cc81e910be3..6dfba5f404cee9 100644
--- a/clang/test/Driver/fbasic-block-sections.c
+++ b/clang/test/Driver/fbasic-block-sections.c
@@ -22,7 +22,8 @@
// CHECK-OPT-NONE: "-fbasic-block-sections=none"
// CHECK-OPT-ALL: "-fbasic-block-sections=all"
// CHECK-OPT-LIST: "-fbasic-block-sections={{[^ ]*}}fbasic-block-sections.c"
-// CHECK-OPT-LABELS: "-fbasic-block-sections=labels"
+// CHECK-OPT-LABELS: warning: argument '-fbasic-block-sections=labels' is deprecated, use '-fbasic-block-address-map' instead
+// CHECK-OPT-LABELS: "-fbasic-block-address-map"
// CHECK-TRIPLE: error: unsupported option '-fbasic-block-sections=all' for target
// CHECK-INVALID-VALUE: error: invalid value {{[^ ]*}} in '-fbasic-block-sections={{.*}}'
// CHECK-OPT-NULL-LIST: "-fbasic-block-sections=list="
diff --git a/lld/ELF/LTO.cpp b/lld/ELF/LTO.cpp
index 935d0a9eab9ee0..721866378aa986 100644
--- a/lld/ELF/LTO.cpp
+++ b/lld/ELF/LTO.cpp
@@ -64,14 +64,16 @@ static lto::Config createConfig() {
c.Options.BBAddrMap = config->ltoBBAddrMap;
// Check if basic block sections must be used.
- // Allowed values for --lto-basic-block-sections are "all", "labels",
+ // Allowed values for --lto-basic-block-sections are "all",
// "<file name specifying basic block ids>", or none. This is the equivalent
// of -fbasic-block-sections= flag in clang.
if (!config->ltoBasicBlockSections.empty()) {
if (config->ltoBasicBlockSections == "all") {
c.Options.BBSections = BasicBlockSection::All;
} else if (config->ltoBasicBlockSections == "labels") {
- c.Options.BBSections = BasicBlockSection::Labels;
+ c.Options.BBAddrMap = true;
+ warn("'--lto-basic-block-sections=labels' is deprecated. Please use "
+ "'-fbasic-block-address-map' instead.");
} else if (config->ltoBasicBlockSections == "none") {
c.Options.BBSections = BasicBlockSection::None;
} else {
diff --git a/llvm/include/llvm/CodeGen/MachineFunction.h b/llvm/include/llvm/CodeGen/MachineFunction.h
index 9845520d6db6b2..ed083bdd8ec4cd 100644
--- a/llvm/include/llvm/CodeGen/MachineFunction.h
+++ b/llvm/include/llvm/CodeGen/MachineFunction.h
@@ -699,11 +699,6 @@ class LLVM_EXTERNAL_VISIBILITY MachineFunction {
BBSectionsType == BasicBlockSection::Preset);
}
- /// Returns true if basic block labels are to be generated for this function.
- bool hasBBLabels() const {
- return BBSectionsType == BasicBlockSection::Labels;
- }
-
void setBBSectionsType(BasicBlockSection V) { BBSectionsType = V; }
/// Assign IsBeginSection IsEndSection fields for basic blocks in this
diff --git a/llvm/include/llvm/Target/TargetOptions.h b/llvm/include/llvm/Target/TargetOptions.h
index d3464b5202ff32..210d9fed1febde 100644
--- a/llvm/include/llvm/Target/TargetOptions.h
+++ b/llvm/include/llvm/Target/TargetOptions.h
@@ -64,9 +64,6 @@ namespace llvm {
List, // Get list of functions & BBs from a file. Selectively enables
// basic block sections for a subset of basic blocks which can be
// used to control object size bloats from creating sections.
- Labels, // Do not use Basic Block Sections but label basic blocks. This
- // is useful when associating profile counts from virtual addresses
- // to basic blocks.
Preset, // Similar to list but the blocks are identified by passes which
// seek to use Basic Block Sections, e.g. MachineFunctionSplitter.
// This option cannot be set via the command line.
diff --git a/llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp b/llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
index 88e9b9d27d3f27..bd253e97f6479c 100644
--- a/llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
+++ b/llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
@@ -1859,7 +1859,7 @@ void AsmPrinter::emitFunctionBody() {
// We must emit temporary symbol for the end of this basic block, if either
// we have BBLabels enabled or if this basic blocks marks the end of a
// section.
- if (MF->hasBBLabels() || MF->getTarget().Options.BBAddrMap ||
+ if (MF->getTarget().Options.BBAddrMap ||
(MAI->hasDotTypeDotSizeDirective() && MBB.isEndSection()))
OutStreamer->emitLabel(MBB.getEndSymbol());
@@ -2011,7 +2011,7 @@ void AsmPrinter::emitFunctionBody() {
// Emit section containing BB address offsets and their metadata, when
// BB labels are requested for this function. Skip empty functions.
if (HasAnyRealCode) {
- if (MF->hasBBLabels() || MF->getTarget().Options.BBAddrMap)
+ if (MF->getTarget().Options.BBAddrMap)
emitBBAddrMapSection(*MF);
else if (PgoAnalysisMapFeatures.getBits() != 0)
MF->getContext().reportWarning(
@@ -2610,7 +2610,7 @@ void AsmPrinter::SetupMachineFunction(MachineFunction &MF) {
F.hasFnAttribute("xray-instruction-threshold") ||
needFuncLabels(MF, *this) || NeedsLocalForSize ||
MF.getTarget().Options.EmitStackSizeSection ||
- MF.getTarget().Options.BBAddrMap || MF.hasBBLabels()) {
+ MF.getTarget().Options.BBAddrMap) {
CurrentFnBegin = createTempSymbol("func_begin");
if (NeedsLocalForSize)
CurrentFnSymForSize = CurrentFnBegin;
@@ -4093,8 +4093,7 @@ bool AsmPrinter::shouldEmitLabelForBasicBlock(
// With `-fbasic-block-sections=`, a label is needed for every non-entry block
// in the labels mode (option `=labels`) and every section beginning in the
// sections mode (`=all` and `=list=`).
- if ((MF->hasBBLabels() || MF->getTarget().Options.BBAddrMap ||
- MBB.isBeginSection()) &&
+ if ((MF->getTarget().Options.BBAddrMap || MBB.isBeginSection()) &&
!MBB.isEntryBlock())
return true;
// A label is needed for any block with at least one predecessor (when that
diff --git a/llvm/lib/CodeGen/BasicBlockSections.cpp b/llvm/lib/CodeGen/BasicBlockSections.cpp
index 0071284c862099..1eedfc4b259126 100644
--- a/llvm/lib/CodeGen/BasicBlockSections.cpp
+++ b/llvm/lib/CodeGen/BasicBlockSections.cpp
@@ -311,11 +311,6 @@ bool BasicBlockSections::handleBBSections(MachineFunction &MF) {
// original layout positions and finding the original fallthroughs.
MF.RenumberBlocks();
- if (BBSectionsType == BasicBlockSection::Labels) {
- MF.setBBSectionsType(BBSectionsType);
- return true;
- }
-
DenseMap<UniqueBBID, BBClusterInfo> FuncClusterInfo;
if (BBSectionsType == BasicBlockSection::List) {
auto [HasProfile, ClusterInfo] =
@@ -382,8 +377,6 @@ bool BasicBlockSections::handleBBSections(MachineFunction &MF) {
// avoids the need to store basic block IDs in the BB address map section, since
// they can be determined implicitly.
bool BasicBlockSections::handleBBAddrMap(MachineFunction &MF) {
- if (MF.getTarget().getBBSectionsType() == BasicBlockSection::Labels)
- return false;
if (!MF.getTarget().Options.BBAddrMap)
return false;
MF.RenumberBlocks();
diff --git a/llvm/lib/CodeGen/CommandFlags.cpp b/llvm/lib/CodeGen/CommandFlags.cpp
index 9e42deb94903de..d180cfcea658c2 100644
--- a/llvm/lib/CodeGen/CommandFlags.cpp
+++ b/llvm/lib/CodeGen/CommandFlags.cpp
@@ -525,8 +525,6 @@ llvm::BasicBlockSection
codegen::getBBSectionsMode(llvm::TargetOptions &Options) {
if (getBBSections() == "all")
return BasicBlockSection::All;
- else if (getBBSections() == "labels")
- return BasicBlockSection::Labels;
else if (getBBSections() == "none")
return BasicBlockSection::None;
else {
diff --git a/llvm/lib/CodeGen/MIRParser/MIParser.cpp b/llvm/lib/CodeGen/MIRParser/MIParser.cpp
index 47b220172602d4..c112bb8e232d27 100644
--- a/llvm/lib/CodeGen/MIRParser/MIParser.cpp
+++ b/llvm/lib/CodeGen/MIRParser/MIParser.cpp
@@ -800,10 +800,6 @@ bool MIParser::parseBasicBlockDefinition(
MF.setBBSectionsType(BasicBlockSection::List);
}
if (BBID.has_value()) {
- // BBSectionsType is set to `List` if any basic blocks has `SectionID`.
- // Here, we set it to `Labels` if it hasn't been set above.
- if (!MF.hasBBSections())
- MF.setBBSectionsType(BasicBlockSection::Labels);
MBB->setBBID(BBID.value());
}
MBB->setCallFrameSize(CallFrameSize);
diff --git a/llvm/lib/CodeGen/MIRParser/MIRParser.cpp b/llvm/lib/CodeGen/MIRParser/MIRParser.cpp
index a5d6a40392d0cb..90b211cab0e658 100644
--- a/llvm/lib/CodeGen/MIRParser/MIRParser.cpp
+++ b/llvm/lib/CodeGen/MIRParser/MIRParser.cpp
@@ -540,9 +540,7 @@ MIRParserImpl::initializeMachineFunction(const yaml::MachineFunction &YamlMF,
return true;
}
// Check Basic Block Section Flags.
- if (MF.getTarget().getBBSectionsType() == BasicBlockSection::Labels) {
- MF.setBBSectionsType(BasicBlockSection::Labels);
- } else if (MF.hasBBSections()) {
+ if (MF.hasBBSections()) {
MF.assignBeginEndSections();
}
PFS.SM = &SM;
diff --git a/llvm/lib/CodeGen/MachineFunction.cpp b/llvm/lib/CodeGen/MachineFunction.cpp
index ab45663436cedc..b56888a0f71fe6 100644
--- a/llvm/lib/CodeGen/MachineFunction.cpp
+++ b/llvm/lib/CodeGen/MachineFunction.cpp
@@ -465,11 +465,9 @@ MachineFunction::CreateMachineBasicBlock(const BasicBlock *BB,
MachineBasicBlock *MBB =
new (BasicBlockRecycler.Allocate<MachineBasicBlock>(Allocator))
MachineBasicBlock(*this, BB);
- // Set BBID for `-basic-block=sections=labels` and
- // `-basic-block-sections=list` to allow robust mapping of profiles to basic
- // blocks.
- if (Target.getBBSectionsType() == BasicBlockSection::Labels ||
- Target.Options.BBAddrMap ||
+ // Set BBID for `-basic-block-sections=list` and `-basic-block-address-map` to
+ // allow robust mapping of profiles to basic blocks.
+ if (Target.Options.BBAddrMap ||
Target.getBBSectionsType() == BasicBlockSection::List)
MBB->setBBID(BBID.has_value() ? *BBID : UniqueBBID{NextBBID++, 0});
return MBB;
diff --git a/llvm/test/CodeGen/X86/basic-block-sections-labels-empty-block.ll b/llvm/test/CodeGen/X86/basic-block-address-map-empty-block.ll
similarity index 83%
rename from llvm/test/CodeGen/X86/basic-block-sections-labels-empty-block.ll
rename to llvm/test/CodeGen/X86/basic-block-address-map-empty-block.ll
index 8e0f4fa7bc928e..84948b7ecf6e0c 100644
--- a/llvm/test/CodeGen/X86/basic-block-sections-labels-empty-block.ll
+++ b/llvm/test/CodeGen/X86/basic-block-address-map-empty-block.ll
@@ -1,5 +1,5 @@
;; This test verifies that with -gc-empty-basic-blocks SHT_LLVM_BB_ADDR_MAP will not include entries for empty blocks.
-; RUN: llc < %s -mtriple=x86_64 -O0 -basic-block-sections=labels -gc-empty-basic-blocks | FileCheck --check-prefix=CHECK %s
+; RUN: llc < %s -mtriple=x86_64 -O0 -basic-block-address-map -gc-empty-basic-blocks | FileCheck --check-prefix=CHECK %s
define void @foo(i1 zeroext %0) nounwind {
br i1 %0, label %2, label %empty_block
diff --git a/llvm/test/CodeGen/X86/basic-block-sections-labels-empty-function.ll b/llvm/test/CodeGen/X86/basic-block-address-map-empty-function.ll
similarity index 68%
rename from llvm/test/CodeGen/X86/basic-block-sections-labels-empty-function.ll
rename to llvm/test/CodeGen/X86/basic-block-address-map-empty-function.ll
index 42d09212e66916..444655fc5299f7 100644
--- a/llvm/test/CodeGen/X86/basic-block-sections-labels-empty-function.ll
+++ b/llvm/test/CodeGen/X86/basic-block-address-map-empty-function.ll
@@ -1,6 +1,6 @@
;; Verify that the BB address map is not emitted for empty functions.
-; RUN: llc < %s -mtriple=x86_64 -basic-block-sections=labels | FileCheck %s --check-prefixes=CHECK,BASIC
-; RUN: llc < %s -mtriple=x86_64 -basic-block-sections=labels -pgo-analysis-map=func-entry-count,bb-freq | FileCheck %s --check-prefixes=CHECK,PGO
+; RUN: llc < %s -mtriple=x86_64 -basic-block-address-map | FileCheck %s --check-prefixes=CHECK,BASIC
+; RUN: llc < %s -mtriple=x86_64 -basic-block-address-map -pgo-analysis-map=func-entry-count,bb-freq | FileCheck %s --check-prefixes=CHECK,PGO
define void @empty_func() {
entry:
diff --git a/llvm/test/CodeGen/X86/basic-block-address-map-function-sections.ll b/llvm/test/CodeGen/X86/basic-block-address-map-function-sections.ll
index d7678604cffa2c..9ff96381c2053f 100644
--- a/llvm/test/CodeGen/X86/basic-block-address-map-function-sections.ll
+++ b/llvm/test/CodeGen/X86/basic-block-address-map-function-sections.ll
@@ -1,4 +1,3 @@
-; RUN: llc < %s -mtriple=x86_64 -function-sections -basic-block-sections=labels | FileCheck %s
; RUN: llc < %s -mtriple=x86_64 -function-sections -basic-block-address-map | FileCheck %s
$_Z4fooTIiET_v = comdat any
diff --git a/llvm/test/CodeGen/X86/basic-block-labels-mir-parse.mir b/llvm/test/CodeGen/X86/basic-block-address-map-mir-parse.mir
similarity index 97%
rename from llvm/test/CodeGen/X86/basic-block-labels-mir-parse.mir
rename to llvm/test/CodeGen/X86/basic-block-address-map-mir-parse.mir
index 6408f0a30af7e5..86f5f27494ec40 100644
--- a/llvm/test/CodeGen/X86/basic-block-labels-mir-parse.mir
+++ b/llvm/test/CodeGen/X86/basic-block-address-map-mir-parse.mir
@@ -1,5 +1,5 @@
# Start after bbsections0-prepare and check that the BB address map is generated.
-# RUN: llc -mtriple x86_64-unknown-linux-gnu -start-after=bbsections-prepare %s -o - | FileCheck %s -check-prefix=CHECK
+# RUN: llc -mtriple x86_64-unknown-linux-gnu -start-after=bbsections-prepare -basic-block-address-map %s -o - | FileCheck %s -check-prefix=CHECK
# How to generate the input:
# foo.cc
@@ -9,7 +9,7 @@
# }
#
# clang -O0 -S -emit-llvm foo.cc
-# llc < foo.ll -stop-after=bbsections-prepare -basic-block-sections=labels
+# llc < foo.ll -stop-after=bbsections-prepare -basic-block-address-map
# CHECK: .section .llvm_bb_addr_map,"o", at llvm_bb_addr_map,.text
--- |
diff --git a/llvm/test/CodeGen/X86/basic-block-address-map.ll b/llvm/test/CodeGen/X86/basic-block-address-map.ll
index 6ab24b494936ab..4f12258eeeea00 100644
--- a/llvm/test/CodeGen/X86/basic-block-address-map.ll
+++ b/llvm/test/CodeGen/X86/basic-block-address-map.ll
@@ -1,9 +1,7 @@
; Check the basic block sections labels option
; RUN: llc < %s -mtriple=x86_64 -function-sections -unique-section-names=true -basic-block-address-map | FileCheck %s --check-prefixes=CHECK,UNIQ
-; RUN: llc < %s -mtriple=x86_64 -function-sections -unique-section-names=true -basic-block-sections=labels | FileCheck %s --check-prefixes=CHECK,UNIQ
; RUN: llc < %s -mtriple=x86_64 -function-sections -unique-section-names=false -basic-block-address-map | FileCheck %s --check-prefixes=CHECK,NOUNIQ
-; RUN: llc < %s -mtriple=x86_64 -function-sections -unique-section-names=false -basic-block-sections=labels | FileCheck %s --check-prefixes=CHECK,NOUNIQ
-; RUN: llc < %s -mtriple=x86_64 -function-sections -unique-section-names=true -basic-block-sections=labels -split-machine-functions | FileCheck %s --check-prefixes=CHECK,UNIQ
+; RUN: llc < %s -mtriple=x86_64 -function-sections -unique-section-names=true -basic-block-address-map -split-machine-functions | FileCheck %s --check-prefixes=CHECK,UNIQ
define void @_Z3bazb(i1 zeroext, i1 zeroext) personality ptr @__gxx_personality_v0 {
br i1 %0, labe...
[truncated]
``````````
</details>
https://github.com/llvm/llvm-project/pull/107494
More information about the cfe-commits
mailing list