summary refs log tree commit diff
path: root/src/test/run-make/codegen-options-parsing/Makefile
AgeCommit message (Collapse)AuthorLines
2018-01-23rustc: Add `-C lto=val` optionAlex Crichton-3/+3
This commit primarily adds the ability to control what kind of LTO happens when rustc performs LTO, namely allowing values to be specified to the `-C lto` option, such as `-C lto=thin` and `-C lto=fat`. (where "fat" is the previous kind of LTO, throw everything in one giant module) Along the way this also refactors a number of fields which store information about whether LTO/ThinLTO are enabled to unify them all into one field through which everything is dispatched, hopefully removing a number of special cases throughout. This is intended to help mitigate #47409 but will require a backport as well, and this would unfortunately need to be an otherwise insta-stable option.
2017-11-28Replace most call to grep in run-make by a script that cat the input.kennytm-18/+16
Introduced a new src/etc/cat-and-grep.sh script (called in run-make as $(CGREP)), which prints the input and do a grep simultaneously. This is mainly used to debug spurious failures in run-make, such as the sanitizer error in #45810, as well as real errors such as #46126.
2017-09-26rustc: Default 32 codegen units at O0Alex Crichton-14/+16
This commit changes the default of rustc to use 32 codegen units when compiling in debug mode, typically an opt-level=0 compilation. Since their inception codegen units have matured quite a bit, gaining features such as: * Parallel translation and codegen enabling codegen units to get worked on even more quickly. * Deterministic and reliable partitioning through the same infrastructure as incremental compilation. * Global rate limiting through the `jobserver` crate to avoid overloading the system. The largest benefit of codegen units has forever been faster compilation through parallel processing of modules on the LLVM side of things, using all the cores available on build machines that typically have many available. Some downsides have been fixed through the features above, but the major downside remaining is that using codegen units reduces opportunities for inlining and optimization. This, however, doesn't matter much during debug builds! In this commit the default number of codegen units for debug builds has been raised from 1 to 32. This should enable most `cargo build` compiles that are bottlenecked on translation and/or code generation to immediately see speedups through parallelization on available cores. Work is being done to *always* enable multiple codegen units (and therefore parallel codegen) but it requires #44841 at least to be landed and stabilized, but stay tuned if you're interested in that aspect!
2017-08-03Solaris linker options need to be accounted for in one test.Danek Duvall-2/+2
This is a follow-up to f189d7a6937 and 9d11b089ad1. While `-z ignore` is what needs to be passed to the Solaris linker, because gcc is used as the default linker, both that form and `-Wl,-z -Wl,ignore` (including extra double quotes) need to be taken into account, which explains the more complex regular expression.
2016-12-04Disable ICF opt of MSVC for non-opt buildXidorn Quan-2/+2
2016-02-13use a compatible syntax for grep GNU/BSDSébastien Marie-2/+2
The BSD grep for "basic regex" don't support \| as alternate operator. Use multiple -e arguments for expressing alternative.
2016-02-11Add -C link-dead-code option r=alexcrichtonJohan Lorenzo-0/+7
Turning gc-sections off improves code coverage based for tools which use DWARF debugging information (like kcov). Otherwise dead code is stripped and kcov returns a coverage percentage that doesn't reflect reality.
2014-11-15Slightly improved rustc error messages for invalid -C argumentsinrustwetrust-0/+24