Commit Graph

16 Commits

Author SHA1 Message Date
Hamish Knight
8e84e6a50d [docs] Update RequestEvaluator.md
The request evaluator is no longer new, and we've since implemented
per-request caching.
2025-09-12 20:39:58 +01:00
LamTrinh.Dev
b6239b8cee [docs] Update links to repositories moved to https://github.com/swiftlang/ 2024-07-22 12:22:43 -07:00
Anthony Latsis
978db47337 Evaluator: Improve -debug-cycles output 2021-02-09 17:01:24 +03:00
Robert Widmann
2d09bc3fb0 Merge pull request #34181 from regexident/fix-docs-link-to-rust
Fixed docs link to Rust's demand-driven compilation guide
2020-10-06 09:14:35 -07:00
Vincent Esche
6ab35727cf Fixed docs link to Rust's demand-driven compilation guide 2020-10-05 15:00:47 +02:00
Mishal Shah
40024718ac Update doc and links to support new main branch 2020-09-22 23:53:29 -07:00
Robert Widmann
48651cae07 [Gardening] Improve Overview of Evaluator-Based Incremental Dependencies 2020-05-01 18:33:09 -07:00
Robert Widmann
8c69814f5c Define Dependency Sinks
Convert most of the name lookup requests and a few other ancillary typechecking requests into dependency sinks.

Some requests are also combined sinks and sources in order to emulate the current scheme, which performs scope changes based on lookup flags. This is generally undesirable, since it means those requests cannot immediately be generalized to a purely context-based scheme because they depend on some client-provided entropy source. In particular, the few callers that are providing the "known private" name lookup flag need to be converted to perform lookups in the appropriate private context.

Clients that are passing "no known dependency" are currently considered universally incorrect and are outside the scope of the compatibility guarantees. This means that request-based dependency tracking registers strictly more edges than manual dependency tracking. It also means that once we fixup the clients that are passing "known private", we can completely remove these name lookup flags.

Finally, some tests had to change to accomodate the new scheme. Currently, we go out of our way to register a dependency edge for extensions that declare protocol conformances. However, we were also asserting in at least one test that extensions without protocol conformances weren't registering dependency edges. This is blatantly incorrect and has been undone now that the request-based scheme is automatically registering this edge.
2020-03-31 16:16:53 -07:00
Robert Widmann
b5dc4233c7 [Gardening] Strike an Acchieved Request Evaluator Goal
ActiveRequest currently solves the on-stack request problem quite
handily.
2020-03-27 19:11:26 -07:00
Doug Gregor
6418749ccd [Docs] Remove some irrelevant "open projects" for the request-evaluator 2019-07-10 17:28:14 -07:00
Graydon Hoare
4fcdbaccd0 [Docs] Remove FrontendStatsTracer task from request-evaluator open projects. 2018-09-04 16:04:06 -07:00
Harlan Haskins
5a6985f39e Remove SimpleRequest::breakCycle
This patch removes the need for Request objects to provide a default
cycle-breaking value, instead opting to return llvm::Expected so clients
must handle a cycle failure explicitly.

Currently, all clients do the 'default' behavior, but this opens the
possibility for future requests to handle failures explicitly.
2018-08-15 11:01:12 -07:00
Ole Begemann
f8ad1a1bb6 [Docs] Fix broken markup in Request-Evaluator (#17793) 2018-07-06 12:15:35 -05:00
Doug Gregor
ef58259cd3 [Docs] Add another idea for the request-evaluator. 2018-07-05 22:43:27 -07:00
Doug Gregor
4682136903 [Docs] Add some more "open projects" for the request-evaluator. 2018-07-05 22:33:17 -07:00
Doug Gregor
a6a1f03148 [Docs] Add some documentation for the request-evaluator. 2018-07-05 22:24:38 -07:00