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.
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
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
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
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
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
*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