David Ungar
17a81f6981
Restore -### functionality for batch-mode by extending OutputLevel.
2018-03-05 11:07:20 -08:00
Graydon Hoare
7981714214
[BatchMode] Make driver report exits per-batch, not per-constituent.
2018-03-02 00:32:30 -08:00
Graydon Hoare
263c4c54d5
[BatchMode] Preserve intra-batch order, add a seed mode.
2018-02-20 18:31:41 -08:00
Graydon Hoare
57fe9ee57a
[BatchMode] Add driver::PerformJobsState logic for BatchJobs.
2018-02-15 15:38:09 -08:00
Graydon Hoare
3d9ce0afb9
[BatchMode] Store -{enable,disable}-batch-mode as a flag in Compilation.
2018-02-15 15:38:09 -08:00
Graydon Hoare
a2c718777d
[BatchMode] Pass OutputInfo to Compilation on construction.
2018-02-15 15:38:08 -08:00
Graydon Hoare
ef61f721d4
[BatchMode] Change all CommandOutputs to use a shared OutputFileMap.
2018-02-09 14:08:50 -08:00
Graydon Hoare
d139ab2968
[BatchMode] Expand lifetime of ToolChain, pass reference to it to Compilation.
2018-01-24 10:31:19 -08:00
Graydon Hoare
d74c1a512a
[BatchMode] Make InvocationInfo and Job support multiple FilelistInfos, NFC.
2018-01-19 15:15:08 -08:00
Graydon Hoare
22775c87a9
[BatchMode] Add FilelistInfo::WhichFiles::PrimaryInputs, NFC.
2018-01-19 14:16:20 -08:00
Graydon Hoare
0f09a95679
[BatchMode] Change FiellistInfo::WhichFiles to an enum class, NFC.
2018-01-19 14:05:42 -08:00
Graydon Hoare
173e702da2
[Stats] Add a pair of counters to track failed processes.
2017-11-08 19:53:36 -08:00
Jordan Rose
47872d9190
[Driver] Transfer all ownership of Actions to the Compilation.
...
Previously, Actions were responsible for freeing their inputs...
except for the ones that weren't. Or the ones that were supposed
to, but then they needed to share an input, so they couldn't anymore.
If this sounds ridiculous, you're right; now Actions are just
immediately allocated and owned by the Compilation.
The graph structure of the actions is still useful for some things; in
particular, "top-level" actions get to put their outputs somewhere
permanent rather than TMPDIR. But I expect these things to get cleaned
up in the future too.
2017-08-11 21:09:34 -07:00
Jordan Rose
64df9b1edc
[Driver] Actually free Actions instead of just leaking them.
...
Fixes rdar://problem/32518867, though in a fairly messy way. Next
commit will clean this up again.
2017-08-11 21:09:34 -07:00
Jordan Rose
a875d8c7c7
[Driver] Preserve filelists when a subprocess crashes. ( #9849 )
...
This should make it easier to rerun crashed jobs that use filelists;
previously you'd have to run the top-level driver command again with
-save-temps. I didn't want to save /all/ temporary files because that
often includes things like .o files, which could fill up your disk
pretty quickly. But we can always tweak this later.
2017-05-22 17:14:20 -07:00
practicalswift
431e5a1440
[gardening] Use consistent end of namespace comments
2017-04-20 13:47:10 +02:00
Graydon Hoare
0245c83c4b
[Stats] Add -stats-output-dir, wire UnifiedStatsReporter into place.
2017-04-03 18:08:59 -07:00
Graydon Hoare
1c3a54bfa5
[Driver] Only warn on .swiftdeps load-fail with -driver-show-incremental.
2017-03-01 09:07:21 -08:00
Graydon Hoare
ec5d4f3ea1
[Driver] Put new job-lifecycle diagnostic chatter behind another option.
2017-03-01 09:07:21 -08:00
Graydon Hoare
99df2082cd
[Driver] Clear deferred commands on each task queue iteration.
2017-03-01 09:07:20 -08:00
Graydon Hoare
4583e910b8
[Driver] Extract dependencyLoadFailed, add optional warning.
2017-02-28 15:17:26 -08:00
Graydon Hoare
423d9fe054
[Driver] Extract reloadAndRemarkDeps from taskFinished.
2017-02-28 15:17:26 -08:00
Graydon Hoare
ab5201f60e
[Driver] Make PerformJobsState a mostly-private class.
2017-02-28 15:17:26 -08:00
Graydon Hoare
211d09759c
[Driver] Move populateInputInfoMap into PerformJobsState.
2017-02-28 15:17:25 -08:00
Graydon Hoare
9d0e7e0e99
[Driver] Factor out PerformJobsState::checkUnfinishedJobs.
2017-02-28 15:17:25 -08:00
Graydon Hoare
f83ee9fd2f
[Driver] Factor out PerformJobsState::runTaskQueueToCompletion.
2017-02-28 15:17:25 -08:00
Graydon Hoare
1b3a4347a8
[Driver] Factor out PerformJobsState::schedule*Jobs.
2017-02-28 15:17:25 -08:00
Graydon Hoare
6d21711d02
[Driver] Move TaskQueue callbacks to PerformJobsState.
2017-02-28 15:17:24 -08:00
Graydon Hoare
f7e9598d08
[Driver] Clean up some comments.
2017-02-28 15:17:24 -08:00
Graydon Hoare
b8c26ef5cd
[Driver] Move more temp Job sets to PerformJobsState.
2017-02-28 15:17:24 -08:00
Graydon Hoare
e81d0f4ca1
[Driver] Pass Tracer to markTransitive everywhere.
2017-02-28 15:17:24 -08:00
Graydon Hoare
053c3f8e9e
[Driver] Move DepGraph and MarkTracer to PerformJobsState.
2017-02-28 15:17:23 -08:00
Graydon Hoare
aee4c83467
[Driver] Move markFinished to PerformJobsState, add logging.
2017-02-28 15:17:23 -08:00
Graydon Hoare
de2c05fa8b
[Driver] Extract scheduleCommandIfNecessary and add logging.
2017-02-28 15:17:23 -08:00
Graydon Hoare
a13a0dfbba
[Driver] Factor out some Job-logging support.
2017-02-28 15:17:22 -08:00
Graydon Hoare
01655789a0
[Driver] Move some function-local state into PerformJobState.
2017-02-28 13:22:20 -08:00
Hugh Bellamy
fdf261327a
Return an error result if we can't set the environment variables in performSingleCommand
2017-02-15 09:30:24 +07:00
Hugh Bellamy
fc9d3bdb47
Simplify Windows Compilation::performSingleCommand implementation
2017-02-13 20:00:01 +07:00
Hugh Bellamy
f001b7562b
Use relatively new LLVM_FALLLTHROUGH instead of our own SWIFT_FALLTHROUGH
2017-02-12 10:47:03 +07:00
Robert Widmann
3eba4fd3ab
Merge pull request #6787 from matthewcarroll/SR-3175-Include-signal-number-in-parseable-output-message
...
SR-3175: Include the terminating signal number in the driver output
2017-01-18 11:00:59 -07:00
Bob Wilson
34514513fd
Merge remote-tracking branch 'origin/master' into master-next
2017-01-15 17:34:17 -08:00
Matthew Carroll
c1be989c61
Fix code style
2017-01-14 12:26:14 -05:00
Graydon Hoare
3b0b8c3270
[Bridging PCH] Auto-generate and use temporary bridging PCHs from driver.
2017-01-13 15:18:40 -08:00
Matthew Carroll
5497bfb7b4
SR-3175: Include the terminating signal number in the driver output
...
* Add the signal number of the terminated task to the output of the driver on platforms for which the signal number is available. The new key in the parseable driver output is "signal".
* Add a test to verify that the signal number is emitted.
* Add documentation for the new "signal" key emitted in the parseable driver output.
https://bugs.swift.org/browse/SR-3175
2017-01-13 13:48:41 -05:00
Bob Wilson
c765d5e3a5
Merge remote-tracking branch 'origin/master' into master-next
2017-01-12 15:58:19 -08:00
Sean Callanan
399709ccb8
Optionally separate Tasks` stderr from stdout.
...
Fixes a serious problem where spurious output from xcrun breaks
swift's discovery of libarclite.
<rdar://problem/28573949>
2017-01-11 11:11:23 -08:00
Bob Wilson
37e7d1c627
Merge remote-tracking branch 'origin/master' into master-next
2017-01-08 17:07:46 -08:00
practicalswift
6d1ae2a39c
[gardening] 2016 → 2017
2017-01-06 16:41:22 +01:00
Bob Wilson
78b28243ff
Merge remote-tracking branch 'origin/master' into master-next
2017-01-03 14:22:59 -08:00
practicalswift
38be6125e5
[gardening] C++ gardening: Terminate namespaces, fix argument names, ...
...
Changes:
* Terminate all namespaces with the correct closing comment.
* Make sure argument names in comments match the corresponding parameter name.
* Remove redundant get() calls on smart pointers.
* Prefer using "override" or "final" instead of "virtual". Remove "virtual" where appropriate.
2016-12-17 00:32:42 +01:00