Commit Graph

516 Commits

Author SHA1 Message Date
Erik Eckstein
7446cee72b Re-enable SLPVectorizer in stdlib build (revert r24342 and r24345)
The SLPVectorizer is now faster (rdar://problem/19430955): it needs 2.5% of stdlib compile time.
Related radar: rdar://problem/19433841



Swift SVN r24511
2015-01-19 15:22:33 +00:00
Dmitri Hrybenko
72a26f2371 CMake: simplify passing swift driver parameters
Swift SVN r24440
2015-01-15 04:44:58 +00:00
Mark Lacey
387418d034 Document the need to reenable the SLP vectorizer for the stdlib.
Swift SVN r24345
2015-01-10 01:09:31 +00:00
Mark Lacey
211cc83e4e Disable the LLVM SLP vectorizer for the stdlib build.
This shaves around 5 seconds off the stdlib build if you're using a
release/no-assert LLVM (so around 12.5% of total time if you're also
using a release/no-assert swift, or around 4% of total time if you're
using a debug/assert swift).

The underlying LLVM issue is tracked by rdar://problem/19430955.

I saw no significant reproducible performance loss due to this change.

Resolves rdar://problem/19431821.

Swift SVN r24342
2015-01-10 00:51:08 +00:00
Greg Parker
6c6863e342 [cmake] Remove a reference to a dead variable.
Swift SVN r24289
2015-01-09 00:18:04 +00:00
Michael Gottesman
9243f82d08 [cmake] Add new option --extra-swift-options that enables one to pass cmake flags to specific libraries by pattern matching a regexp upon their name.
Often times one wants to pass certain flags to swift when building
specific libraries and not others. This has in the past required
manually modifying the cmake system. This new option allows one to use
string regexps based on the module_name of a library to enable and
disable various flags. The way this works is you pass the following into
build-script:

--extra-swift-options="${REGEX1};${FLAGS1_WITH_SEMICOLONS_ESCAPED}"
--extra-swift-options="${REGEX2};${FLAGS2_WITH_SEMICOLONS_ESCAPED}"
--extra-swift-options="${REGEX3};${FLAGS3_WITH_SEMICOLONS_ESCAPED}"
--extra-swift-options="${REGEX4};${FLAGS4_WITH_SEMICOLONS_ESCAPED}"
--extra-swift-options="${REGEX5};${FLAGS5_WITH_SEMICOLONS_ESCAPED}"

Every library that matches REGEPN will have FLAGSN_... appended to their
swift flags. For instance if I did the following:

build-script --extra-swift-options="Swift;-Xfrontend\;-sil-print-pass-name" --extra-swift-options='^Swift$;-Xllvm\;-debug-only=sil-arc-opts" ...

CMake will output the following:

-- Matched 'Swift' to module 'Swift'. Compiling Swift with special flags: -Xfrontend;-sil-print-pass-name
-- Matched '^Swift$' to module 'Swift'. Compiling Swift with special flags: -Xllvm;-debug-only=sil-arc-opts
-- Matched 'Swift' to module 'SwiftExperimental'. Compiling SwiftExperimental with special flags: -Xfrontend;-sil-print-pass-name
-- Matched 'Swift' to module 'SwiftStructures'. Compiling SwiftStructures with special flags: -Xfrontend;-sil-print-pass-name
-- Matched 'Swift' to module 'SwiftStructuresGraphBFS'. Compiling SwiftStructuresGraphBFS with special flags: -Xfrontend;-sil-print-pass-name

stating which regexp was matched, the module it was matched to and the
added flags. This ensures that one only gets matches for what one wants.

Swift SVN r24271
2015-01-08 06:33:09 +00:00
Arnold Schwaighofer
292ecc49ca Revert "Readd SWIFT_STDLIB_CORE_EXTRA_FLAGS added in r24055"
This reverts commit r24248.

The flag was just renamed to SWIFT_EXTRA_EXPERIMENTAL_FLAGS_STDLIB_CORE.

Swift SVN r24251
2015-01-08 00:03:49 +00:00
Arnold Schwaighofer
a3b757066e Readd SWIFT_STDLIB_CORE_EXTRA_FLAGS added in r24055
This got lost in the cmake upgrade.

Swift SVN r24248
2015-01-07 23:42:22 +00:00
Dmitri Hrybenko
4f080f8bdc CMake: remove dead code for old AddressSanitizer setup
Swift SVN r24244
2015-01-07 21:05:22 +00:00
Joe Groff
5d5986a44f cmake: Add a SWIFT_XCODE_GENERATE_FOR_IDE_ONLY flag.
This flag disables the generation of dependency targets that are necessary to accurately rebuild Swift code, but which completely tank the Xcode IDE experience. Since Xcode is primarily useful as a source editor/navigator for the compiler C++ code, and Ninja is a more performant and featureful build system for Swift at this point, provide a mode that generates enough of an Xcode project to edit the Swift compiler source, but which can't build it, as a compromise so we can use Xcode's editor alongside a Ninja build environment.

Swift SVN r24186
2015-01-05 22:29:43 +00:00
Argyrios Kyrtzidis
e4d1f7523f [CMake] In '_compile_swift_files' function, 'objdir' is supposed to be set to the parent path, not the filename.
This worked in standalone build by creating a directory that never got used but it failed in a non-standalone build.
Fix tracked with Dmitri's help.

Swift SVN r24180
2015-01-05 18:47:49 +00:00
Dmitri Hrybenko
269de5fa7f CMake: allow mixed configurations of LLVM and Swift with Xcode
Swift SVN r24177
2015-01-05 07:18:13 +00:00
Dmitri Hrybenko
5ff0612224 CMake: stop using LLVM_COMMON_LIBS, it is not set anywhere
Swift SVN r24174
2015-01-05 07:18:10 +00:00
Dmitri Hrybenko
6670bb76ec Rewrite the CMake build system
Swift SVN r24124
2014-12-23 22:15:30 +00:00
Dmitri Hrybenko
e954ac9534 CMake: normalize checks for Apple operating systems
Swift SVN r23056
2014-11-01 04:14:36 +00:00
Graham Batty
d269d5c656 Basic: Add dependency finding for libuuid.
Swift SVN r22434
2014-10-01 19:05:46 +00:00