Graydon Hoare
30b6fdce83
Merge pull request #12429 from graydon/named-lazy-member-loading
...
Named lazy member loading 1/N
2017-10-24 14:27:04 -07:00
swift-ci
5b0b7f1200
Merge remote-tracking branch 'origin/master' into master-next
2017-10-20 23:09:00 -07:00
Xi Ge
844aeae2d5
Re-apply "libSyntax: create a basic infrastructure for generating libSyntax entities by using Parser." ( #12538 )
2017-10-20 22:58:28 -07:00
Graydon Hoare
23fba147ee
[NamedLazyMemberLoading] Add counters for success/failure.
2017-10-20 22:48:42 -07:00
Graydon Hoare
6bb5ce3d1e
[NamedLazyMemberLoading] Add -enable-named-lazy-member-loading option
2017-10-20 22:48:42 -07:00
swift-ci
dbc718884f
Merge remote-tracking branch 'origin/master' into master-next
2017-10-20 20:48:57 -07:00
swift-ci
b006d07342
Merge pull request #12294 from anemet/opt-remarks
2017-10-20 20:45:50 -07:00
Adam Nemet
9b9805420d
Add optimization remarks
...
This allows reporting successful and unsuccessful optimizations similar to
clang/llvm.
This first patch adds support for the
options -Rpass=<pass-name-regex> -Rpass-missed=<pass-name-regex>. These allow
reporting successful/unsuccessful optimization on the compiler output for passes
specified by the regex. I've also added one missed and one passed remark type
to the inliner to test the infrastructure.
Clang also has the option of collecting these records in an external YAML data
file. This will be added in a later patch.
A few notes:
* The goal is to use this facility for both user-lever "performance" warnings
and expert-level performance analysis. There will probably be a flag in the
future differentiating the verbosity.
* The intent is match clang/llvm as much as it makes sense. On the other hand I
did make some changes. Unlike in llvm, the emitter is not a pass which
simplifies things. Also the remark class hierarchy is greatly simplified since
we don't derive from DiagnosticInfo. We also don't derive from Diagnostic to
support the streaming API for arbitrary named-value pairs.
* Currently function names are printed mangled which should be fixed.
2017-10-20 12:41:37 -07:00
Greg Parker
48a6b9d464
Revert "libSyntax: create a basic infrastructure for generating libSyntax entities by using Parser."
...
This reverts commit ee7a06276d .
It causes build failures like "'swift/Syntax/SyntaxNodes.h' file not found".
2017-10-19 17:11:48 -07:00
Xi Ge
ee7a06276d
libSyntax: create a basic infrastructure for generating libSyntax entities by using Parser.
2017-10-18 17:02:00 -07:00
swift-ci
d1291cd36a
Merge remote-tracking branch 'origin/master' into master-next
2017-10-16 22:09:22 -07:00
Erik Eckstein
f343659a75
Mangler: add a dump() function for debugging
2017-10-16 17:30:34 -07:00
swift-ci
1c573717a9
Merge remote-tracking branch 'origin/master' into master-next
2017-10-13 17:09:34 -07:00
Graydon Hoare
2d29292157
[Stats] Document counters in include/swift/Basic/Statistics.def
2017-10-13 15:59:36 -07:00
swift-ci
46cd5f99d2
Merge remote-tracking branch 'origin/master' into master-next
2017-10-10 16:29:37 -07:00
Michael Gottesman
a05f4f6666
[stl-extras] Add a range version of std::accumulate.
2017-10-09 13:36:18 -07:00
swift-ci
025f3a5039
Merge remote-tracking branch 'origin/master' into master-next
2017-09-27 11:49:27 -07:00
David Ungar
9f178f57e2
Merge pull request #12137 from davidungar/fixing-radar-34475709
...
Moves formerly statically-allocated RecursiveSharedTimer(s) effectively into ASTContext
2017-09-27 11:38:19 -07:00
swift-ci
9a59d0e479
Merge remote-tracking branch 'origin/master' into master-next
2017-09-27 00:49:24 -07:00
Joe Shajrawi
065d1917c3
if 'count' happens to be UINT64_MAX - set it to UINT64_MAX - 1.
2017-09-26 18:55:22 -07:00
David Ungar
443ab7d950
git-clang-format
2017-09-26 18:02:35 -07:00
David Ungar
7759d3cdda
Clean up
2017-09-26 18:00:42 -07:00
David Ungar
90b456b116
Use if (auto for getting Stats
2017-09-26 17:32:38 -07:00
David Ungar
a41a3c9fa5
compiles using movable guards
2017-09-26 17:22:58 -07:00
David Ungar
2af86f5cac
First compiling run, WIP
2017-09-26 16:07:07 -07:00
Joe Shajrawi
75939510cd
PGO: Use ProfileCounter instead of Optional<uint64_t> to hold profile counts
2017-09-26 13:34:46 -07:00
swift-ci
135a4286b5
Merge remote-tracking branch 'origin/master' into master-next
2017-09-25 10:29:30 -07:00
John McCall
6d9294f565
Random improvements for ArrayRefView.
2017-09-25 02:05:23 -04:00
John McCall
4fdccaf737
Allow IntRange to range over enum values.
2017-09-25 02:05:23 -04: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
e8b0e7a81f
Merge remote-tracking branch 'origin/master' into master-next
2017-09-15 16:49:46 -07:00
Jordan Rose
82fa3627a8
Merge pull request #11867 from jrose-apple/ClangImporter-episode-V
...
[ClangImporter] Support Swift 5 API notes
2017-09-15 16:34:27 -07:00
Jordan Rose
9a04bee421
[ClangImporter] Turn ImportNameVersion into a struct.
...
...so that we don't have to keep coming back to update it every major
release. And also so we can actually put methods on it instead of
using free functions.
No intended behavior change (yet).
2017-09-15 14:30:24 -07:00
swift-ci
b51e2e6837
Merge remote-tracking branch 'origin/master' into master-next
2017-09-15 13:29:49 -07:00
Joe Groff
2ba8f57514
Remove staging flag for unimplemented key path components.
...
All the originally-planned component kinds are now implemented.
2017-09-15 11:55:35 -07: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
Michael Gottesman
7248221d40
[stl-extras] Provide next_or_default and prev_or_default helpers for iterators.
...
These work like next_or_end or prev_or_begin, except that instead of forcing the
default value to be the compared against the value, you can specify the value
used upon going out of range.
i.e., instead of:
(x, y) -> (x == y) ? y : std::next(x)
We have:
(x, y, z) -> (x == y) ? z : std::next(x)
This is a strict generalization of next_or_end and prev_or_begin so I
re-implemented both routines in terms of the new routines, so no source needed
to be updated.
2017-09-09 16:23:12 -07:00
swift-ci
15b9edafa8
Merge remote-tracking branch 'origin/master' into master-next
2017-09-08 16:08:58 -07:00