Skip to content

Commit fcc55bb

Browse files
committed
[llvm-reduce] fix errors
1 parent 6f20fa8 commit fcc55bb

35 files changed

+70
-83
lines changed

llvm/tools/llvm-reduce/DeltaManager.cpp

Lines changed: 4 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -87,26 +87,18 @@ static const DeltaPass MIR_Passes[] = {
8787
#undef DELTA_PASS_MIR
8888
};
8989

90-
static SmallString<64> getPassMessage(const DeltaPass &Pass) {
91-
SmallString<64> Message = Pass.Desc;
92-
Message += " (";
93-
Message += Pass.Name;
94-
Message += ')';
95-
return Message;
96-
}
97-
9890
static void runAllDeltaPasses(TestRunner &Tester,
9991
const SmallStringSet &SkipPass) {
10092
if (Tester.getProgram().isMIR()) {
10193
for (const DeltaPass &Pass : MIR_Passes) {
10294
if (!SkipPass.count(Pass.Name)) {
103-
runDeltaPass(Tester, Pass.Func, getPassMessage(Pass));
95+
runDeltaPass(Tester, Pass);
10496
}
10597
}
10698
} else {
10799
for (const DeltaPass &Pass : IR_Passes) {
108100
if (!SkipPass.count(Pass.Name)) {
109-
runDeltaPass(Tester, Pass.Func, getPassMessage(Pass));
101+
runDeltaPass(Tester, Pass);
110102
}
111103
}
112104
}
@@ -116,14 +108,14 @@ static void runDeltaPassName(TestRunner &Tester, StringRef PassName) {
116108
if (Tester.getProgram().isMIR()) {
117109
for (const DeltaPass &Pass : MIR_Passes) {
118110
if (PassName == Pass.Name) {
119-
runDeltaPass(Tester, Pass.Func, getPassMessage(Pass));
111+
runDeltaPass(Tester, Pass);
120112
return;
121113
}
122114
}
123115
} else {
124116
for (const DeltaPass &Pass : IR_Passes) {
125117
if (PassName == Pass.Name) {
126-
runDeltaPass(Tester, Pass.Func, getPassMessage(Pass));
118+
runDeltaPass(Tester, Pass);
127119
return;
128120
}
129121
}

llvm/tools/llvm-reduce/DeltaPass.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,16 +9,16 @@
99
#ifndef LLVM_TOOLS_LLVM_REDUCE_DELTAPASS_H
1010
#define LLVM_TOOLS_LLVM_REDUCE_DELTAPASS_H
1111

12+
#include "llvm/ADT/StringRef.h"
1213
#include "ReducerWorkItem.h"
1314
#include "deltas/Delta.h"
14-
#include "llvm/ADT/StringRef.h"
1515

1616
namespace llvm {
1717
struct DeltaPass {
1818
StringRef Name; // e.g., "strip-debug-info"
19-
void (*Func)(Oracle &, ReducerWorkItem &); // e.g.,stripDebugInfoDeltaPass
19+
void (*Func)(Oracle &, ReducerWorkItem &); // e.g., stripDebugInfoDeltaPass
2020
StringRef Desc; // e.g., "Stripping Debug Info"
2121
};
2222
} // namespace llvm
2323

24-
#endif
24+
#endif

llvm/tools/llvm-reduce/DeltaPasses.def

Lines changed: 24 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -16,14 +16,14 @@ DELTA_PASS_IR("function-bodies", reduceFunctionBodiesDeltaPass, "Reducing Functi
1616
DELTA_PASS_IR("special-globals", reduceSpecialGlobalsDeltaPass, "Reducing Special Globals")
1717
DELTA_PASS_IR("aliases", reduceAliasesDeltaPass, "Reducing Aliases")
1818
DELTA_PASS_IR("ifuncs", reduceIFuncsDeltaPass, "Reducing Ifuncs")
19-
DELTA_PASS_IR("simplify-conditionals-true", reduceConditionalsTrueDeltaPass,"Reducing conditional branches to true")
19+
DELTA_PASS_IR("simplify-conditionals-true", reduceConditionalsTrueDeltaPass, "Reducing conditional branches to true")
2020
DELTA_PASS_IR("simplify-conditionals-false",
21-
reduceConditionalsFalseDeltaPass,"Reducing conditional branches to false")
21+
reduceConditionalsFalseDeltaPass, "Reducing conditional branches to false")
2222
DELTA_PASS_IR("invokes", reduceInvokesDeltaPass, "Reducing Invokes")
2323
DELTA_PASS_IR("unreachable-basic-blocks",
2424
reduceUnreachableBasicBlocksDeltaPass, "Removing Unreachable Basic Blocks")
2525
DELTA_PASS_IR("basic-blocks", reduceBasicBlocksDeltaPass, "Reducing Basic Blocks")
26-
DELTA_PASS_IR("simplify-cfg", reduceUsingSimplifyCFGDeltaPass,"Reducing using SimplifyCFG")
26+
DELTA_PASS_IR("simplify-cfg", reduceUsingSimplifyCFGDeltaPass, "Reducing using SimplifyCFG")
2727
DELTA_PASS_IR("function-data", reduceFunctionDataDeltaPass, "Reducing Function Data")
2828
DELTA_PASS_IR("global-values", reduceGlobalValuesDeltaPass, "Reducing GlobalValues")
2929
DELTA_PASS_IR("global-objects", reduceGlobalObjectsDeltaPass, "Reducing GlobalObjects")
@@ -33,23 +33,23 @@ DELTA_PASS_IR("di-metadata", reduceDIMetadataDeltaPass, "Reducing DIMetadata")
3333
DELTA_PASS_IR("dbg-records", reduceDbgRecordDeltaPass, "Reducing DbgRecords")
3434
DELTA_PASS_IR("distinct-metadata", reduceDistinctMetadataDeltaPass, "Reducing Distinct Metadata")
3535
DELTA_PASS_IR("metadata", reduceMetadataDeltaPass,"Reducing Metadata")
36-
DELTA_PASS_IR("named-metadata", reduceNamedMetadataDeltaPass,"Reducing Named Metadata")
36+
DELTA_PASS_IR("named-metadata", reduceNamedMetadataDeltaPass, "Reducing Named Metadata")
3737
DELTA_PASS_IR("arguments", reduceArgumentsDeltaPass, "Reducing Arguments")
3838
DELTA_PASS_IR("instructions", reduceInstructionsDeltaPass, "Reducing Instructions")
39-
DELTA_PASS_IR("simplify-instructions", simplifyInstructionsDeltaPass,"Simplifying Instructions")
40-
DELTA_PASS_IR("ir-passes", runIRPassesDeltaPass,"Running passes")
41-
DELTA_PASS_IR("operands-zero", reduceOperandsZeroDeltaPass,"Reducing Operands to zero")
42-
DELTA_PASS_IR("operands-one", reduceOperandsOneDeltaPass,"Reducing Operands to one")
43-
DELTA_PASS_IR("operands-nan", reduceOperandsNaNDeltaPass,"Reducing Operands to NaN")
44-
DELTA_PASS_IR("operands-to-args", reduceOperandsToArgsDeltaPass,"Converting operands to function arguments")
45-
DELTA_PASS_IR("operands-skip", reduceOperandsSkipDeltaPass,"Reducing operands by skipping over instructions")
46-
DELTA_PASS_IR("operand-bundles", reduceOperandBundesDeltaPass,"Reducing Operand Bundles")
39+
DELTA_PASS_IR("simplify-instructions", simplifyInstructionsDeltaPass, "Simplifying Instructions")
40+
DELTA_PASS_IR("ir-passes", runIRPassesDeltaPass, "Running passes")
41+
DELTA_PASS_IR("operands-zero", reduceOperandsZeroDeltaPass, "Reducing Operands to zero")
42+
DELTA_PASS_IR("operands-one", reduceOperandsOneDeltaPass, "Reducing Operands to one")
43+
DELTA_PASS_IR("operands-nan", reduceOperandsNaNDeltaPass, "Reducing Operands to NaN")
44+
DELTA_PASS_IR("operands-to-args", reduceOperandsToArgsDeltaPass, "Converting operands to function arguments")
45+
DELTA_PASS_IR("operands-skip", reduceOperandsSkipDeltaPass, "Reducing operands by skipping over instructions")
46+
DELTA_PASS_IR("operand-bundles", reduceOperandBundesDeltaPass, "Reducing Operand Bundles")
4747
DELTA_PASS_IR("attributes", reduceAttributesDeltaPass, "Reducing Attributes")
48-
DELTA_PASS_IR("module-data", reduceModuleDataDeltaPass,"Reducing Module Data")
49-
DELTA_PASS_IR("opcodes", reduceOpcodesDeltaPass,"Reducing Opcodes")
50-
DELTA_PASS_IR("volatile", reduceVolatileInstructionsDeltaPass,"Reducing Volatile Instructions")
51-
DELTA_PASS_IR("atomic-ordering", reduceAtomicOrderingDeltaPass,"Reducing Atomic Ordering")
52-
DELTA_PASS_IR("syncscopes", reduceAtomicSyncScopesDeltaPass,"Reducing Atomic Sync Scopes")
48+
DELTA_PASS_IR("module-data", reduceModuleDataDeltaPass, "Reducing Module Data")
49+
DELTA_PASS_IR("opcodes", reduceOpcodesDeltaPass, "Reducing Opcodes")
50+
DELTA_PASS_IR("volatile", reduceVolatileInstructionsDeltaPass, "Reducing Volatile Instructions")
51+
DELTA_PASS_IR("atomic-ordering", reduceAtomicOrderingDeltaPass, "Reducing Atomic Ordering")
52+
DELTA_PASS_IR("syncscopes", reduceAtomicSyncScopesDeltaPass, "Reducing Atomic Sync Scopes")
5353
DELTA_PASS_IR("instruction-flags", reduceInstructionFlagsDeltaPass, "Reducing Instruction Flags")
5454

5555

@@ -58,11 +58,11 @@ DELTA_PASS_IR("instruction-flags", reduceInstructionFlagsDeltaPass, "Reducing In
5858
#endif
5959
DELTA_PASS_MIR("instructions", reduceInstructionsMIRDeltaPass, "Reducing Instructions")
6060
DELTA_PASS_MIR("ir-instruction-references",
61-
reduceIRInstructionReferencesDeltaPass,"Reducing IR references from instructions")
62-
DELTA_PASS_MIR("ir-block-references", reduceIRBlockReferencesDeltaPass,"Reducing IR references from blocks")
63-
DELTA_PASS_MIR("ir-function-references", reduceIRFunctionReferencesDeltaPass,"Reducing IR references from functions")
61+
reduceIRInstructionReferencesDeltaPass, "Reducing IR references from instructions")
62+
DELTA_PASS_MIR("ir-block-references", reduceIRBlockReferencesDeltaPass, "Reducing IR references from blocks")
63+
DELTA_PASS_MIR("ir-function-references", reduceIRFunctionReferencesDeltaPass, "Reducing IR references from functions")
6464
DELTA_PASS_MIR("instruction-flags", reduceInstructionFlagsMIRDeltaPass, "Reducing Instruction Flags")
65-
DELTA_PASS_MIR("register-uses", reduceRegisterUsesMIRDeltaPass,"Reducing register uses")
66-
DELTA_PASS_MIR("register-defs", reduceRegisterDefsMIRDeltaPass,"Reducing register defs")
67-
DELTA_PASS_MIR("register-hints", reduceVirtualRegisterHintsDeltaPass,"Reducing virtual register hints from functions")
68-
DELTA_PASS_MIR("register-masks", reduceRegisterMasksMIRDeltaPass,"Reducing register masks")
65+
DELTA_PASS_MIR("register-uses", reduceRegisterUsesMIRDeltaPass, "Reducing register uses")
66+
DELTA_PASS_MIR("register-defs", reduceRegisterDefsMIRDeltaPass, "Reducing register defs")
67+
DELTA_PASS_MIR("register-hints", reduceVirtualRegisterHintsDeltaPass, "Reducing virtual register hints from functions")
68+
DELTA_PASS_MIR("register-masks", reduceRegisterMasksMIRDeltaPass, "Reducing register masks")

llvm/tools/llvm-reduce/deltas/Delta.cpp

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@
3131
#include "llvm/Support/ThreadPool.h"
3232
#include "llvm/Support/WithColor.h"
3333
#include <fstream>
34+
#include "DeltaPass.h"
3435

3536
using namespace llvm;
3637

@@ -180,11 +181,10 @@ using SharedTaskQueue = std::deque<std::shared_future<SmallString<0>>>;
180181
/// reduces the amount of chunks that are considered interesting by the
181182
/// given test. The number of chunks is determined by a preliminary run of the
182183
/// reduction pass where no change must be made to the module.
183-
void llvm::runDeltaPass(TestRunner &Test, ReductionFunc ExtractChunksFromModule,
184-
StringRef Message) {
184+
void llvm::runDeltaPass(TestRunner &Test, const DeltaPass &Pass) {
185185
assert(!Test.getProgram().verify(&errs()) &&
186186
"input module is broken before making changes");
187-
errs() << "*** " << Message << "...\n";
187+
errs() << "*** " << Pass.Desc << " (" << Pass.Name << ')' << "...\n";
188188

189189
int Targets;
190190
{
@@ -193,7 +193,7 @@ void llvm::runDeltaPass(TestRunner &Test, ReductionFunc ExtractChunksFromModule,
193193
// made.
194194
std::vector<Chunk> AllChunks = {{0, INT_MAX}};
195195
Oracle Counter(AllChunks);
196-
ExtractChunksFromModule(Counter, Test.getProgram());
196+
Pass.Func(Counter, Test.getProgram());
197197
Targets = Counter.count();
198198

199199
assert(!Test.getProgram().verify(&errs()) &&
@@ -215,7 +215,7 @@ void llvm::runDeltaPass(TestRunner &Test, ReductionFunc ExtractChunksFromModule,
215215
Oracle NoChunksCounter(NoChunks);
216216
std::unique_ptr<ReducerWorkItem> Clone =
217217
Test.getProgram().clone(Test.getTargetMachine());
218-
ExtractChunksFromModule(NoChunksCounter, *Clone);
218+
Pass.Func(NoChunksCounter, *Clone);
219219
assert(Targets == NoChunksCounter.count() &&
220220
"number of chunks changes when reducing");
221221
#endif
@@ -281,7 +281,7 @@ void llvm::runDeltaPass(TestRunner &Test, ReductionFunc ExtractChunksFromModule,
281281
Chunk ChunkToCheck = *(I + J);
282282
TaskQueue.emplace_back(ChunkThreadPool.async(
283283
ProcessChunkFromSerializedBitcode, ChunkToCheck, std::ref(Test),
284-
ExtractChunksFromModule, UninterestingChunks,
284+
Pass.Func, UninterestingChunks,
285285
ChunksStillConsideredInteresting, OriginalBC,
286286
std::ref(AnyReduced)));
287287
}
@@ -305,7 +305,7 @@ void llvm::runDeltaPass(TestRunner &Test, ReductionFunc ExtractChunksFromModule,
305305
Chunk ChunkToCheck = *(I + NumScheduledTasks);
306306
TaskQueue.emplace_back(ChunkThreadPool.async(
307307
ProcessChunkFromSerializedBitcode, ChunkToCheck,
308-
std::ref(Test), ExtractChunksFromModule, UninterestingChunks,
308+
std::ref(Test), Pass.Func, UninterestingChunks,
309309
ChunksStillConsideredInteresting, OriginalBC,
310310
std::ref(AnyReduced)));
311311
}
@@ -332,7 +332,7 @@ void llvm::runDeltaPass(TestRunner &Test, ReductionFunc ExtractChunksFromModule,
332332
} else {
333333
Result =
334334
CheckChunk(*I, Test.getProgram().clone(Test.getTargetMachine()),
335-
Test, ExtractChunksFromModule, UninterestingChunks,
335+
Test, Pass.Func, UninterestingChunks,
336336
ChunksStillConsideredInteresting);
337337
}
338338

llvm/tools/llvm-reduce/deltas/Delta.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
namespace llvm {
2626

2727
class TestRunner;
28+
struct DeltaPass;
2829

2930
struct Chunk {
3031
int Begin;
@@ -135,8 +136,7 @@ using ReductionFunc = function_ref<void(Oracle &, ReducerWorkItem &)>;
135136
///
136137
/// Other implementations of the Delta Debugging algorithm can also be found in
137138
/// the CReduce, Delta, and Lithium projects.
138-
void runDeltaPass(TestRunner &Test, ReductionFunc ExtractChunksFromModule,
139-
StringRef Message);
139+
void runDeltaPass(TestRunner &Test, const DeltaPass &Pass);
140140
} // namespace llvm
141141

142142
#endif

llvm/tools/llvm-reduce/deltas/ReduceAliases.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,4 +41,4 @@ void llvm::reduceIFuncsDeltaPass(Oracle &O, ReducerWorkItem &WorkItem) {
4141

4242
if (!IFuncs.empty())
4343
lowerGlobalIFuncUsersAsGlobalCtor(Mod, IFuncs);
44-
}
44+
}

llvm/tools/llvm-reduce/deltas/ReduceArguments.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -175,4 +175,4 @@ void llvm::reduceArgumentsDeltaPass(Oracle &O, ReducerWorkItem &WorkItem) {
175175
F->replaceAllUsesWith(ClonedFunc);
176176
F->eraseFromParent();
177177
}
178-
}
178+
}

llvm/tools/llvm-reduce/deltas/ReduceDIMetadata.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -92,4 +92,4 @@ void llvm::reduceDIMetadataDeltaPass(Oracle &O, ReducerWorkItem &WorkItem) {
9292
MDs.push_back(DI);
9393
}
9494
identifyUninterestingMDNodes(O, MDs);
95-
}
95+
}

llvm/tools/llvm-reduce/deltas/ReduceDbgRecords.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,4 +34,4 @@ void llvm::reduceDbgRecordDeltaPass(Oracle &O, ReducerWorkItem &WorkItem) {
3434
for (DbgRecord &DR : llvm::make_early_inc_range(I.getDbgRecordRange()))
3535
if (!O.shouldKeep())
3636
DR.eraseFromParent();
37-
}
37+
}

llvm/tools/llvm-reduce/deltas/ReduceDistinctMetadata.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -133,4 +133,4 @@ void llvm::reduceDistinctMetadataDeltaPass(Oracle &O,
133133
}
134134
for (NamedMDNode &NamedNode : Program.named_metadata())
135135
cleanUpTemporaries(NamedNode, TemporaryTuple, Program);
136-
}
136+
}

0 commit comments

Comments
 (0)