This is an archive of the discontinued LLVM Phabricator instance.

[Clang] Limit -fintegrated-cc1 to only one TU
ClosedPublic

Authored by aganea on Feb 12 2020, 8:45 AM.

Details

Summary

As discussed in D74447, this patch disables integrated-cc1 behavior if there's more than one job to be executed. This is meant to limit memory bloating, given that currently jobs don't clean up after execution (-disable-free is always active in cc1 mode).

I see this behavior as temporary until release 10.0 ships, then we'll reevaluate the situation, see if D74447 makes more sense on the long term.

Diff Detail

Event Timeline

aganea created this revision.Feb 12 2020, 8:45 AM
Herald added a project: Restricted Project. · View Herald TranscriptFeb 12 2020, 8:45 AM
Herald added a subscriber: cfe-commits. · View Herald Transcript
aganea marked an inline comment as done.Feb 12 2020, 8:48 AM
aganea added inline comments.
clang/test/Driver/cc1-spawnprocess.c
9

Out of curiosity: what does -- means to do? (here used along with %s)

rnk accepted this revision.Feb 12 2020, 8:59 AM

lgtm

clang/test/Driver/cc1-spawnprocess.c
9

It indicates that the remaining args should be interpreted as inputs, not flags. We need -- in the test suite on Mac where %s usually expands to /Users/foo/bar.c, which looks like clang-cl /UMYMACRO.

This revision is now accepted and ready to land.Feb 12 2020, 8:59 AM
aganea marked 2 inline comments as done.Feb 12 2020, 9:55 AM
aganea added inline comments.
clang/include/clang/Driver/Job.h
87

I forgot to put back the default value(s) here, I'll do it before landing.

clang/tools/driver/cc1_main.cpp
262 ↗(On Diff #244197)

I'll commit this separately, this is not a requirement for this patch.

This revision was automatically updated to reflect the committed changes.