26e1ce7394
apparently I missed some tests in the last commit. Rather than having dozens of tests use the long version, use the short version in `run-make` and the long version in `run-make-fulldeps` (which is now only three tests)
27 lines
700 B
Makefile
27 lines
700 B
Makefile
# needs-profiler-support
|
|
# ignore-windows-gnu
|
|
|
|
include ../tools.mk
|
|
|
|
# FIXME(eddyb) provide `HOST_RUSTC` and `TARGET_RUSTC`
|
|
# instead of hardcoding them everywhere they're needed.
|
|
ifeq ($(IS_MUSL_HOST),1)
|
|
ADDITIONAL_ARGS := $(RUSTFLAGS)
|
|
endif
|
|
|
|
all:
|
|
# Generate PGO profiles
|
|
$(BARE_RUSTC) $(ADDITIONAL_ARGS) -Cprofile-generate=$(TMPDIR)/profiles --out-dir $(TMPDIR) main.rs
|
|
$(TMPDIR)/main
|
|
|
|
# Merge profiles
|
|
"$(LLVM_BIN_DIR)/llvm-profdata" merge \
|
|
-o "$(TMPDIR)/merged.profdata" \
|
|
"$(TMPDIR)/profiles" || exit 1
|
|
|
|
# Use the profile
|
|
$(RUSTC) -Cprofile-use=$(TMPDIR)/merged.profdata --emit dep-info main.rs
|
|
|
|
# Check that profile file is in depinfo
|
|
$(CGREP) "merged.profdata" < $(TMPDIR)/main.d
|