Commit Graph

221 Commits

Author SHA1 Message Date
Joe Shajrawi
4823314b7b Large Types IRGen Pass: add support for transforming return of large types into indirect returns 2017-07-05 16:19:01 -07:00
Joe Shajrawi
326ba1e67f Large Types IRGen Pass: Fix runtime crash for large enums 2017-06-23 15:24:20 -07:00
practicalswift
ba5f81888b [gardening] Remove unused variables 2017-05-13 15:48:27 +02:00
Doug Gregor
35c67f6acf Eliminate an unnecessary use of ASTContext::getOrCreateCanonicalGenericEnvironment().
GenericSignature::createGenericEnvironment() is a better API for this.
2017-05-11 16:34:39 -07:00
Roman Levenstein
6402d3d97d Remove even more dead code 2017-05-10 09:11:43 -07:00
Roman Levenstein
f909858f53 Remove dead code that became obsolete after re-factoring 2017-05-10 08:04:28 -07:00
Roman Levenstein
45c2c4af0e Re-factoring: Get rid of useless arguments in "create*Apply" functions
Till now createApply, createTryApply, createPartialApply were taking some arguments like SubstCalleeType or ResultType. But these arguments are redundant and can be easily derived from other arguments of these functions. There is no need to put the burden of their computation on the clients of these APIs.

The removal of these redundant parameters simplifies the APIs and reduces the possibility of providing mismatched types by clients, which often happened in the past.
2017-05-10 08:03:37 -07:00
practicalswift
8c40c65c80 [gardening] Fix typos. 2017-05-09 21:50:04 +02:00
Joe Shajrawi
197a6ce2a9 Merge pull request #9393 from shajrawi/arg_param_mismatch
Large loadable types: support optional inout function arguments
2017-05-08 12:45:09 -07:00
Joe Shajrawi
af6020ff7f Large loadable types: support optional inout function arguments 2017-05-08 11:38:17 -07:00
Joe Shajrawi
748efafd89 Merge pull request #9352 from shajrawi/fix_class_large_types
Resolves an issue with large loadable types wherein functions types inside classes misbehaved
2017-05-05 15:23:07 -07:00
Joe Shajrawi
e334da4efe Resolves an issue with large loadable types wherein functions types inside classes misbehaved 2017-05-05 14:29:41 -07:00
Michael Gottesman
86620aaa7e Merge pull request #9318 from practicalswift/redundant-types-in-casts
[gardening] Remove redundant repetition of type names (DRY): RepeatedTypeName foo = dyn_cast<RepeatedTypeName>(bar)
2017-05-05 13:37:12 -07:00
practicalswift
492f5cd35a [gardening] Remove redundant repetition of type names (DRY): RepeatedTypeName foo = dyn_cast<RepeatedTypeName>(bar)
Replace `NameOfType foo = dyn_cast<NameOfType>(bar)` with DRY version `auto foo = dyn_cast<NameOfType>(bar)`.

The DRY auto version is by far the dominant form already used in the repo, so this PR merely brings the exceptional cases (redundant repetition form) in line with the dominant form (auto form).

See the [C++ Core Guidelines](https://github.com/isocpp/CppCoreGuidelines/blob/master/CppCoreGuidelines.md#es11-use-auto-to-avoid-redundant-repetition-of-type-names) for a general discussion on why to use `auto` to avoid redundant repetition of type names.
2017-05-05 09:45:53 +02:00
Joe Shajrawi
018e79716f Large loadable types pass: resolves a case wherein a tuple’s extracted type is a function signature 2017-05-04 16:54:33 -07:00
Joe Shajrawi
746fd2841a Fixes a bug in large loadable types wherein only the callee type of Apply is changed 2017-05-04 13:05:09 -07:00
practicalswift
3aff1f9d9f [gardening] Replace dyn_cast<X>(y) with isa<X>(y) where appropriate 2017-05-04 15:24:02 +02:00
Joe Shajrawi
91911991cf Large loadable types: Fixes a bug wherein we did not update an Apply’s result type in case it is a function type 2017-05-03 15:17:40 -07:00
Joe Shajrawi
4fe3a46265 Fix an issue that was uncovered by the linux fix: resolves verifier bug in 32-bit code 2017-05-01 18:41:21 -07:00
Joe Shajrawi
33db65db2e Fix runtime failure on Linux due to large values by address pass 2017-05-01 16:28:03 -07:00
Joe Shajrawi
4dc0801785 IRGen Mandatory Module Pass: Pass large loadable types by address instead of by value 2017-05-01 12:04:06 -07:00