Skip to content

Commit c55dee1

Browse files
committed
IR: Set -preserve-bc-uselistorder=false by default
But keep it on by default in `llvm-as`, `opt`, `bugpoint`, `llvm-link`, `llvm-extract`, and `LTOCodeGenerator`. Part of PR5680. llvm-svn: 234921
1 parent d863f6f commit c55dee1

File tree

7 files changed

+34
-1
lines changed

7 files changed

+34
-1
lines changed

llvm/lib/IR/UseListOrder.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ using namespace llvm;
1919
static cl::opt<bool> PreserveBitcodeUseListOrder(
2020
"preserve-bc-uselistorder",
2121
cl::desc("Preserve use-list order when writing LLVM bitcode."),
22-
cl::init(true), cl::Hidden);
22+
cl::init(false), cl::Hidden);
2323

2424
static cl::opt<bool> PreserveAssemblyUseListOrder(
2525
"preserve-ll-uselistorder",

llvm/lib/LTO/LTOCodeGenerator.cpp

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@
2929
#include "llvm/IR/LegacyPassManager.h"
3030
#include "llvm/IR/Mangler.h"
3131
#include "llvm/IR/Module.h"
32+
#include "llvm/IR/UseListOrder.h"
3233
#include "llvm/IR/Verifier.h"
3334
#include "llvm/InitializePasses.h"
3435
#include "llvm/LTO/LTOModule.h"
@@ -603,6 +604,10 @@ void LTOCodeGenerator::setCodeGenDebugOptions(const char *options) {
603604
}
604605

605606
void LTOCodeGenerator::parseCodeGenDebugOptions() {
607+
// Turn on -preserve-bc-uselistorder by default, but let the command-line
608+
// override it.
609+
setPreserveBitcodeUseListOrder(true);
610+
606611
// if options were requested, set them
607612
if (!CodegenOptions.empty())
608613
cl::ParseCommandLineOptions(CodegenOptions.size(),

llvm/tools/bugpoint/bugpoint.cpp

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
#include "llvm/IR/LLVMContext.h"
1919
#include "llvm/IR/LegacyPassManager.h"
2020
#include "llvm/IR/LegacyPassNameParser.h"
21+
#include "llvm/IR/UseListOrder.h"
2122
#include "llvm/LinkAllIR.h"
2223
#include "llvm/LinkAllPasses.h"
2324
#include "llvm/Support/CommandLine.h"
@@ -136,6 +137,10 @@ int main(int argc, char **argv) {
136137
polly::initializePollyPasses(Registry);
137138
#endif
138139

140+
// Turn on -preserve-bc-uselistorder by default, but let the command-line
141+
// override it.
142+
setPreserveBitcodeUseListOrder(true);
143+
139144
cl::ParseCommandLineOptions(argc, argv,
140145
"LLVM automatic testcase reducer. See\nhttp://"
141146
"llvm.org/cmds/bugpoint.html"

llvm/tools/llvm-as/llvm-as.cpp

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
#include "llvm/AsmParser/Parser.h"
2020
#include "llvm/Bitcode/ReaderWriter.h"
2121
#include "llvm/IR/Module.h"
22+
#include "llvm/IR/UseListOrder.h"
2223
#include "llvm/IR/Verifier.h"
2324
#include "llvm/Support/CommandLine.h"
2425
#include "llvm/Support/FileSystem.h"
@@ -90,6 +91,11 @@ int main(int argc, char **argv) {
9091
PrettyStackTraceProgram X(argc, argv);
9192
LLVMContext &Context = getGlobalContext();
9293
llvm_shutdown_obj Y; // Call llvm_shutdown() on exit.
94+
95+
// Turn on -preserve-bc-uselistorder by default, but let the command-line
96+
// override it.
97+
setPreserveBitcodeUseListOrder(true);
98+
9399
cl::ParseCommandLineOptions(argc, argv, "llvm .ll -> .bc assembler\n");
94100

95101
// Parse the file now...

llvm/tools/llvm-extract/llvm-extract.cpp

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
#include "llvm/IR/IRPrintingPasses.h"
2020
#include "llvm/IR/LLVMContext.h"
2121
#include "llvm/IR/Module.h"
22+
#include "llvm/IR/UseListOrder.h"
2223
#include "llvm/IRReader/IRReader.h"
2324
#include "llvm/IR/LegacyPassManager.h"
2425
#include "llvm/Support/CommandLine.h"
@@ -97,6 +98,11 @@ int main(int argc, char **argv) {
9798

9899
LLVMContext &Context = getGlobalContext();
99100
llvm_shutdown_obj Y; // Call llvm_shutdown() on exit.
101+
102+
// Turn on -preserve-bc-uselistorder by default, but let the command-line
103+
// override it.
104+
setPreserveBitcodeUseListOrder(true);
105+
100106
cl::ParseCommandLineOptions(argc, argv, "llvm extractor\n");
101107

102108
// Use lazy loading, since we only care about selected global values.

llvm/tools/llvm-link/llvm-link.cpp

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
#include "llvm/IR/DiagnosticPrinter.h"
2121
#include "llvm/IR/LLVMContext.h"
2222
#include "llvm/IR/Module.h"
23+
#include "llvm/IR/UseListOrder.h"
2324
#include "llvm/IR/Verifier.h"
2425
#include "llvm/IRReader/IRReader.h"
2526
#include "llvm/Support/CommandLine.h"
@@ -104,6 +105,11 @@ int main(int argc, char **argv) {
104105

105106
LLVMContext &Context = getGlobalContext();
106107
llvm_shutdown_obj Y; // Call llvm_shutdown() on exit.
108+
109+
// Turn on -preserve-bc-uselistorder by default, but let the command-line
110+
// override it.
111+
setPreserveBitcodeUseListOrder(true);
112+
107113
cl::ParseCommandLineOptions(argc, argv, "llvm linker\n");
108114

109115
auto Composite = make_unique<Module>("llvm-link", Context);

llvm/tools/opt/opt.cpp

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@
3030
#include "llvm/IR/LLVMContext.h"
3131
#include "llvm/IR/LegacyPassNameParser.h"
3232
#include "llvm/IR/Module.h"
33+
#include "llvm/IR/UseListOrder.h"
3334
#include "llvm/IR/Verifier.h"
3435
#include "llvm/IRReader/IRReader.h"
3536
#include "llvm/InitializePasses.h"
@@ -344,6 +345,10 @@ int main(int argc, char **argv) {
344345
polly::initializePollyPasses(Registry);
345346
#endif
346347

348+
// Turn on -preserve-bc-uselistorder by default, but let the command-line
349+
// override it.
350+
setPreserveBitcodeUseListOrder(true);
351+
347352
cl::ParseCommandLineOptions(argc, argv,
348353
"llvm .bc -> .bc modular optimizer and analysis printer\n");
349354

0 commit comments

Comments
 (0)