Commit Graph

13 Commits

Author SHA1 Message Date
Erik Eckstein
8110b1ebc8 [SIL] Let alloc_box return a single value.
And use project_box to get to the address value.
SILGen now generates a project_box for each alloc_box.
And IRGen re-uses the address value from the alloc_box if the operand of project_box is an alloc_box.
This lets the generated code be the same as before.

Other than that most changes of this (quite large) commit are straightforward.
2016-01-19 08:59:24 -08:00
Joe Groff
6babfe36b5 SIL: Enable typed boxes.
Swift SVN r29750
2015-06-27 00:52:36 +00:00
Joe Groff
fd138326ba SIL: Reject '@cc', '@thin', and '@objc_block' in SIL.
Since it's an internal interface, there's no need for migration in SIL.

Swift SVN r27610
2015-04-22 22:40:08 +00:00
Joe Groff
c0a2994564 AST: Start printing function types with @convention instead of old attributes.
And update tests to match.

Swift SVN r27262
2015-04-13 22:51:34 +00:00
Dmitri Hrybenko
3b04d1b013 tests: reorganize tests so that they actually use the target platform
Most tests were using %swift or similar substitutions, which did not
include the target triple and SDK.  The driver was defaulting to the
host OS.  Thus, we could not run the tests when the standard library was
not built for OS X.

Swift SVN r24504
2015-01-19 06:52:49 +00:00
Dmitri Hrybenko
1eea220932 Use one module cache directory for all the lit tests to speed them up
Doing so is safe even though we have mock SDK.  The include paths for
modules with the same name in the real and mock SDKs are different, and
the module files will be distinct (because they will have a different
hash).

This reduces test runtime on OS X by 30% and brings it under a minute on
a 16-core machine.

This also uncovered some problems with some tests -- even when run for
iOS configurations, some tests would still run with macosx triple.  I
fixed the tests where I noticed this issue.

rdar://problem/19125022

Swift SVN r23683
2014-12-04 11:21:48 +00:00
Michael Gottesman
c99a982db1 [sil-extract] Actually delete functions in sil-extract.
sil-extract previously would get rid of the bodies of functions
significantly reducing the size of the IR. Set up a pass manager so that
we can run the actual dead function elimination pass and do an even
better job.

Swift SVN r22163
2014-09-21 23:09:47 +00:00
John McCall
8681963bcb A couple of long-overdue renames.
Builtin.ObjectPointer -> Builtin.NativeObject
Builtin.ObjCPointer -> Builtin.UnknownObject

Swift SVN r16634
2014-04-22 00:17:08 +00:00
Jordan Rose
80f04c4fdc Re-apply "[test] Remove substitutions for binaries that will never move."
This got reverted along with the commit that actually broke things.

Swift SVN r14327
2014-02-25 00:47:39 +00:00
Michael Gottesman
6d2d3e05b0 Revert "[test] Remove substitutions for binaries that will never move."
This reverts commit r14246.

Breaks tests.

Swift SVN r14252
2014-02-22 04:16:31 +00:00
Jordan Rose
4c09946913 [test] Remove substitutions for binaries that will never move.
There's no reason to provide alternate versions of swift-ios-test,
swift-demangle, sil-extract, or lldb-moduleimport-test. There's no
reason to provide options for any of them either. And there's no
reason to warn about swift-ios-test being missing unless you're
building for ARM.

From now on, we should only be using "%foo" if:
A) 'foo' may have options we want to set for all invocations, or
B) we may want to run the tests with an alternate 'foo'.

Everywhere else, we should just use "foo". The build directory is already
in the path.

Swift SVN r14246
2014-02-22 00:35:16 +00:00
Jordan Rose
0b2541b58f Rename the standard library to "Swift" (instead of "swift")
This is more in line with all other modules currently on our system.
If/when we get our final name for the language, we're at least now set
up to rename the library without /too/ much trouble. (This is mostly just
a lot of searching for "import swift", "swift.", "'swift'", and '"swift"'.
The compiler itself is pretty much just using STDLIB_NAME consistently now,
per r13758.)

<rdar://problem/15972383>

Swift SVN r14001
2014-02-17 19:30:47 +00:00
Michael Gottesman
a633ea8013 [sil-extract] Add a simple test for sil-extract.
*NOTE* I know it may seem a little bit wasteful to have sil-extract included as
a pattern in lit, but I feel it is the right thing to do since it will cause lit
in the fail line to display the full path to sil-extract making it easier to
quickly copy/paste in the shell to fix any issues that may come up.

Swift SVN r11396
2013-12-17 22:45:32 +00:00