Saleem Abdulrasool
2c0999f67f
test: port most SILOptimizer tests for Windows
...
This adjusts the SILOptimizer test suite to work on Windows. The
remaining SILOptimizer test failure is a memory issue in the standard
library.
2018-12-24 00:57:25 -08:00
Michael Gottesman
fd4828e40a
Eliminate -assume-parsing-unqualified-ownership-sil from tests.
...
I am doing this separately from the actual change to eliminate the option to
make it easier to review.
2018-12-19 12:54:13 -08:00
Karoy Lorentey
c4c4c17871
[stdlib] _BridgeStorage: Remove second type parameter (ObjCClass)
...
It used to be a shadow protocol existential, but now it’s invariably AnyObject.
I see no reason to keep supporting this unused abstraction.
2018-11-15 09:54:25 +00:00
Karoy Lorentey
ee17e975ca
[stdlib] Make protocol _NSArrayCore internal
...
These shadow protocols don’t add any real type safety, and exposing them in the ABI seems unnecessary.
2018-11-15 09:54:25 +00:00
Mike Ash
798edb9d0e
[Runtime][Stdlib][Overlays] Rename various Objective-C classes and methods that would conflict when loading old Swift libraries into a process alongside ABI-stable libraries.
...
rdar://problem/35768222
2018-09-13 16:55:10 -04:00
Michael Gottesman
48b633b2dc
Fix the build by making dead_array_elim.sil work on 32 bit platforms.
2018-01-08 10:16:07 -08:00
Michael Gottesman
ecc1ed4589
[dead-array] Handle initialization where we pass in an alloc_ref/apply in a +0 context.
...
rdar://34222540
2018-01-07 00:13:38 -08:00
Erik Eckstein
d4db9b8099
SILPrinter: make the printing of debug info optional.
...
With the option -sil-print-debuginfo the printing of debug locations and scopes can be enabled.
I made the default for the option “false”, because in 99% of the time I don’t need the debug info in the printed SIL and I prefer better readability.
2017-04-20 09:18:08 -07:00
Erik Eckstein
805960b0ac
ValueLifetimeAnalysis: fix the lifetime computation in case the value definition is in a single-block loop.
...
This caused DeadObjectElimination to generate a memory leak in case a dead array is in a single-block loop.
rdar://problem/31420889
2017-04-04 10:43:53 -07:00
Michael Gottesman
20dd563efb
[semantic-arc] Update tests for qualified/unqualified ownership and SILGen emission of copy_value, destroy_value.
2016-10-29 20:11:09 -07:00
practicalswift
f44686d825
[gardening] Fix trailing whitespace in *.cfg.in, *.html, *.mm and *.sil files
2016-10-29 14:06:43 +02:00
Dmitri Gribenko
d175b3b66d
Migrate FileCheck to %FileCheck in tests
2016-08-10 23:52:02 -07:00
Andrew Trick
c47687da2c
Add an isStrict flag to SIL pointer_to_address. ( #3529 )
...
Strict aliasing only applies to memory operations that use strict
addresses. The optimizer needs to be aware of this flag. Uses of raw
addresses should not have their address substituted with a strict
address.
Also add Builtin.LoadRaw which will be used by raw pointer loads.
2016-07-15 15:04:02 -05:00
Erik Eckstein
3945539e71
DeadObjectElimination: use the debug location of the array store instead of the (unknown) instruction of the lifetime frontier.
...
The location of the lifetimefrontier can be a return-location which is invalid for the generated release instruction.
2016-04-25 11:38:49 -07:00
Erik Eckstein
b8feb278dc
DeadObjectElemination: fix two problems with handling of the tuple_extract following an array init call
...
1) handle cases where the tuple_extract is not in the same basic block as the init call. This is not a correctness issue, but might miss some opportunities.
2) bail if there are multiple tuple_extract. This is a correctness issue, but a theoretical one. I don't think that in reality we will ever get multiple tuple_extracts out of SILGen.
2016-04-13 13:28:29 -07:00
Max Moiseev
cf4bafe9e3
Merge remote-tracking branch 'origin/master' into swift-3-api-guidelines
2016-03-03 13:22:03 -08:00
practicalswift
e28be296ab
[gardening] Fix recently introduced typo: "releaese" → "release"
2016-03-02 09:37:16 +01:00
practicalswift
09744e8251
[gardening] Fix recently introduced typo: "pathes" → "paths"
2016-03-02 09:36:40 +01:00
Erik Eckstein
115c50a5c7
DeadObjectElimination: Fix a problem with dead array elimination.
...
With the new ValueLifetimeAnalysis DOE did not handle case where a dead array is not released on a path at all (because it leads to an unreachable).
2016-03-01 12:30:52 -08:00
Max Moiseev
a49dab6bf8
Merge remote-tracking branch 'origin/master' into swift-3-api-guidelines
2016-02-29 12:08:52 -08:00
Erik Eckstein
1730b90ae4
Reinstate "Rewrite the ValueLifetimeAnalysis."
...
Reinstates commit 0c2ca94ef7
With two bug fixes:
*) use after free asan crash
*) wrong check in ValueLifetimeAnalysis::isWithinLifetime
And some refactoring
2016-02-29 07:42:59 -08:00
Maxim Moiseev
0e54467bfa
Final bulk removal of Type suffix
2015-12-16 17:06:19 -08:00
Andrew Trick
bd35b4789c
Move test/SILOptimizer files to reflect lib/SILOptimizer.
2015-12-11 15:53:22 -08:00