Commit Graph

3168 Commits

Author SHA1 Message Date
swift-ci
32094e9d34 Merge remote-tracking branch 'origin/master' into master-next 2017-04-28 14:48:32 -07:00
Slava Pestov
3130c3cbd7 AST: Remove an overload of GenericSignature::getSubstitutions() 2017-04-28 13:26:02 -07:00
swift-ci
eb6f0906c2 Merge remote-tracking branch 'origin/master' into master-next 2017-04-28 12:08:34 -07:00
Roman Levenstein
1731250dac [sil-open-archetypes-tracker] Add type dependent operands to more instructions
The following instructions were enhanced with type dependent operands:
- convert_function
- pointer_to_thin_function
- upcast_inst
- thin_to_thick_function

Fixes rdar://31879356
2017-04-28 09:35:06 -07:00
swift-ci
cdde06ac25 Merge remote-tracking branch 'origin/master' into master-next 2017-04-27 15:56:02 -07:00
swift-ci
962c71a2f1 Merge pull request #9056 from atrick/access 2017-04-26 18:10:28 -07:00
Andrew Trick
e8b0947897 [Exclusivity] Allow testing the -Onone pipeline with access markers.
Markers are always eliminated before -O passes.

At -Onone, markers can be enabled via command line for all -Onone passes.
2017-04-26 17:32:48 -07:00
Michael Gottesman
e11daa8ddf [upstream-update] Do not use succ_iterator in GraphTraits. Use succblock_iterator instead.
rdar://31790907
2017-04-26 16:50:57 -07:00
swift-ci
b853412307 Merge pull request #9037 from gottesmm/small_succ_updates 2017-04-26 14:03:15 -07:00
Michael Gottesman
913920c93b [sil] Rename SILSuccessorIterator -> SILSuccessor::pred_iterator.
This iterator is not actually a SILSuccessorIterator since it is not iterating
over the "successors" of a block. Instead it is used to given the head of a CFG
edge, iterate over the CFG edge's predecessors using the double linked list
stored inside SILSuccessor.

This rename/refactor ties SILSuccessor closer to SILSuccessorIterator and makes
it clear what we are actually iterating over.
2017-04-26 13:32:59 -07:00
John McCall
338825e73d Fix the emission of r-value pointer conversions to delay the
conversions and extend lifetimes over the call.

Apply this logic to string-to-pointer conversions as well as
array-to-pointer conversions.

Fix the AST verifier to not blow up on optional pointer conversions,
and make sure we SILGen them correctly.  There's still an AST bug
here, but I'll fix that in a follow-up patch.
2017-04-26 14:15:44 -04:00
practicalswift
ff827e0455 [gardening] Fix recently introduced typos 2017-04-25 21:03:44 +02:00
practicalswift
4ef5c6d840 [gardening] Remove unused variables 2017-04-25 21:03:41 +02:00
Roman Levenstein
53745e61cf Merge pull request #8961 from swiftix/open-archtypes-tracker-fixes
[sil-opened-archetype-tracker] Improve tracking of archetypes in SILBuilder
2017-04-24 13:52:51 -07:00
Roman Levenstein
202de40f05 [sil-opened-archetype-tracker] Improve tracking of archetypes in SILBuilder
Fixes rdar://problem/31749245
2017-04-24 08:50:55 -07:00
swift-ci
41d1fde57d Merge remote-tracking branch 'origin/master' into master-next 2017-04-24 08:48:39 -07:00
Andrew Trick
48ecd6d563 [Exclusivity] Enable SILGen access marker emission by default.
This has no measurable effect on benchmarks and does not affect
standard library compile time.
2017-04-24 08:32:15 -07:00
swift-ci
cce9eb4f8d Merge remote-tracking branch 'origin/master' into master-next 2017-04-23 01:48:58 -07:00
John McCall
7b7f23ab33 Merge pull request #8945 from rjmccall/unpaired-accesses
Add unpaired access marker instructions for materializeForSet
2017-04-23 04:35:00 -04:00
swift-ci
a0056b34ff Merge remote-tracking branch 'origin/master' into master-next 2017-04-22 21:48:40 -07:00
Roman Levenstein
a60e037c48 Revert "[sil-opened-archetype-tracker] Improve tracking of archetypes in SILBuilder" 2017-04-22 20:41:31 -07:00
John McCall
978f0e05fe Add unpaired access marker instructions and use them to implement
dynamic access tracking in materializeForSet.
2017-04-22 22:52:13 -04:00
John McCall
255cc7fe14 Implement identity comparison correctly for begin_access/end_access. 2017-04-22 19:40:06 -04:00
John McCall
562a487452 Don't try to verify that the input to begin_access is a specific
kind of instruction; it won't work for inouts after optimization.
2017-04-22 19:38:03 -04:00
swift-ci
3b9c84a30c Merge remote-tracking branch 'origin/master' into master-next 2017-04-22 11:48:31 -07:00
Roman Levenstein
33c8bde859 [sil-opened-archetype-tracker] Improve tracking of archetypes in SILBuilder
Fixes rdar://problem/31749245
2017-04-22 10:03:37 -07:00
swift-ci
4ef7b46971 Merge remote-tracking branch 'origin/master' into master-next 2017-04-21 18:08:32 -07:00
Joe Groff
3d178be169 Merge pull request #8875 from jckarter/keypaths
Keypaths
2017-04-21 17:51:17 -07:00
swift-ci
94a4e5f9e7 Merge remote-tracking branch 'origin/master' into master-next 2017-04-21 17:48:32 -07:00
Joe Groff
d5cdf658da KeyPaths: Generate _kvcKeyPathString for ObjC-compatible keypaths. 2017-04-21 16:56:17 -07:00
Roman Levenstein
8f39486bd7 Bugfix: alloc_ref object type may contain open archetypes that need to be tracked.
Fixes rdar://problem/31758765
2017-04-21 16:09:34 -07:00
Roman Levenstein
ae5effbf2f [sil-opened-archetypes-tracker] Add helper methods for dumping the state 2017-04-21 16:07:36 -07:00
swift-ci
8932679fa1 Merge remote-tracking branch 'origin/master' into master-next 2017-04-20 13:08:31 -07:00
practicalswift
c79af78a7f Merge pull request #8878 from practicalswift/gardening-20170420
[gardening] Remove unused diagnostics. Fix end of namespace comments. Match parameter name. Use override as appropriate.
2017-04-20 21:52:15 +02:00
swift-ci
6225602e62 Merge remote-tracking branch 'origin/master' into master-next 2017-04-20 11:28:53 -07:00
Erik Eckstein
d4db9b8099 SILPrinter: make the printing of debug info optional.
With the option -sil-print-debuginfo the printing of debug locations and scopes can be enabled.

I made the default for the option “false”, because in 99% of the time I don’t need the debug info in the printed SIL and I prefer better readability.
2017-04-20 09:18:08 -07:00
practicalswift
431e5a1440 [gardening] Use consistent end of namespace comments 2017-04-20 13:47:10 +02:00
swift-ci
faa74d7167 Merge remote-tracking branch 'origin/master' into master-next 2017-04-20 01:48:41 -07:00
Slava Pestov
f4b91cd118 AST: Remove unused 'resolver' argument from TypeBase::getSuperclass() 2017-04-20 00:37:38 -07:00
Joe Groff
517c45aa3d Followups from merging master 2017-04-19 20:58:52 -07:00
Joe Groff
595e0e4ede Merge branch 'master' into keypaths 2017-04-19 18:38:24 -07:00
Joe Groff
a6cd471c2b IRGen/stdlib: Instantiate non-generic computed key path components. 2017-04-18 21:51:12 -07:00
swift-ci
ba7c79d042 Merge remote-tracking branch 'origin/master' into master-next 2017-04-18 17:08:43 -07:00
Jordan Rose
e88e93cabf Use PrettyStackTrace to say /which/ SIL function already exists. 2017-04-18 16:23:37 -07:00
swift-ci
4a9a70f495 Merge remote-tracking branch 'origin/master' into master-next 2017-04-18 14:08:30 -07:00
practicalswift
a41a501c56 Merge pull request #8835 from practicalswift/gardening-20170418
[gardening] Fix URLs. Fix spacing. Remove unused methods. Fix headers.
2017-04-18 22:59:00 +02:00
Joe Groff
4522cd09aa SILGen: Tweak key path computed property lowering to produce a consistent runtime-callable ABI. 2017-04-18 11:44:39 -07:00
swift-ci
ae1eb1197c Merge remote-tracking branch 'origin/master' into master-next 2017-04-18 11:08:33 -07:00
John McCall
7a4c761426 Merge pull request #8821 from rjmccall/dynamic-enforcement-vol-1
Basic dynamic enforcement of exclusivity
2017-04-18 13:57:54 -04:00
practicalswift
a029589093 [gardening] Use consistent headers 2017-04-18 19:51:08 +02:00