Don't do database generation when running benchmarks
Also, don't run pgofile completeness checking
Bug: 283934502
Change-Id: Ie95b9733308f8b94156d6e9455b84b47cc351f3b
Fixes: 283934502
diff --git a/src/test/java/com/android/tools/r8/TestCompilerBuilder.java b/src/test/java/com/android/tools/r8/TestCompilerBuilder.java
index 0da6332..48689c3 100644
--- a/src/test/java/com/android/tools/r8/TestCompilerBuilder.java
+++ b/src/test/java/com/android/tools/r8/TestCompilerBuilder.java
@@ -60,7 +60,6 @@
options.testing.allowUnnecessaryDontWarnWildcards = false;
options.horizontalClassMergerOptions().enable();
options.horizontalClassMergerOptions().setEnableInterfaceMerging();
- options.getArtProfileOptions().setEnableCompletenessCheckForTesting(true);
options
.getCfCodeAnalysisOptions()
.setAllowUnreachableCfBlocks(false)
@@ -88,6 +87,7 @@
private ByteArrayOutputStream stderr = null;
private PrintStream oldStderr = null;
protected OutputMode outputMode = OutputMode.DexIndexed;
+ private boolean isBenchmarkRunner = false;
private Optional<Integer> isAndroidBuildVersionAdded = null;
@@ -225,6 +225,7 @@
if (System.getProperty("com.android.tools.r8.printtimes") != null) {
allowStdoutMessages();
}
+ isBenchmarkRunner = true;
return internalCompileAndBenchmark(results);
}
@@ -265,7 +266,10 @@
: getMinApiLevel();
builder.setMinApiLevel(minApi);
}
- if (!noMinApiLevel && backend.isDex() && (isD8TestBuilder() || isR8TestBuilder())) {
+ if (!noMinApiLevel
+ && backend.isDex()
+ && (isD8TestBuilder() || isR8TestBuilder())
+ && !isBenchmarkRunner) {
int minApiLevel = builder.getMinApiLevel();
allowedGlobalSynthetics.computeIfAbsent(
minApiLevel, TestCompilerBuilder::computeAllGlobalSynthetics);
@@ -284,6 +288,12 @@
}
};
}
+
+ if ((isD8TestBuilder() || isR8TestBuilder()) && !isBenchmarkRunner) {
+ addOptionsModification(
+ o -> o.getArtProfileOptions().setEnableCompletenessCheckForTesting(true));
+ }
+
builder.setOptimizeMultidexForLinearAlloc(optimizeMultidexForLinearAlloc);
if (useDefaultRuntimeLibrary) {
builder.addLibraryFiles(getDefaultLibraryFiles());