Karoy Lorentey
68351d2110
Revert "Merge remote-tracking branch 'origin/master-next'"
...
This reverts commit 1c9b0908e6 , reversing
changes made to 3eb82c1836 .
2020-06-08 16:48:38 -07:00
Karoy Lorentey
1c9b0908e6
Merge remote-tracking branch 'origin/master-next'
...
# Conflicts:
# include/swift/Frontend/FrontendInputsAndOutputs.h
2020-06-08 16:43:40 -07:00
Saleem Abdulrasool
71309a8fa9
Revert "[LTO] Support LLVM level link time optimization on Darwin, Linux and Windows"
2020-06-07 11:25:48 -07:00
Doug Gregor
64f903fe2a
[Type checker] Experimental support for one-way parameter constraints.
...
Introduce an experimental mode (behind the flag
`experimental-one-way-closure-params`) that places one-way
constraints between closure parameter types and references to those
parameters within the body of the closure. The intent here is to
break up constraint systems further, potentially improving type
checking performance and making way for larger closure bodies to be
supported.
This is a source-breaking change when the body of a single-expression
closure is used to determine the parameter types. One obvious example
is when there is no contextual type, e.g.,
let _ = { $0 + 1 }
this type-checks today because `1` becomes `Int`, which matches the
`+` overload with the type `(Int, Int) -> Int`, determining the
parameter type `Int` for the closure. Such code would not type-check
with one-way constraints.
2020-06-05 22:47:21 -07:00
Saleem Abdulrasool
d0131ba6be
Merge pull request #31146 from kateinoigakukun/katei/enable-lang-agnostic-lto
...
[LTO] Support LLVM level link time optimization on Darwin, Linux and Windows
2020-06-05 11:38:09 -07:00
Arnold Schwaighofer
3f903b4891
Merge pull request #31986 from aschwaighofer/irgen_inherit_clangs_fp_elim
...
IRGen: Default to clang's frame pointer elimination settings
2020-06-03 07:38:24 -07:00
Xi Ge
0d74428575
Front-end: use separate flag for -swift-module-file instead of EQ
2020-06-02 16:51:45 -07:00
Xi Ge
01c18d01c1
Frontend: move ExplicitSwiftModules into SearchPathOptions, NFC
2020-06-02 16:51:45 -07:00
Xi Ge
9e88549199
ModuleInterface: teach module interface building to use explicitly built PCMs
2020-06-02 16:51:45 -07:00
Yuta Saito
915c4a6997
[LTO] Support LLVM level link time optimization
...
This commit adds -lto flag for driver to enable LTO at LLVM level.
When -lto=llvm given, compiler emits LLVM bitcode file instead of object
file and perform thin LTO using libLTO.dylib plugin.
When -lto=llvm-full given, perform full LTO instead of thin LTO.
2020-05-31 08:12:52 +09:00
Arnold Schwaighofer
20f4ef93de
IRGen: Default to clang's frame pointer elimination settings
...
Clang provides options to override that default value.
These options are accessible via the -Xcc flag.
Some Swift functions explicitly disable the frame pointer.
The clang options will not override those.
2020-05-28 12:21:42 -07:00
swift_jenkins
0b2d4f6963
Merge remote-tracking branch 'origin/master' into master-next
2020-05-27 20:38:47 -07:00
Owen Voorhees
e40e86fc94
Merge pull request #32017 from owenv/diag-style-opt
...
[Diagnostics] Add -diagnostic-style=(llvm|swift) to control printed output
2020-05-27 20:22:23 -07:00
swift_jenkins
6af6576725
Merge remote-tracking branch 'origin/master' into master-next
2020-05-23 09:58:24 -07:00
Hamish Knight
9e2cdf49b3
Merge pull request #31506 from hamishknight/hello-operator
2020-05-23 09:48:21 -07:00
swift_jenkins
170896de1e
Merge remote-tracking branch 'origin/master' into master-next
2020-05-22 16:39:06 -07:00
Arnold Schwaighofer
109813ffe5
Add option to disable leaf frame pointer elimination
2020-05-21 13:19:24 -07:00
Owen Voorhees
c4e67e29ed
[Diagnostics] Add -diagnostic-style=(llvm|swift) to control printed output
...
This default formatting style remains the same "LLVM style". "Swift style"
is what was previously enabled via -enable-experimental-diagnostic-formatting
2020-05-20 19:34:15 -05:00
swift_jenkins
df9ba33d11
Merge remote-tracking branch 'origin/master' into master-next
2020-05-19 11:39:09 -07:00
Robert Widmann
4c5d87e07c
[Gardening] Move options setup code into argument parsing
2020-05-18 22:49:22 -07:00
Hamish Knight
54df0a4e8d
[Frontend] Add flag to enable new operator lookup
...
For now disabled by default, but once we get a new
language mode, we should flip it on by default.
2020-05-18 14:33:42 -07:00
swift_jenkins
10e1981971
Merge remote-tracking branch 'origin/master' into master-next
2020-05-13 13:37:47 -07:00
Robert Widmann
52ddcea0d2
Diagnose Building SwiftONoneSupport with -experimental-skip-function-bodies
...
This allows us to push the validation and, importantly, the mutation of this flag into the compiler invocation where it belongs.
2020-05-13 09:13:44 -07:00
Robert Widmann
eac92e3df0
[NFC] Const-Qualify LangOptions Accesses Through ASTContext
2020-05-13 09:13:44 -07:00
swift_jenkins
b89b233b2e
Merge remote-tracking branch 'origin/master' into master-next
2020-05-07 14:19:21 -07:00
Hamish Knight
72bb47ee90
[Frontend] Remove InputFileKind::SwiftREPL
2020-05-07 11:00:02 -07:00
swift_jenkins
8069dd1be9
Merge remote-tracking branch 'origin/master' into master-next
2020-05-07 08:20:47 -07:00
Slava Pestov
b81c0d63d1
AST: Remove SourceFileKind::REPL
2020-05-07 02:04:05 -04:00
swift_jenkins
2af7cfcffe
Merge remote-tracking branch 'origin/master' into master-next
2020-05-05 16:18:50 -07:00
Robert Widmann
b06211eac4
Initial plumbing for private dependencies
...
Add a mode bit to the dependency collector that respects the frontend flag in the previous commit.
Notably, we now write over the dependency files at the end of the compiler pipeline when this flag is on so that dependency from SILGen and IRGen are properly written to disk.
2020-05-05 13:48:25 -07:00
swift_jenkins
4dc2e3c785
Merge remote-tracking branch 'origin/master' into master-next
2020-04-29 17:59:15 -07:00
Slava Pestov
368d47429d
Frontend: Remove coarse-grained dependency graph implementation
2020-04-29 16:55:53 -04:00
swift_jenkins
9a852c7116
Merge remote-tracking branch 'origin/master' into master-next
2020-04-28 19:58:43 -07:00
Hamish Knight
b78f47490a
Move AST transforms out of the Frontend
...
Move the playground and debugger transforms out
of the Frontend and into `performTypeChecking`, as
we'd want them to be applied if
`performTypeChecking` was called lazily.
2020-04-28 14:44:17 -07:00
swift_jenkins
1b8e500e16
Merge remote-tracking branch 'origin/master' into master-next
2020-04-22 15:57:30 -07:00
Robert Widmann
78e07c1d41
Merge pull request #31159 from CodaFi/track-star
...
Remove Fallback Infrastructure For Evaluator-Based Dependencies
2020-04-22 15:37:48 -07:00
swift_jenkins
537100831f
Merge remote-tracking branch 'origin/master' into master-next
2020-04-20 12:57:17 -07:00
Doug Gregor
c59abcd543
Merge pull request #31154 from DougGregor/restrict-simulator-inference
...
[Darwin] Restrict inference of the simulator environment
2020-04-20 12:54:37 -07:00
Robert Widmann
5b22910830
Remove Fallback Infrastructure For Evaluator-Based Dependencies
2020-04-20 10:36:29 -07:00
Doug Gregor
b63e9a6bcf
[Frontend] Infer simulator environment in the frontend, too.
...
Some code paths that see target triples go through the frontend
without seeing the driver. Therefore, perform the same "simulator"
inference for x86 iOS/tvOS/watchOS triples also in the frontend,
to ensure that we remain compatible. Also make sure that
-print-target-info performs the appropriate adjustment.
2020-04-20 08:50:35 -07:00
swift_jenkins
e44d529e6b
Merge remote-tracking branch 'origin/master' into master-next
2020-04-20 08:37:18 -07:00
Artem Chikin
c11f013101
Merge pull request #31099 from artemcm/NoWarningsAsErrorsOption
...
Add compiler option to *disable* warnings-as-errors
2020-04-20 08:35:53 -07:00
swift_jenkins
c2672fe6e9
Merge remote-tracking branch 'origin/master' into master-next
2020-04-19 23:58:17 -07:00
Robert Widmann
37f016b802
[NFC] Formalize isModuleExternallyConsumed
...
Yank this parameter and document the historical scope creep of this value.
2020-04-19 21:46:59 -07:00
swift_jenkins
9458dc803c
Merge remote-tracking branch 'origin/master' into master-next
2020-04-19 18:18:29 -07:00
Saleem Abdulrasool
fbbf61f297
Revert "[Darwin] Further restrict inference of the simulator environment"
2020-04-19 16:43:22 -07:00
swift_jenkins
1acb641f2c
Merge remote-tracking branch 'origin/master' into master-next
2020-04-17 21:17:31 -07:00
Doug Gregor
22cdddd84e
Merge pull request #30771 from DougGregor/stop-inferring-simulator
...
[Darwin] Further restrict inference of the simulator environment
2020-04-17 20:59:39 -07:00
swift_jenkins
1df751a7db
Merge remote-tracking branch 'origin/master' into master-next
2020-04-17 15:17:29 -07:00
Joe Groff
948372b87c
Merge pull request #31087 from jckarter/compatibility-51
...
Start a Compatibility51 library for backporting fixes to Swift 5.1 runtimes
2020-04-17 15:06:50 -07:00