Avoid clobber between profile generate and use passes of PGO builds

REOPENED
Assigned to

Status

REOPENED
7 years ago
6 months ago

People

(Reporter: glandium, Assigned: glandium)

Tracking

Trunk
mozilla9
All
Linux
Dependency tree / graph

Firefox Tracking Flags

(Not tracked)

Details

(Whiteboard: fixed-in-bs)

Attachments

(1 attachment, 1 obsolete attachment)

Comment hidden (empty)
(Assignee)

Comment 1

7 years ago
Created attachment 534760 [details] [diff] [review]
Avoid clobber between profile generate and use passes of PGO builds
Attachment #534760 - Flags: review?(ted.mielczarek)
Comment on attachment 534760 [details] [diff] [review]
Avoid clobber between profile generate and use passes of PGO builds

Review of attachment 534760 [details] [diff] [review]:
-----------------------------------------------------------------

This all looks sane, I just have one large reservation here. Any way to test this? (Clearly the try server isn't going to help.)

::: config/rules.mk
@@ +903,5 @@
>  endif # SHARED_LIBRARY || PROGRAM
> +else  # ! WINNT_
> +# Force rebuilding all objects on the second pass
> +$(OBJS): pgo.rebuild
> +.PHONY: pgo.rebuild

Is this going to do weird things to the profiling phase? Presumably you can wind up with object files that aren't compiled with instrumentation because they had no changes, so you wouldn't profile them and then they wouldn't get optimized properly. Is there going to be weird perf impact on a dep build after this?
Attachment #534760 - Flags: review?(ted.mielczarek) → review+
(Assignee)

Updated

7 years ago
Depends on: 659942
(Assignee)

Comment 3

7 years ago
Another possibility would be to try to keep the -fprofile-generate objects around.
(Assignee)

Comment 4

7 years ago
(In reply to comment #2)
> Is this going to do weird things to the profiling phase? Presumably you can
> wind up with object files that aren't compiled with instrumentation because
> they had no changes, so you wouldn't profile them and then they wouldn't get
> optimized properly. Is there going to be weird perf impact on a dep build
> after this?

In practice, this is what happens since bug 659942 :(
See bug 676252.
(Assignee)

Comment 5

7 years ago
Created attachment 553434 [details] [diff] [review]
Avoid clobber between profile generate and use passes of PGO builds.

As landed
(Assignee)

Updated

7 years ago
Attachment #534760 - Attachment is obsolete: true
http://hg.mozilla.org/mozilla-central/rev/b0fa6b9a3e47
Status: NEW → RESOLVED
Last Resolved: 7 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla9
(Assignee)

Updated

7 years ago
Depends on: 677191

Updated

6 months ago
Product: Core → Firefox Build System
You need to log in before you can comment on or make changes to this bug.