David Ungar
3463451049
More fixes.
2018-11-29 13:23:33 -08:00
David Ungar
6823b937af
Improvements thanks to Jordan’s feedback.
2018-11-28 10:40:36 -08:00
David Ungar
4c61354ff8
Added some comments around incremental compilation.
2018-11-27 21:18:42 -08:00
Dave Lee
0829b8a4b5
[Driver] Remove unused OutputFileMap param ( #20349 )
2018-11-06 10:45:17 -08:00
David Ungar
19caf599cb
Review fixes
2018-10-29 10:27:53 -07:00
David Ungar
1f4dfce598
Add -enable-experimental-dependencies and push it through.
2018-10-28 00:39:36 -07:00
Graydon Hoare
0f26b9c12d
[Driver] <rdar://43955209> Remove obsolete/fragile batch mode 'repartitioning' code.
2018-10-09 13:31:41 -07:00
Jordan Rose
73d5ebaad2
Rename "textual interface" to "parseable interface" ( #19713 )
...
We already have something called "module interfaces" -- it's the
generated interface view that you can see in Xcode, the interface
that's meant for developers using a library. Of course, that's also a
textual format. To reduce confusion, rename the new module stability
feature to "parseable [module] interfaces".
2018-10-04 17:49:55 -07:00
Jordan Rose
4609e6d285
[Driver] Remove handrolled StringSetIterator in favor of 'keys()'
...
An llvm::StringSet is "just" an llvm::StringMap where the values are
ignored, so the 'keys()' range already does what we need.
No functionality change.
2018-09-13 11:10:37 -07:00
Jordan Rose
6ffe644cfc
Merge pull request #18973 from jrose-apple/interfacepalm
...
Generate swiftinterface files next to the stdlib swiftmodules, for testing purposes.
2018-08-28 14:56:02 -07:00
Jordan Rose
e4e4f3e4f5
Break Driver's dep on Frontend: make createCompilerInvocation uglier
...
But not even that much uglier; at all three call sites this will save
an allocation, and for the most important one (SourceKit) we can now
avoid creating a temporary CompilerInvocation just to copy into a
longer-lived one.
With this change, Driver no longer depends on Frontend, which means...
well, slightly faster builds of the compiler itself, but not much
else.
2018-08-27 20:47:58 -07:00
Jordan Rose
e224e31720
Break almost all dependencies of Driver on Frontend
...
- Sink OutputFileMap{.h,.cpp} and ReferenceDependencyKeys.h to Basic
- Remove unnecessary includes of Frontend.h.
2018-08-27 20:47:58 -07:00
Jordan Rose
845e8bef5f
[Driver] Add -experimental-emit-interface for textual interfaces
...
This will eventually become plain old -emit-interface, but we don't
want people to be using it just yet. This is just for testing.
2018-08-24 18:02:48 -07:00
Jordan Rose
4d9b85b670
[Driver] Drop redundant arguments in various helper functions
...
The OutputInfo, ToolChain, and Triple can all be retrieved from the
Compilation, so now that we're passing one of those around we don't
need to pass the others explicitly.
No functionality change.
2018-08-24 18:02:48 -07:00
swift-ci
c648e2d214
Merge remote-tracking branch 'origin/master' into master-next
2018-07-31 08:50:06 -07:00
Graydon Hoare
d5a9f44e4a
[BatchMode] <rdar://41271283> Limit memory pressure on large modules.
2018-07-30 17:26:31 -07:00
swift-ci
9711455ad8
Merge remote-tracking branch 'origin/master' into master-next
2018-07-26 14:49:10 -07:00
Jordan Rose
67a6a4ff18
Move swift/Frontend/FileTypes.h down to Basic
...
The next commit will take advantage of this, but this is just a
mechanical change.
2018-07-25 22:23:00 -07:00
swift-ci
817e5e80e7
Merge remote-tracking branch 'origin/master' into master-next
2018-07-19 16:49:18 -07:00
Huon Wilson
103170bcbb
Merge pull request #17688 from huonw/merging-tbd
...
Allow TBD files to be generated in non-wmo mode
2018-07-20 09:44:50 +10:00
Huon Wilson
9dab667544
[Driver] Make the TBD file behave more like a normal auxiliary output.
2018-07-20 08:12:22 +10:00
swift-ci
19195280d3
Merge remote-tracking branch 'origin/master' into master-next
2018-07-10 17:09:20 -07:00
Robert Widmann
81e9a3f660
[NFC] Drop PerformJobsState as a friend class
...
Make the coupling between PerformJobsState and Compilation indirect.
2018-07-10 14:57:01 -07:00
swift-ci
b9a3c06f2f
Merge remote-tracking branch 'origin/master' into master-next
2018-06-22 10:29:41 -07:00
David Ungar
794a3d748d
Merge pull request #16669 from davidungar/refdep-refactor
...
NFC, [Incremental Compilation] Refactor ReferenceDependencies
2018-06-22 10:14:36 -07:00
Bob Wilson
44712233c3
Merge remote-tracking branch 'origin/master' into master-next
2018-06-21 23:36:03 -07:00
Jordan Rose
7d8e40b0bb
Merge pull request #16362 from dabelknap/frontend_responsefile
...
Wrap Command Line Arguments in a Response File if System Limits are Exceeded
https://bugs.swift.org/browse/SR-4517
2018-06-21 16:31:20 -07:00
David Ungar
a14a87350b
Remove murky reference to Makefile .d dependencies.
2018-06-20 17:24:45 -07:00
swift-ci
9092ac1caf
Merge remote-tracking branch 'origin/master' into master-next
2018-06-20 10:10:28 -07:00
Ellis Hoag
c93a5a5776
Add -debug-info-format=[dwarf|codeview] option ( #16888 )
2018-06-20 09:52:57 -07:00
David Ungar
2824b621a8
Fix comment for ExternalDependencies
2018-06-19 17:04:15 -07:00
Austin Belknap
9d51350ed8
Use an ArrayRef insead of a const reference.
2018-06-19 11:33:45 -07:00
Austin Belknap
f6b5cf5b7c
Further clarify the purpose of "allowsResponseFiles" flag.
2018-06-15 16:14:07 -07:00
Austin Belknap
d71373c95c
Encapsulate the logic for returning a response file or the full arg vector.
2018-06-15 15:16:35 -07:00
Austin Belknap
e65cb234ff
Remove reference to vector in the comment.
2018-06-15 15:15:37 -07:00
David Ungar
8c2f733152
Address review comments.
2018-06-15 14:29:30 -07:00
David Ungar
d2e5239b00
Add sentences clarifying “external” dependencies.
2018-06-15 11:12:25 -07:00
swift-ci
f71dc72e79
Merge remote-tracking branch 'origin/master' into master-next
2018-06-15 10:09:02 -07:00
Jordan Rose
8d43ec3ad7
Merge pull request #17087 from allevato/dwarf-command-line-flags
...
Make DWARF debug flag behavior match Clang.
2018-06-15 09:52:26 -07:00
Bob Wilson
5df3d1f100
Merge remote-tracking branch 'origin/master' into master-next
2018-06-14 20:51:48 -07:00
Graydon Hoare
8be2c53b24
[BatchMode] Add -driver-batch-count to allow overriding batch count inferred by -j
2018-06-14 11:51:31 -07:00
Tony Allevato
0acc73ae4c
Update flag name to -debug-info-store-invocation.
2018-06-12 18:32:35 -07:00
Bob Wilson
b2821e70f9
[master-next] Use new llvm::sys::procid_t type from LLVM r334294
...
Use llvm::sys::procid_t instead of llvm::sys::ProcessInfo::ProcessId.
Patch by Jason Molenda
rdar://problem/41025619
2018-06-12 14:50:29 -07:00
Tony Allevato
22ac700154
Make DWARF debug flag behavior match Clang.
...
Only write the compilation flags to debug info for Mach-O targets, and only
if the RC_DEBUG_OPTIONS environment variable is set.
2018-06-09 20:05:06 -07:00
Robert Widmann
da13d89c24
Move DummyQueue logic into buildTaskQueue
2018-05-29 21:58:27 -07:00
Robert Widmann
d7493dd0fa
[NFC] Expose the TaskQueue as a Compilation Parameter
...
Shuffle the responsibility for creating the TaskQueue out of the
Compilation's internal job state object and into the driver. Expose
a builder convenience function that handles the argument parsing.
2018-05-29 21:58:27 -07:00
Benjamin Herzog
ac10fb3462
[Driver] Added process information to emitted messages
...
When providing the -parseable-output flag to the swift compiler, it will provide json formatted messages about tasks that run.
I added some optional usage information in form of user time, system time and maxrss to the output. This can be used by other tools using the compiler to get some insights about time and memory usage.
Since the output does not longer match processes run (in batch mode), I also added a real_pid field so the client could reason about jobs that belong together if needed.
rdar://39798231
2018-05-25 13:12:57 -07:00
Austin Belknap
2a30e25504
Only keep a "const char*" for the response file argument.
2018-05-18 13:48:09 -07:00
Austin Belknap
fe4f21d3ca
Elaborate on the allowsResponseFiles flag.
2018-05-16 13:42:28 -07:00
Austin Belknap
2b5e3c7adc
Reuse existing string-escaping code, and use raw_fd_ostream.
2018-05-14 10:06:53 -07:00