Commit Graph

63857 Commits

Author SHA1 Message Date
swift-ci
bc76ac0f50 Merge remote-tracking branch 'origin/master' into master-next 2017-12-20 14:49:53 -08:00
swift-ci
02cabf1345 Merge pull request #13551 from lattner/nfc-sil-cleanups2 2017-12-20 14:42:55 -08:00
swift-ci
8f61293c61 Merge remote-tracking branch 'origin/master' into master-next 2017-12-20 13:49:48 -08:00
swift-ci
093630da8c Merge pull request #13543 from xedin/update-manglig-doc 2017-12-20 13:34:42 -08:00
swift-ci
ed90c325b5 Merge remote-tracking branch 'origin/master' into master-next 2017-12-20 13:09:47 -08:00
Pavel Yaskevich
98db9d01b7 [Mangling/ABI] NFC: Update ABI/Mangling.rst to reflect parameter label changes 2017-12-20 13:02:18 -08:00
Pavel Yaskevich
2011266eed Merge pull request #13558 from xedin/rdar-36156055
[SILGen] NFC: Fix expected mangling in the default_arguments test-case
2017-12-20 12:56:19 -08:00
swift-ci
f4a551c03c Merge remote-tracking branch 'origin/master' into master-next 2017-12-20 12:49:47 -08:00
swift-ci
2db86c65e3 Merge pull request #13557 from davezarzycki/nfc_more_expr_tail_allocs3 2017-12-20 12:39:39 -08:00
swift-ci
e6ff944b08 Merge remote-tracking branch 'origin/master' into master-next 2017-12-20 12:29:50 -08:00
swift-ci
bc422e449a Merge pull request #13559 from moiseev/less-noize 2017-12-20 12:17:23 -08:00
Max Moiseev
2aa3583e1f [tests] Remove unnecessary test output 2017-12-20 11:22:54 -08:00
Pavel Yaskevich
2accb67579 [SILGen] NFC: Fix expected mangling in the default_arguments test-case 2017-12-20 11:17:55 -08:00
David Zarzycki
37ff003517 [AST] NFC: ErrorType is effectively 'final'
The ErrorType optionally tail allocates the original type, therefore it
is 'final'.
2017-12-20 09:35:15 -05:00
David Zarzycki
362d801472 [AST] NFC: Tail allocate CaptureListExpr entries 2017-12-20 09:35:15 -05:00
David Zarzycki
5a4e96fcc2 [AST] NFC: Tail allocate UnresolvedSpecializeExpr TypeLocs 2017-12-20 09:35:15 -05:00
David Zarzycki
dbb421ba95 [AST] NFC: Tail allocate ErasureExpr conformances 2017-12-20 09:35:15 -05:00
David Zarzycki
3c128f3892 [AST] NFC: Minor performance tuning
1) Make AnyFunctionType::getParams() inline friendly (it compiles down
   to just a few instructions).
2) Byte align/size the embedded number of AnyFunctionType parameters.
   This was set to 10 bits back when the inline bitfields were 32 bits
   in size. Now with 64 bits to play with, we have room to spare.
2017-12-20 09:35:15 -05:00
Chris Lattner
0c6e0c25a1 Two NFC changes:
- Add a DominanceInfo::dominates helper functions that takes two instructions,
  as analogues to the properlyDominates ones.
- Further generalize some SILBuilder code to be more defensive in the face
  of incorrect or partially constructed SIL instructions.

These are cleanups, NFC.
2017-12-19 20:18:24 -08:00
swift-ci
b19045a81a Merge remote-tracking branch 'origin/master' into master-next 2017-12-19 17:09:50 -08:00
Max Moiseev
d4359b83c7 Merge pull request #12819 from moiseev/filtermap
[stdlib] Introduce compactMap and deprecate one flatMap variant
swift-DEVELOPMENT-SNAPSHOT-2017-12-20-a
2017-12-19 17:06:32 -08:00
swift-ci
4be14da2c0 Merge pull request #13542 from moiseev/flatten-tests 2017-12-19 16:53:15 -08:00
swift-ci
67df4b62fd Merge remote-tracking branch 'origin/master' into master-next 2017-12-19 16:09:50 -08:00
Michael Gottesman
1209592421 Merge pull request #13536 from gottesmm/rdar_36032876
In SILCodeMotion, be sure to invalidate global enum tag dataflow state when deleting instructions
2017-12-19 16:09:16 -08:00
swift-ci
8b379cae0a Merge remote-tracking branch 'origin/master' into master-next 2017-12-19 15:49:55 -08:00
swift-ci
ed1db5f73f Merge pull request #13540 from DougGregor/infer-from-concrete-sr-6640 2017-12-19 15:36:42 -08:00
swift-ci
0c437220a1 Merge remote-tracking branch 'origin/master' into master-next 2017-12-19 15:09:51 -08:00
Bob Wilson
147cfd0549 master-next: update to match LLVM r320996
The YAML mustQuote function now returns an enum instead of a bool.
2017-12-19 15:06:40 -08:00
Max Moiseev
f5e93f63e9 [tests] Add conformance tests for FlattenSequence/FlattenCollection 2017-12-19 14:58:25 -08:00
swift-ci
4ffbd12635 Merge pull request #13355 from xwu/lilliput-and-blefuscu 2017-12-19 14:52:32 -08:00
swift-ci
d782c18cff Merge remote-tracking branch 'origin/master' into master-next 2017-12-19 14:29:52 -08:00
Doug Gregor
f26d794495 [Conformance checking] Allow same-type constraints to infer associated types.
When a protocol closes off an associated type by tying it to a concrete
type (e.g., via a same-type constraint), allow associated type inference
to use that information to infer the associated type rather than
requiring the user to restate the obvious.

Fixes SR-6640.
2017-12-19 14:28:20 -08:00
Joe Shajrawi
20e291d399 Merge pull request #13535 from shajrawi/merge15
Lower the FunctionMergeThreshold from 30 to 15
2017-12-19 14:24:37 -08:00
swift-ci
6dd9ff7142 Merge remote-tracking branch 'origin/master' into master-next 2017-12-19 13:49:50 -08:00
Devin Coughlin
88232d6e3b [Exclusivity] Look through block arguments to find noescape closures (#13497)
Update static enforcement to look through noescape blocks to find an underlying
noescape closure when a closure is converted to a block and passed as an
argument to a function. This fixes a false negative when the closure performs
an access that conflicts with an already in-progress access.

These new diagnostics are warnings for source compatibility but will
be upgraded to errors in the future.

rdar://problem/32912660
2017-12-19 13:38:09 -08:00
swift-ci
cb941b154b Merge remote-tracking branch 'origin/master' into master-next 2017-12-19 13:30:00 -08:00
swift-ci
bd764ec848 Merge pull request #13537 from nkcsgexi/lib-syntax-pattern-binding-decl 2017-12-19 13:17:37 -08:00
David Zarzycki
af0ed2339b Merge pull request #13533 from davezarzycki/nfc_repack_expr_nodes
NFC: More Expr node layout optimization
2017-12-19 16:16:30 -05:00
Doug Gregor
a55adb2622 [Standard library] Remove extraneous associated type defaults.
These are no longer required by associated type inference.
2017-12-19 13:03:51 -08:00
Doug Gregor
82a8833ab0 [Associated type inference] Use defaults from overridden associated types.
During associated type inference, also look for default associated type
witnesses from overridden associated types, so that one need not
redeclare default associated types at every level in a protocol hierarchy.
2017-12-19 13:03:29 -08:00
Xi Ge
e0d167f1dd libSyntax: create syntax nodes for variable declarations.
Variable declarations are declarations led by either 'var' or 'let'. It
can contain multiple pattern bindings as children.

For patterns, this patch only creates syntax nodes for simple identifier
patterns, e.g. 'a = 3'. The rest of the pattern kinds are still left
unknown (UnknownPattern).
2017-12-19 12:25:51 -08:00
swift-ci
fc7b986bab Merge remote-tracking branch 'origin/master' into master-next 2017-12-19 12:09:06 -08:00
Slava Pestov
476e41a4fc Merge pull request #13530 from slavapestov/class-resilience-part-7
Class resilience part 7
2017-12-19 11:51:52 -08:00
swift-ci
18fea54dd3 Merge remote-tracking branch 'origin/master' into master-next 2017-12-19 11:29:13 -08:00
Michael Gottesman
af8d9b8c78 [silcodemotion] Instead of storing enum values directly into the block state structures, use a global "blotable" store to allow for invalidation without touching potentially free-ed pointers. Fix up all of the places where we violate this invariant.
rdar://36032876
2017-12-19 11:20:59 -08:00
Joe Shajrawi
91d763e5ac Lower the FunctionMergeThreshold from 30 to 15 2017-12-19 11:20:33 -08:00
swift-ci
adf83617ec Merge pull request #13526 from DougGregor/remove-conditional-conformances-flag 2017-12-19 11:17:44 -08:00
swift-ci
4a31d01a00 Merge remote-tracking branch 'origin/master' into master-next 2017-12-19 11:09:52 -08:00
Michael Gottesman
269c5e86cd [silcodemotion] Now that we have sunk the context into each block state, we do not need to pass in the context to any routines on the block state.
rdar://36032876
2017-12-19 10:55:36 -08:00
Pavel Yaskevich
d3cd61d8eb Merge pull request #13291 from xedin/rdar-34920390
[Mangling/ABI] Mangle function names with parameter labels
2017-12-19 10:50:18 -08:00