about summary refs log tree commit diff
path: root/src/librustc_codegen_llvm
AgeCommit message (Collapse)AuthorLines
2018-08-02Basic profilingWesley Wiser-0/+6
2018-08-01Rollup merge of #52799 - Mark-Simulacrum:attr-id-bitvecs, r=michaelwoeristerPietro Albini-10/+10
Use BitVector for global sets of AttrId
2018-08-01Split out growth functionality into BitVector typeMark Rousskov-10/+10
2018-07-31rustc: Handle linker diagnostic from LLVMAlex Crichton-8/+22
Previously linker diagnostic were being hidden when two modules were linked together but failed to link. This commit fixes the situation by ensuring that we have a diagnostic handler installed and also adds support for handling linker diagnostics.
2018-07-30rustc_codegen_llvm: fix ownership of DIBuilder.Irina Popa-34/+45
2018-07-30rustc_codegen_llvm: fix ownership of Builder.Irina Popa-96/+105
2018-07-30rustc_codegen_llvm: fix tidy errors.Irina Popa-24/+77
2018-07-30rustc_codegen_llvm: use safe references for ThinLTOData.Irina Popa-13/+12
2018-07-30rustc_codegen_llvm: use safe references for ThinLTOBuffer.Irina Popa-6/+6
2018-07-30rustc_codegen_llvm: use safe references for ModuleBuffer.Irina Popa-6/+6
2018-07-30rustc_codegen_llvm: use safe references for RustArchiveMember.Irina Popa-16/+16
2018-07-30rustc_codegen_llvm: use safe references for ArchiveChild.Irina Popa-38/+56
2018-07-30rustc_codegen_llvm: use safe references for ArchiveIterator.Irina Popa-9/+6
2018-07-30rustc_codegen_llvm: use safe references for Linker.Irina Popa-10/+9
2018-07-30rustc_codegen_llvm: use safe references for SectionIterator.Irina Popa-14/+13
2018-07-30rustc_codegen_llvm: use safe references for PassManager.Irina Popa-64/+65
2018-07-30rustc_codegen_llvm: use safe references for OperandBundleDef.Irina Popa-25/+26
2018-07-30rustc_codegen_llvm: use safe mutable references for output parameters.Irina Popa-12/+12
2018-07-30rustc_codegen_llvm: use safe references for RustString.Irina Popa-30/+33
2018-07-30rustc_codegen_llvm: use safe references for Twine, DiagnosticInfo, SMDiagnostic.Irina Popa-29/+24
2018-07-30rustc_codegen_llvm: use safe references for Archive.Irina Popa-17/+11
2018-07-30rustc_codegen_llvm: use safe references for TargetMachine.Irina Popa-13/+12
2018-07-30rustc_codegen_llvm: use safe references for Pass.Irina Popa-12/+9
2018-07-30rustc_codegen_llvm: use safe references for PassManagerBuilder.Irina Popa-15/+14
2018-07-30rustc_codegen_llvm: use safe references for MemoryBuffer and ObjectFile.Irina Popa-21/+16
2018-07-30rustc_codegen_llvm: remove more unused functions.Irina Popa-368/+21
2018-07-30rustc_codegen_llvm: remove unused UseRef type.Irina Popa-7/+0
2018-07-30rustc_codegen_llvm: use safe references for BasicBlock.Irina Popa-55/+54
2018-07-30rustc_codegen_llvm: use safe references for Value.Irina Popa-1232/+1216
2018-07-30rustc_codegen_llvm: remove _opaque suffix.Irina Popa-49/+49
2018-07-30rustc_codegen_llvm: remove #![allow(dead_code)] from llvm.Irina Popa-37/+2
2018-07-30rustc_codegen_llvm: remove unused ExecutionEngineRef type.Irina Popa-2/+0
2018-07-30rustc_codegen_llvm: use safe references for Metadata and DI*.Irina Popa-377/+411
2018-07-30rustc_codegen_llvm: use safe references for DIBuilder.Irina Popa-34/+33
2018-07-30rustc_codegen_llvm: use safe references for Builder.Irina Popa-144/+142
2018-07-30rustc_codegen_llvm: use safe references for Type.Irina Popa-533/+568
2018-07-30rustc_codegen_llvm: use safe references for Context and Module.Irina Popa-556/+549
2018-07-30rustc_codegen_llvm: move from empty enums to extern types.Irina Popa-197/+178
2018-07-30rustc_llvm: move to rustc_codegen_llvm::llvm.Irina Popa-2/+2437
2018-07-30Auto merge of #52805 - ljedrz:format_str_literal, r=petrochenkovbors-17/+17
Don't format!() string literals Prefer `to_string()` to `format!()` take 2, this time targetting string literals. In some cases (`&format!("...")` -> `"..."`) also removes allocations. Occurences of `format!("")` are changed to `String::new()`.
2018-07-29Auto merge of #52738 - ljedrz:push_to_extend, r=eddybbors-18/+16
Replace push loops with extend() where possible Or set the vector capacity where I couldn't do it. According to my [simple benchmark](https://gist.github.com/ljedrz/568e97621b749849684c1da71c27dceb) `extend`ing a vector can be over **10 times** faster than `push`ing to it in a loop: 10 elements (6.1 times faster): ``` test bench_extension ... bench: 75 ns/iter (+/- 23) test bench_push_loop ... bench: 458 ns/iter (+/- 142) ``` 100 elements (11.12 times faster): ``` test bench_extension ... bench: 87 ns/iter (+/- 26) test bench_push_loop ... bench: 968 ns/iter (+/- 3,528) ``` 1000 elements (11.04 times faster): ``` test bench_extension ... bench: 311 ns/iter (+/- 9) test bench_push_loop ... bench: 3,436 ns/iter (+/- 233) ``` Seems like a good idea to use `extend` as much as possible.
2018-07-29Replace push loops with collect() and extend() where possibleljedrz-18/+16
2018-07-29Auto merge of #52767 - ljedrz:avoid_format, r=petrochenkovbors-2/+2
Prefer to_string() to format!() Simple benchmarks suggest in some cases it can be faster by even 37%: ``` test converting_f64_long ... bench: 339 ns/iter (+/- 199) test converting_f64_short ... bench: 136 ns/iter (+/- 34) test converting_i32_long ... bench: 87 ns/iter (+/- 16) test converting_i32_short ... bench: 87 ns/iter (+/- 49) test converting_str ... bench: 54 ns/iter (+/- 15) test formatting_f64_long ... bench: 349 ns/iter (+/- 176) test formatting_f64_short ... bench: 145 ns/iter (+/- 14) test formatting_i32_long ... bench: 98 ns/iter (+/- 14) test formatting_i32_short ... bench: 93 ns/iter (+/- 15) test formatting_str ... bench: 86 ns/iter (+/- 23) ```
2018-07-29Auto merge of #52764 - sinkuu:cleanup, r=nikomatsakisbors-3/+2
Misc cleanups
2018-07-28Don't format!() string literalsljedrz-17/+17
2018-07-28Rollup merge of #52703 - ljedrz:vec_improvements, r=nikomatsakiskennytm-2/+3
Improve a few vectors - calculate capacity or build from iterators Collecting from iterators improves readability and tailoring vector capacities should be beneficial in terms of performance.
2018-07-27Auto merge of #52336 - ishitatsuyuki:dyn-rollup, r=Mark-Simulacrumbors-1/+0
Rollup of bare_trait_objects PRs All deny attributes were moved into bootstrap so they can be disabled with a line of config. Warnings for external tools are allowed and it's up to the tool's maintainer to keep it warnings free. r? @Mark-Simulacrum cc @ljedrz @kennytm
2018-07-27Unnecessary `to_string`Shotaro Yamada-3/+2
2018-07-27Prefer to_string() to format!()ljedrz-2/+2
2018-07-26Improve a few vectors - calculate capacity or build from iteratorsljedrz-2/+3