Skip to content
Browse files

Attempt to fix intermittent failures of pgo-branch-weights test.

  • Loading branch information
michaelwoerister committed Jan 3, 2020
1 parent 0a58f58 commit 971aa2bd6218fb6c843db965f7da70586865171d
Showing with 19 additions and 11 deletions.
  1. +19 −11 src/test/run-make-fulldeps/pgo-branch-weights/Makefile
@@ -15,21 +15,29 @@ ifdef IS_MSVC

# 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)))

# We don't compile `opaque` with either optimizations or instrumentation.
# We don't compile `opaque` with either optimizations or instrumentation.
$(RUSTC) $(COMMON_FLAGS) || exit 1
# Compile the test program with instrumentation
mkdir -p "$(TMPDIR)"/prof_data_dir
mkdir -p "$(TMPDIR)/prof_data_dir" || exit 1
-Cprofile-generate="$(TMPDIR)"/prof_data_dir -O -Ccodegen-units=1
$(RUSTC) $(COMMON_FLAGS) -Cprofile-generate="$(TMPDIR)"/prof_data_dir -O
-Cprofile-generate="$(TMPDIR)/prof_data_dir" -O -Ccodegen-units=1 || exit 1
$(RUSTC) $(COMMON_FLAGS) -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 \
"$(LLVM_BIN_DIR)/llvm-profdata" merge \
-o "$(TMPDIR)/prof_data_dir/merged.profdata" \
"$(TMPDIR)/prof_data_dir" || exit 1
-Cprofile-use="$(TMPDIR)"/prof_data_dir/merged.profdata -O \
-Ccodegen-units=1 --emit=llvm-ir
cat "$(TMPDIR)"/interesting.ll | "$(LLVM_FILECHECK)" filecheck-patterns.txt
-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

0 comments on commit 971aa2b

Please sign in to comment.
You can’t perform that action at this time.