Skip to content

Commit

Permalink
gh-104523: Inline minimal PGO rules (#104524)
Browse files Browse the repository at this point in the history
Inline profiling rules where the existing indirection was unneeded.
  • Loading branch information
indygreg authored May 16, 2023
1 parent 798bcaa commit 9084e1b
Showing 1 changed file with 4 additions and 16 deletions.
20 changes: 4 additions & 16 deletions Makefile.pre.in
Original file line number Diff line number Diff line change
Expand Up @@ -643,7 +643,7 @@ profile-gen-stamp: profile-clean-stamp
exit 1;\
fi
@echo "Building with support for profile generation:"
$(MAKE) build_all_generate_profile
$(MAKE) @DEF_MAKE_RULE@ CFLAGS_NODIST="$(CFLAGS_NODIST) $(PGO_PROF_GEN_FLAG)" LDFLAGS_NODIST="$(LDFLAGS_NODIST) $(PGO_PROF_GEN_FLAG)" LIBS="$(LIBS)"
touch $@

# Run task with profile generation build to create profile information.
Expand All @@ -653,28 +653,16 @@ profile-run-stamp:
# enabled.
$(MAKE) profile-gen-stamp
# Next, run the profile task to generate the profile information.
$(MAKE) run_profile_task
$(MAKE) build_all_merge_profile
@ # FIXME: can't run for a cross build
$(LLVM_PROF_FILE) $(RUNSHARED) ./$(BUILDPYTHON) $(PROFILE_TASK) || true
$(LLVM_PROF_MERGER)
# Remove profile generation binary since we are done with it.
$(MAKE) clean-retain-profile
# This is an expensive target to build and it does not have proper
# makefile dependency information. So, we create a "stamp" file
# to record its completion and avoid re-running it.
touch $@

.PHONY: build_all_generate_profile
build_all_generate_profile:
$(MAKE) @DEF_MAKE_RULE@ CFLAGS_NODIST="$(CFLAGS_NODIST) $(PGO_PROF_GEN_FLAG)" LDFLAGS_NODIST="$(LDFLAGS_NODIST) $(PGO_PROF_GEN_FLAG)" LIBS="$(LIBS)"

.PHONY: run_profile_task
run_profile_task:
@ # FIXME: can't run for a cross build
$(LLVM_PROF_FILE) $(RUNSHARED) ./$(BUILDPYTHON) $(PROFILE_TASK) || true

.PHONY: build_all_merge_profile
build_all_merge_profile:
$(LLVM_PROF_MERGER)

# Compile Python binary with profile guided optimization.
# To force re-running of the profile task, remove the profile-run-stamp file.
.PHONY: profile-opt
Expand Down

0 comments on commit 9084e1b

Please sign in to comment.