Subzero: Add presubmit-lite target.
The big reduction is in greatly reducing the set of non-native cross tests. Also, not so many copies of spec2k are run, and only one "representative" sandboxed target is built.
BUG= none
R=eholk@chromium.org
Review URL: https://codereview.chromium.org/1824723002 .
diff --git a/Makefile.standalone b/Makefile.standalone
index df533ca..e778c35 100644
--- a/Makefile.standalone
+++ b/Makefile.standalone
@@ -354,15 +354,17 @@
$(SB_OBJDIR)/pnacl-sz.x8664.nexe \
$(SBB_OBJDIR)/pnacl_public_x86_32_pnacl_sz_nexe \
$(SBB_OBJDIR)/pnacl_public_x86_64_pnacl_sz_nexe
+NEXES_LITE = $(SB_OBJDIR)/pnacl-sz.x8664.nexe
# Keep all the first target so it's the default.
all: $(OBJDIR)/pnacl-sz make_symlink runtime
ifdef TSAN
-sb:
+sb sb-lite:
@echo "Skipping pnacl-sz.*.nexe: TSAN isn't supported under NaCl."
else
sb: $(NEXES) sb_make_symlink exists-sbtc
+sb-lite: $(NEXES_LITE) exists-sbtc
endif
# SHOW_BUILD_ATTS is an executable that is run to show what build
@@ -492,7 +494,7 @@
$(FORCEASM_LIT_TEST_EXCLUDES) $(FORCEASM_LIT_PARAM)
ifdef MINIMAL
-check-xtest: $(OBJDIR)/pnacl-sz make_symlink runtime
+check-xtest check-xtest-lite: $(OBJDIR)/pnacl-sz make_symlink runtime
@echo "Crosstests disabled, minimal build"
else
check-xtest: $(OBJDIR)/pnacl-sz make_symlink runtime \
@@ -517,6 +519,28 @@
-e arm32,sandbox,hwdiv-arm
PNACL_BIN_PATH=$(PNACL_BIN_PATH) \
$(LLVM_SRC_PATH)/utils/lit/lit.py -sv $(CHECK_XTEST_TESTS)
+check-xtest-lite: $(OBJDIR)/pnacl-sz make_symlink runtime \
+ exists-nonsfi-x8632 exists-nonsfi-arm32
+ # Do all native/sse2/neon tests, which are relatively fast.
+ # Limit to test_global+mem_intrin for sandbox+nonsfi because sandbox and
+ # nonsfi builds are slow, and test_global and mem_intrin are the most
+ # common sources of problems.
+ ./pydir/crosstest_generator.py -v --lit \
+ --toolchain-root $(TOOLCHAIN_ROOT) \
+ $(FORCEASM_FLAG) \
+ $(FORCEASM_XTEST_EXCLUDES) \
+ -i x8632,native,sse2,O2 \
+ -i x8664,native,sse2,O2 \
+ -i arm32,native,neon,O2 \
+ -i x8632,sse2,O2,test_global \
+ -i x8632,sse2,O2,mem_intrin \
+ -i x8664,sse2,O2,test_global \
+ -i x8664,sse2,O2,mem_intrin \
+ -i arm32,neon,O2,test_global \
+ -i arm32,neon,O2,mem_intrin \
+ -e x8664,nonsfi
+ PNACL_BIN_PATH=$(PNACL_BIN_PATH) \
+ $(LLVM_SRC_PATH)/utils/lit/lit.py -sv $(CHECK_XTEST_TESTS)
endif
check-unit: $(OBJDIR)/run_unittests
@@ -643,6 +667,45 @@
# Provide validation of user awesomeness!
echo Success
+presubmit-lite: exists-nonsfi-x8632 exists-nonsfi-arm32 \
+ exists-sbtc exists-spec
+# Make sure clang-format gets run.
+ +make -f Makefile.standalone format
+# Verify MINIMAL build, plus proper usage of REQUIRES in lit tests.
+ +make -f Makefile.standalone \
+ MINIMAL=1 check $(SB_OBJDIR)/pnacl-sz.x8664.nexe
+# Check that there are no g++ build errors or warnings.
+ +make -f Makefile.standalone \
+ GPLUSPLUS=1 compile_only
+# Run lit tests, cross tests, unit tests, and spec2k/x86-32.
+ +make -f Makefile.standalone \
+ check-lit check-unit check-spec
+ +make -f Makefile.standalone \
+ check-xtest-lite
+# Run spec2k/x86-64.
+ +make -f Makefile.standalone \
+ TARGET=x8664 check-spec
+# Build spec2k under -Om1/x86-32, to check for liveness errors.
+ +make -f Makefile.standalone \
+ SPECFLAGS='-Om1' SPECBUILDONLY=true check-spec
+# Build spec2k under -Om1/x86-64, to check for liveness errors.
+ +make -f Makefile.standalone \
+ SPECFLAGS='-Om1' TARGET=x8664 SPECBUILDONLY=true check-spec
+# Run cross tests and lit tests to validate filetype=asm output.
+ +make -f Makefile.standalone \
+ FORCEASM=1 check-lit
+ +make -f Makefile.standalone \
+ FORCEASM=1 check-xtest-lite
+# Build spec2k under -Om1/arm32.
+ +make -f Makefile.standalone \
+ TARGET=arm32 SPECFLAGS='-Om1' SPECBUILDONLY=true check-spec
+# Run a few spec2k tests for arm32 using qemu. Keep the list sorted in
+# roughly reverse order of runtime.
+ +make -f Makefile.standalone \
+ TARGET=arm32 ALLSPEC='254.gap 176.gcc 181.mcf' check-spec
+# Provide validation of user awesomeness!
+ echo Success
+
FORMAT_BLACKLIST =
# Add one of the following lines for each source file to ignore.
FORMAT_BLACKLIST += ! -name IceParseInstsTest.cpp