about summary refs log tree commit diff
path: root/src/librustc_codegen_llvm
AgeCommit message (Collapse)AuthorLines
2018-08-07Set 'PrepareForThinLTO' whenever doing cross-language LTO.Michael Woerister-1/+2
2018-08-07Make sure upstream object files are added to staticlibs when compilingMichael Woerister-1/+5
with ThinLTO and cross-lang-lto. Normally, when compiling with whole-crate-graph ThinLTO, we expect rustc's LTO step to "uplift" upstream object files/LLVM modules to the current set of compilation artifacts. Therefore the staticlib creation code skips this uplifting. However, when compiling with "cross-language LTO" (i.e. defer LTO to the actual linker), the LTO step in rustc is not performed, so we have to take care of copying upstream object files during archive creation (like we already do when compiling without any LTO).
2018-08-07Fix issue around dllimport and ThinLTO as LLD runs it.Michael Woerister-7/+36
2018-08-07Rollup merge of #53028 - Mark-Simulacrum:split-out-codegen, r=alexcrichtonkennytm-27/+0
Building librustc_codegen_llvm in a separate directory This allows clearing it out and building it separately from the compiler. Since it's essentially a different and separate crate this makes sense to do, each cargo invocation should generally happen in its own directory. r? @alexcrichton
2018-08-07Auto merge of #51007 - AstralSorcerer:master, r=nagisabors-14/+60
Make globals with private linkage unnamed. Fixes #50862. cc @oli-obk @nagisa
2018-08-06Building librustc_codegen_llvm in a separate directoryMark Rousskov-27/+0
This allows clearing it out and building it separately from the compiler. Since it's essentially a different and separate crate this makes sense to do, each cargo invocation should generally happen in its own directory.
2018-08-05Remove unnecessary feature attributes that sneaked invarkor-1/+0
2018-08-04Move share_generics getter onto options directlyMark Rousskov-2/+2
2018-08-04Simplify some handling of target_pointer_widthMark Rousskov-35/+6
2018-08-04Normalize DebugInfoLevel to standard styleMark Rousskov-23/+23
2018-08-04Normalize EntryFnType variants to standard styleMark Rousskov-3/+3
2018-08-04Normalize variants of Passes to standard styleMark Rousskov-4/+3
2018-08-04Normalize variants of CrateType to standard styleMark Rousskov-46/+46
This is a clippy-breaking change.
2018-08-03Auto merge of #52712 - oli-obk:const_eval_cleanups, r=RalfJungbors-11/+17
Reintroduce `Undef` and properly check constant value sizes r? @RalfJung cc @eddyb basically all kinds of silent failures that never occurred are assertions now
2018-08-03Auto merge of #52887 - yurydelendik:disable-lld-symbols, r=alexcrichtonbors-0/+12
Disable debug sections when optimization flags is set for LLD. Currently LLD does not error when optimization is set and debugging information sections are present. (See discussion at https://reviews.llvm.org/D47901) Using `--strip-debug` along with the `-O` option.
2018-08-02Basic profilingWesley Wiser-0/+6
2018-08-02Second field of ScalarPair can be undef in some casesOliver Schneider-7/+11
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-01Reintroduce `Undef` and properly check constant value sizesOliver Schneider-4/+6
2018-08-01Split out growth functionality into BitVector typeMark Rousskov-10/+10
2018-08-01Make sure we prepare for thin LTO whenever we are emitting bitcodeColin Pronovost-0/+31
Emitting LLVM bitcode uses ThinLTOBuffers, so we need to prepare for thin LTO or we will likely cause errors in LLVM.
2018-07-31Make globals with private linkage unnamed. Fixes #50862.Colin Pronovost-14/+29
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-30Disable debug sections when optimization flags is set for LLD.Yury Delendik-0/+12
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