summaryrefslogtreecommitdiffstats
path: root/tests/run-make/track-pgo-dep-info/Makefile
blob: 6c7f67d0f0a9d5523199ada2e81235be24254378 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# 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