about summary refs log tree commit diff
path: root/src/test/run-make/llvm-phase
AgeCommit message (Collapse)AuthorLines
2018-01-19Allow runtime switching between trans backendsbjorn3-92/+0
2017-09-26rustc: Default 32 codegen units at O0Alex Crichton-0/+1
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-01async-llvm(29): Adapt run-make/llvm-phase test case to LLVM module not being ↵Michael Woerister-5/+1
available in memory.
2017-07-02report the total number of errors on compilation failureAriel Ben-Yehuda-1/+1
Prior to this PR, when we aborted because a "critical pass" failed, we displayed the number of errors from that critical pass. While that's the number of errors that caused compilation to abort in *that place*, that's not what people really want to know. Instead, always report the total number of errors, and don't bother to track the number of errors from the last pass that failed. This changes the compiler driver API to handle errors more smoothly, and therefore is a compiler-api-[breaking-change]. Fixes #42793.
2016-10-14test: Don't write files into the source treeAlex Crichton-1/+4
Tweak a few run-make tests to emit files in the output directories, not directly in the source tree.
2016-09-28Allow supplying an error destination via the compiler driverNick Cameron-2/+2
Allows replacing stderr with a buffer from the client. Also, some refactoring around run_compiler.
2016-07-28Modify trans to skip generating `.o` filesNiko Matsakis-1/+6
This checks the `previous_work_products` data from the dep-graph and tries to simply copy a `.o` file if possible. We also add new work-products into the dep-graph, and create edges to/from the dep-node for a work-product.
2016-07-04Added new compilation phase and testWill Crichton-0/+87