Joe Shajrawi
f0243c6f70
Resolves an issue with tuple returns for large loadable types + workaround a watch-target test failure
2017-07-25 11:36:31 -07:00
Joe Shajrawi
8faa45c3f5
Large Types IRGen Pass: bugfix for large-type returns
2017-07-24 15:31:04 -07:00
Joe Shajrawi
94935b5f78
Large Types IRGen Pass: return large types as @out
2017-07-17 15:36:51 -07:00
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