| Age | Commit message (Collapse) | Author | Lines | |
|---|---|---|---|---|
| 2014-09-28 | Keep ExpnId abstract by providing conversions | Keegan McAllister | -1/+1 | |
| 2014-09-27 | Translate inline assembly errors back to source locations | Keegan McAllister | -7/+36 | |
| Fixes #17552. | ||||
| 2014-09-19 | rollup merge of #17358 : epdtry/pcg-lto | Alex Crichton | -29/+32 | |
| 2014-09-19 | Add enum variants to the type namespace | Nick Cameron | -4/+4 | |
| Change to resolve and update compiler and libs for uses. [breaking-change] Enum variants are now in both the value and type namespaces. This means that if you have a variant with the same name as a type in scope in a module, you will get a name clash and thus an error. The solution is to either rename the type or the variant. | ||||
| 2014-09-17 | support LTO against libraries built with codegen-units > 1 | Stuart Pernsteiner | -29/+32 | |
| 2014-09-16 | Fallout from renaming | Aaron Turon | -1/+1 | |
| 2014-09-12 | Add -C remark for LLVM optimization remarks | Keegan McAllister | -11/+56 | |
| Fixes #17116. | ||||
| 2014-09-05 | don't use `ld -r` with `-C codegen-units=1` | Stuart Pernsteiner | -0/+12 | |
| 2014-09-05 | add workaround for mingw `ld --force-exe-suffix` behavior | Stuart Pernsteiner | -1/+25 | |
| 2014-09-05 | don't leave unwanted temporary files with --emit=ir/asm | Stuart Pernsteiner | -3/+6 | |
| 2014-09-05 | use target-specific linker args when combining compilation units | Stuart Pernsteiner | -2/+19 | |
| 2014-09-05 | run optimization and codegen on worker threads | Stuart Pernsteiner | -206/+636 | |
| Refactor the code in `llvm::back` that invokes LLVM optimization and codegen passes so that it can be called from worker threads. (Previously, it used `&Session` extensively, and `Session` is not `Share`.) The new code can handle multiple compilation units, by compiling each unit to `crate.0.o`, `crate.1.o`, etc., and linking together all the `crate.N.o` files into a single `crate.o` using `ld -r`. The later linking steps can then be run unchanged. The new code preserves the behavior of `--emit`/`-o` when building a single compilation unit. With multiple compilation units, the `--emit=asm/ir/bc` options produce multiple files, so combinations like `--emit=ir -o foo.ll` will not actually produce `foo.ll` (they instead produce several `foo.N.ll` files). The new code supports `-Z lto` only when using a single compilation unit. Compiling with multiple compilation units and `-Z lto` will produce an error. (I can't think of any good reason to do such a thing.) Linking with `-Z lto` against a library that was built as multiple compilation units will also fail, because the rlib does not contain a `crate.bytecode.deflate` file. This could be supported in the future by linking together the `crate.N.bc` files produced when compiling the library into a single `crate.bc`, or by making the LTO code support multiple `crate.N.bytecode.deflate` files. | ||||
| 2014-09-05 | move back::link::write into a separate file | Stuart Pernsteiner | -0/+476 | |
