Commit Graph

1496 Commits

Author SHA1 Message Date
Graydon Hoare
5d08866e56 [Stats] Warn on failure-to-write stats / trace files. 2017-10-05 19:06:06 -04:00
swift-ci
656a4e856e Merge remote-tracking branch 'origin/master' into master-next 2017-10-03 19:49:00 -07:00
Graydon Hoare
0e5b982d25 [Stats] Only use input filename, not mangled path, in stats file name.
This was causing cases of very long input pathnames to be mangled into
stats filenames greater than 255 characters long, which in turn meant
stats files were not being written in some cases.
2017-10-03 17:10:25 -07:00
Graydon Hoare
77554c1ae2 [Stats] Fix typo. 2017-10-03 17:08:50 -07:00
Michael Gottesman
b369760f43 [upstream-update] Add AMDPAL to getPlatformNameForTriple switch. 2017-10-01 23:22:36 -07:00
swift-ci
025f3a5039 Merge remote-tracking branch 'origin/master' into master-next 2017-09-27 11:49:27 -07:00
David Ungar
443ab7d950 git-clang-format 2017-09-26 18:02:35 -07:00
David Ungar
2af86f5cac First compiling run, WIP 2017-09-26 16:07:07 -07:00
Bob Wilson
0276b0f89d Merge remote-tracking branch 'origin/master' into master-next 2017-09-23 10:09:35 -07:00
Graydon Hoare
85dda86130 Merge pull request #12071 from graydon/trace-stats-deltas
Trace stats deltas
2017-09-22 22:25:58 -07:00
swift-ci
a448d28b77 Merge remote-tracking branch 'origin/master' into master-next 2017-09-22 18:09:44 -07:00
Calvin Hill
aee81d272f Add Initial platform support for Haiku. (#11583) 2017-09-22 21:06:56 -04:00
Graydon Hoare
205f725d6e [stats] Add UnifiedStatsReporter::FrontendStatsTracer 2017-09-22 19:15:34 -04:00
Graydon Hoare
7e1cf168a8 [stats] Factor out UnifiedStatsReporter fields to a .def file 2017-09-22 02:01:06 -04:00
swift-ci
60cf68ee6b Merge remote-tracking branch 'origin/master' into master-next 2017-09-12 14:30:14 -07:00
swift-ci
ad59688523 Merge remote-tracking branch 'origin/master' into master-next 2017-09-12 13:10:30 -07:00
Xi Ge
87ce54e3f2 Re-apply "Paser: IfConfigDecl should reflect the underlying source. rdar://34315827" 2017-09-12 12:59:25 -07:00
Xi Ge
2a07534bc1 Revert "Paser: IfConfigDecl should reflect the underlying source. rdar://34315827"
For test failure witnessed in bots: https://ci.swift.org/job/oss-swift-incremental-RA-osx/462/
2017-09-12 12:49:02 -07:00
swift-ci
ccedf5316f Merge remote-tracking branch 'origin/master' into master-next 2017-09-12 12:09:55 -07:00
Xi Ge
bfe6a64708 Paser: IfConfigDecl should reflect the underlying source. rdar://34315827 2017-09-12 11:58:49 -07:00
swift-ci
546836ceff Merge remote-tracking branch 'origin/master' into master-next 2017-09-11 15:08:53 -07:00
Alex Hoppen
1c7e289b96 [Mangling] Adjust subscript mangling to not include "subscript"
Change the mangling of accessors to have a variable or subscript node
as their only child node, while subscript nodes no longer contain a decl
name.
2017-09-10 19:44:07 +02:00
swift-ci
f0fb66b5e6 Merge remote-tracking branch 'origin/master' into master-next 2017-08-30 20:49:04 -07:00
Robert Widmann
75a83da03e Implement SE-0075: CanImport
This implementation required a compromise between parser
performance and AST structuring.  On the one hand, Parse
must be fast in order to keep things in the IDE zippy, on
the other we must hit the disk to properly resolve 'canImport'
conditions and inject members of the active clause into the AST.
Additionally, a Parse-only pass may not provide platform-specific
information to the compiler invocation and so may mistakenly
activate or de-activate branches in the if-configuration decl.

The compromise is to perform condition evaluation only when
continuing on to semantic analysis.  This keeps the parser quick
and avoids the unpacking that parse does for active conditions
while still retaining the ability to see through to an active
condition when we know we're moving on to semantic analysis anyways.
2017-08-28 18:35:06 -04:00
swift-ci
433a3c3dac Merge remote-tracking branch 'origin/master' into master-next 2017-08-24 14:49:47 -07:00
Graydon Hoare
f236ee6278 Merge pull request #11570 from graydon/slocps
Add NumSourceLines{,PerSecond} counters, fix SourceFile counters for WMO mode
2017-08-24 14:44:47 -07:00
swift-ci
e18086beb5 Merge remote-tracking branch 'origin/master' into master-next 2017-08-24 10:30:27 -07:00
David Ungar
c3e3d45396 Instrument NominalTypeDecl::lookupDirect
Also implement RecursiveSharedTimer
2017-08-23 14:53:53 -07:00
Graydon Hoare
fecffc9c8b [Stats] Add NumSourceLines{,PerSecond} counters. 2017-08-22 16:39:00 -07:00
swift-ci
716b7c6907 Merge remote-tracking branch 'origin/master' into master-next 2017-08-18 17:49:41 -07:00
Ewa Matejska
1272cd3aac Making master call itself 4.1, updating the swift 3 compatiblity mode to be 3.3 (from 3.2), adding ability to pass swift-version 5. Importer work not done yet. 2017-08-17 20:57:01 -07:00
Bob Wilson
213965b629 [master-next] Reapply change to remove Bitrig platform.
This reverts commit 35cbd7e847.
2017-08-03 17:11:42 -07:00
Bob Wilson
35cbd7e847 Roll-back part of master-next change 63a9943a46
The swift-4.1-branch of LLVM still has the Bitrig platform.
2017-08-03 14:12:37 -07:00
Jordan Rose
63a9943a46 Trivial updates for upstream LLVM changes.
- BitRig is gone
- llvm::enumerate's element type now uses methods instead of fields

No intended functionality change.
2017-07-25 14:11:03 -07:00
swift-ci
0a5ee4200a Merge remote-tracking branch 'origin/master' into master-next 2017-07-24 12:48:50 -07:00
Michael Ilseman
f88fb9a97a Be a little more permissive in emoji grapheme literals.
The user experience with extended grapheme literals is currently:

1. Strict: we hard error on "invalid" grapheme literals.

2. Complete: we validate all literals to either be
known-single-grapheme or not.

3. Incorrect: we have Unicode 8 semantics implemented but applications
will have some other version of Unicode as dictated by the OS they are
running on.

In Swift 4.0, this incorrectness mostly crops up in obscure corner
case areas, where we are overly restrictive in some ways and overly
relaxed in others. But, there is one particularly embarrassing area
where it does come up: we reject emoji introduced after Unicode 8 as
grapheme literals, counter to common user expectations.

In a future (sub-)version of Swift we should completely re-evaluate
this user story, but doing so in time for Swift 4.0 is untenable. This
patch attempts to tweak the way in which we are incorrect in the most
minimally invasive way possible to preserve the same user experience
while permitting many post-Unicode-8 emoji as valid grapheme literals.

This change overrides processing of ZWJ and emoji modifiers to not
declare a grapheme break after/before, respectively.
2017-07-21 13:33:03 -07:00
swift-ci
ff0d02fda7 Merge remote-tracking branch 'origin/master' into master-next 2017-07-17 12:29:13 -07:00
Jordan Rose
013a63c724 Remove imports of SILModule.h from files that don't need it.
No functionality change.
2017-07-17 11:54:07 -07:00
swift-ci
e98182387b Merge remote-tracking branch 'origin/master' into master-next 2017-07-11 12:23:35 -07:00
Ben Langmuir
4ce33ced0d Fix sys::Cache for ref-counted values which caused memory leaks in SourceKit
Our libcache implementation of swift::sys::Cache was broken for
ref-counted values (which are used by e.g. the SourceKit ASTManager).
It would always `retain(value)` in `set(key, value)`, but under the hood
libcache shares values, so we would only get one `release(value)` if the
same value was used across multiple keys, or if the same value *and* key
were set multiple times.

This was causing us to never release ASTs cached by SourceKit even when
the underlying libcache purged itself under memory pressure.

rdar://problem/21619189
2017-07-06 13:56:58 -07:00
Bob Wilson
951e26323e Add case for Ananas OS to fix warning after LLVM r306237. 2017-07-05 11:56:00 -07:00
Robert Widmann
0cf1b52452 Treat Cygwin as a separate OS
Cygwin is considered a distinct target with a distinct ABI, environment
conditions, and data types.  Though the goal of the project is
native Windows integration with UNIX-likes, that is not compatible with
the idea that the platform can be ignored as Win-like enough to have the
existing os(Windows) condition apply.
2017-06-28 13:31:05 -07:00
Graydon Hoare
7fc8bd270b [Stats] Tidy up stray characters in filenames. 2017-06-02 23:42:38 -07:00
Graydon Hoare
e10f483477 [Stats] Mangle a little more information into the file & timer names.
This helps disambiguate files that might otherwise be hard to sort through
if multiple runs output stats together in a single directory. The names
don't have to be perfect, just contain sufficient hints (and be parseable)
to differentiate module, arch, opt and output-type variation in jobs.
2017-06-02 18:08:31 -07:00
Graydon Hoare
56460309bc [Stats] Add always-on statistic for NumLLVMBytesOutput. 2017-05-31 17:30:40 -07:00
Graydon Hoare
4de8689f38 [Stats] Add always-on statistic for ChildrenMaxRSS. 2017-05-31 17:30:40 -07:00
Erik Eckstein
9f33bc96c8 Mangler: add a beginManglingWithoutPrefix function
Mostly cosmetic, because usually the mangling functions are called only once per mangling instance anyway.
2017-05-24 17:00:18 -07:00
Rintaro Ishizaki
04f31a76c0 Merge pull request #7955 from rintaro/parse-ifconfig-validate
[Parse] Separate compilation condition validation and evaluation
2017-05-16 12:06:31 +09:00
Graydon Hoare
b69a0af48e [Statistics] Scrub non-YAML-clean target names in timers. 2017-05-11 11:54:48 -07:00
Joe Groff
e3e0f440a1 Serialization: Recovery for protocol conformances with changed witness or requirement signatures.
Deserializing a witness record in a conformance may fail if either of the requirement or witness changed name or type, most likely due to SDK modernization changes across Swift versions. When this happens, leave an opaque placeholder in the conformance to indicate that the witness exists but we don't get to see it. For expedience, right now this just witnesses the requirement to itself, so that code in the type checker or elsewhere that tries to ad-hoc devirtualize references to the requirement just gets the requirement back. Arguably, we shouldn't include the witness at all in imported conformances, since they should be an implementation detail, but that's a bigger, riskier change. This patch as is should be enough to address rdar://problem/31185053.
2017-05-09 09:15:04 -07:00