Erik Eckstein
39bb14b094
change mangling prefix from $S to $s
...
This is the final ABI mangling prefix
rdar://problem/38471478
2018-09-19 13:55:11 -07:00
Erik Eckstein
8bc7fb860d
Some improvements and simplifications regarding pass name printing in the pass manager.
...
* rename "Name" to "Description" in the pass definition, because it's not really the pass name, but the description of a pass
* remove the getName() from Transforms (which actually returned the description of a pass)
* in debug printing, print the pass ID and not the pass description. It makes it easier to correlate the debug output to the actual pass implementation.
* remove the iteration numbering in the pass manager, because we only run a single iteration anyway.
2018-01-09 15:35:26 -08:00
Erik Eckstein
cd3d50a5d9
ABI: Change the mangling prefix from _T0 to $S
2018-01-06 13:55:59 -08:00
Pavel Yaskevich
f90d943a29
[Mangling/ABI] NFC: Fix SILOptimizer tests to reflect label mangling changes
2017-12-18 15:45:50 -08:00
Erik Eckstein
c4a11f4c92
tests: remove the now unused option -new-mangling-for-tests
2017-03-22 11:28:43 -07:00
Erik Eckstein
1d3724666f
tests: convert about 400 tests to the new mangling by using the -new-mangling-for-tests option
...
When the new mangling is enabled permanently, the option can be removed from the RUN command lines again.
2017-01-24 15:27:45 -08:00
Dmitri Gribenko
d175b3b66d
Migrate FileCheck to %FileCheck in tests
2016-08-10 23:52:02 -07:00
Erik Eckstein
68f0d5c202
Reinstate "GenericSpecializer: When specializing a generic function, convert indirect parameters/result to direct parameters/result.""
...
This reinstates commit 4187959e66 .
It was reverted because of a bug in ValueLifetimeAnalysis which is now fixed.
2016-02-29 07:42:59 -08:00
Xin Tong
d0dc008fc1
Revert GenericSpecializer code.
...
This reverts commit
ed8126d050
ac0e7fd183
a11042eb05
b2d6e8ce6e
3a83cee006
0c2ca94ef7
First 4 commits are @practicalswift typo fixes which are implicated. Last 2 are
the culprits.
This causes an asan build crash.
2016-02-28 11:13:44 -08:00
Erik Eckstein
3a83cee006
Reinstate "GenericSpecializer: When specializing a generic function, convert indirect parameters/result to direct parameters/result.""
...
This reinstates commit 4187959e66 .
The exposed crash in the ClosureSpecializer is fixed.
2016-02-26 14:05:48 -08:00
Erik Eckstein
f70b53b015
Revert "Reinstate "GenericSpecializer: When specializing a generic function, convert indirect parameters/result to direct parameters/result."""
...
This reverts commit c556d5cd39 .
Hitting a new assert.
2016-02-25 09:50:11 -08:00
Erik Eckstein
c556d5cd39
Reinstate "GenericSpecializer: When specializing a generic function, convert indirect parameters/result to direct parameters/result.""
...
This reinstates commit 4187959e66 .
After Xin's recent fix in ARC (6a9a430f68 ) the crash on i386 should be resolved.
2016-02-25 08:48:15 -08:00
Erik Eckstein
5b4c73ed3b
Revert "GenericSpecializer: When specializing a generic function, convert indirect parameters/result to direct parameters/result."
...
This reverts commit 4187959e66 .
There is a crash in StdlibUnittests on i386 (Release-Assert build)
2016-02-23 08:29:41 -08:00
Erik Eckstein
4187959e66
GenericSpecializer: When specializing a generic function, convert indirect parameters/result to direct parameters/result.
...
With this re-abstraction a specialized function has the same calling convention as if it would have been written with the specialized types in the first place.
In general this results in less alloc_stacks and load/stores.
It also can eliminate some re-abstraction thunks, e.g. if a generic closure is used in a non-generic context.
It some (hopefully rare) cases it may require to add re-abstraction thunks.
In case a function has multiple indirect results, only the first is converted to a direct result. This is an open TODO.
2016-02-22 13:58:10 -08:00
Erik Eckstein
c5ebaee297
EscapeAnalysis: rename utility function for checking reference semantics and use it in canObjectOrContentEscapeTo
...
This makes canObjectOrContentEscapeTo less conservative when dealing with addresses of references.
2015-12-23 08:33:44 -08:00
Andrew Trick
bd35b4789c
Move test/SILOptimizer files to reflect lib/SILOptimizer.
2015-12-11 15:53:22 -08:00