summaryrefslogtreecommitdiffstats
path: root/tests/run-make-fulldeps/pgo-branch-weights/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'tests/run-make-fulldeps/pgo-branch-weights/Makefile')
-rw-r--r--tests/run-make-fulldeps/pgo-branch-weights/Makefile34
1 files changed, 0 insertions, 34 deletions
diff --git a/tests/run-make-fulldeps/pgo-branch-weights/Makefile b/tests/run-make-fulldeps/pgo-branch-weights/Makefile
deleted file mode 100644
index c60206a1f..000000000
--- a/tests/run-make-fulldeps/pgo-branch-weights/Makefile
+++ /dev/null
@@ -1,34 +0,0 @@
-# needs-profiler-support
-# ignore-windows-gnu
-
-# FIXME(mati865): MinGW GCC miscompiles compiler-rt profiling library but with Clang it works
-# properly. Since we only have GCC on the CI ignore the test for now.
-
-include ../tools.mk
-
-# For some very small programs GNU ld seems to not properly handle
-# instrumentation sections correctly. Neither Gold nor LLD have that problem.
-ifeq ($(UNAME),Linux)
-ifneq (,$(findstring x86,$(TARGET)))
-COMMON_FLAGS=-Clink-args=-fuse-ld=gold
-endif
-endif
-
-
-all:
- # We don't compile `opaque` with either optimizations or instrumentation.
- $(RUSTC) $(COMMON_FLAGS) opaque.rs || exit 1
- # Compile the test program with instrumentation
- mkdir -p "$(TMPDIR)/prof_data_dir" || exit 1
- $(RUSTC) $(COMMON_FLAGS) interesting.rs \
- -Cprofile-generate="$(TMPDIR)/prof_data_dir" -O -Ccodegen-units=1 || exit 1
- $(RUSTC) $(COMMON_FLAGS) main.rs -Cprofile-generate="$(TMPDIR)/prof_data_dir" -O || exit 1
- # The argument below generates to the expected branch weights
- $(call RUN,main aaaaaaaaaaaa2bbbbbbbbbbbb2bbbbbbbbbbbbbbbbcc) || exit 1
- "$(LLVM_BIN_DIR)/llvm-profdata" merge \
- -o "$(TMPDIR)/prof_data_dir/merged.profdata" \
- "$(TMPDIR)/prof_data_dir" || exit 1
- $(RUSTC) $(COMMON_FLAGS) interesting.rs \
- -Cprofile-use="$(TMPDIR)/prof_data_dir/merged.profdata" -O \
- -Ccodegen-units=1 --emit=llvm-ir || exit 1
- cat "$(TMPDIR)/interesting.ll" | "$(LLVM_FILECHECK)" filecheck-patterns.txt