[PATCH] D112651: [llvm-reduce] Add flag to start at finer granularity
Arthur Eubanks via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue Nov 9 10:16:04 PST 2021
This revision was landed with ongoing or failed builds.
This revision was automatically updated to reflect the committed changes.
Closed by commit rGfbfd327fdf1e: [llvm-reduce] Add flag to start at finer granularity (authored by dwightguth, committed by aeubanks).
Changed prior to commit:
https://reviews.llvm.org/D112651?vs=382750&id=385875#toc
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D112651/new/
https://reviews.llvm.org/D112651
Files:
llvm/test/tools/llvm-reduce/granularity-level.ll
llvm/tools/llvm-reduce/deltas/Delta.cpp
Index: llvm/tools/llvm-reduce/deltas/Delta.cpp
===================================================================
--- llvm/tools/llvm-reduce/deltas/Delta.cpp
+++ llvm/tools/llvm-reduce/deltas/Delta.cpp
@@ -27,6 +27,10 @@
"abort-on-invalid-reduction",
cl::desc("Abort if any reduction results in invalid IR"));
+static cl::opt<unsigned int> StartingGranularityLevel(
+ "starting-granularity-level",
+ cl::desc("Number of times to divide chunks prior to first test"));
+
void writeOutput(ReducerWorkItem &M, llvm::StringRef Message);
bool isReduced(ReducerWorkItem &M, TestRunner &Test,
@@ -118,6 +122,10 @@
std::vector<Chunk> ChunksStillConsideredInteresting = {{1, Targets}};
std::unique_ptr<ReducerWorkItem> ReducedProgram;
+ for (unsigned int Level = 0; Level < StartingGranularityLevel; Level++) {
+ increaseGranularity(ChunksStillConsideredInteresting);
+ }
+
bool FoundAtLeastOneNewUninterestingChunkWithCurrentGranularity;
do {
FoundAtLeastOneNewUninterestingChunkWithCurrentGranularity = false;
Index: llvm/test/tools/llvm-reduce/granularity-level.ll
===================================================================
--- /dev/null
+++ llvm/test/tools/llvm-reduce/granularity-level.ll
@@ -0,0 +1,30 @@
+; Test that llvm-reduce produces the same output when starting at a higher granularity level.
+;
+; RUN: llvm-reduce --delta-passes=functions,instructions --starting-granularity-level=2 --test FileCheck --test-arg --check-prefixes=CHECK-ALL,CHECK-INTERESTINGNESS --test-arg %s --test-arg --input-file %s -o %t
+; RUN: cat %t | FileCheck -implicit-check-not=uninteresting --check-prefixes=CHECK-ALL,CHECK-FINAL %s
+
+define i32 @uninteresting1() {
+entry:
+ ret i32 0
+}
+
+; CHECK-ALL-LABEL: interesting()
+define i32 @interesting() {
+entry:
+ ; CHECK-INTERESTINGNESS: call i32 @interesting()
+ %call2 = call i32 @interesting()
+ %call = call i32 @uninteresting1()
+ ret i32 5
+}
+
+; CHECK-FINAL-NEXT: entry:
+; CHECK-FINAL-NEXT: %call2 = call i32 @interesting()
+; CHECK-FINAL-NEXT: ret i32 5
+; CHECK-FINAL-NEXT: }
+
+define i32 @uninteresting2() {
+entry:
+ ret i32 0
+}
+
+declare void @uninteresting3()
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D112651.385875.patch
Type: text/x-patch
Size: 2178 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20211109/ce024b7a/attachment.bin>
More information about the llvm-commits
mailing list