summary refs log tree commit diff
path: root/src/librustc_codegen_ssa
AgeCommit message (Collapse)AuthorLines
2019-01-03Fix alignment for array indexingNikita Popov-3/+13
We need to reduce the alignment with the used offset. If the offset isn't known, we need to reduce with the element size to support arbitrary offsets.
2018-12-17Increase required version for crates.io `libc` to get fix from PR ↵Felix S. Klock II-1/+1
rust-lang/libc#1057. Part of issue #55465
2018-12-03codegen_llvm_back: improve allocationsljedrz-3/+4
2018-12-02Auto merge of #56198 - bjorn3:cg_ssa_refactor, r=eddybbors-276/+187
Refactor rustc_codegen_ssa cc #56108 (not all things are done yet) This removes an unsafe method from cg_ssa. r? @eddyb cc @sunfishcode
2018-12-01Rollup merge of #56349 - davidtwco:issue-55396-inference-extension, r=nagisakennytm-1/+5
rustc 1.30.0's linker flavor inference is a non-backwards compat change to -Clinker Part of #55396. This commit modifies linker flavor inference to only remove the extension to the linker when performing inference if that extension is a 'exe'. r? @nagisa cc @alexcrichton @japaric
2018-11-30proc_macro: introduce a "bridge" between clients (proc macros) and servers ↵Eduard-Mihai Burtescu-1/+1
(compiler front-ends).
2018-11-29Only consider stem when extension is exe.David Wood-1/+5
This commit modifies linker flavor inference to only remove the extension to the linker when performing inference if that extension is a 'exe'.
2018-11-29Move get_static from CodegenCx to Builderbjorn3-4/+8
2018-11-29Use implicit deref instead of BuilderMethods::cx()bjorn3-105/+104
2018-11-29Require Deref to CodegenCx for HasCodegenbjorn3-1/+3
2018-11-29Remove static_addr_of_mut from cg_ssabjorn3-1/+0
2018-11-29Rename StaticMethods::static_ptrcast to ConstMethods::const_ptrcastbjorn3-3/+3
2018-11-29Remove static_bitcast from cg_ssabjorn3-1/+0
2018-11-29Move IntrinsicCallMethods::call_overflow_intrinsics to ↵bjorn3-18/+19
BuilderMethods::checked_binop
2018-11-29Remove call_lifetime_intrinsic from cg_ssabjorn3-10/+4
2018-11-29Use BackendTypes instead of Backend or HasCodegen in a few placesbjorn3-18/+18
2018-11-29Rustfmt on cg_ssa/traitsbjorn3-3/+7
2018-11-29Don't use llvm intrinsic names in cg_ssabjorn3-106/+22
2018-11-29Remove static_replace_all_uses and statics_to_rauw from cg_ssabjorn3-2/+0
2018-11-29Make ConstMethods and StaticMethods require BackendTypes instead of Backendbjorn3-6/+6
2018-11-29Some refactoringsbjorn3-15/+10
2018-11-28Fix alignment of stores to scalar pairNikita Popov-5/+15
The alignment for the second element of a scalar pair is not the same as for the first element. Make sure it is computed correctly based on the element size.
2018-11-25Pass `--export-dynamic` to LLD for wasmAlex Crichton-0/+6
This should handle recent symbol visibility changes happening, although we'll likely want to tweak this in the future!
2018-11-25wasm: Pass `--no-demangle` to LLDAlex Crichton-0/+5
Our mangling scheme is not C++'s, so tell LLD to not demangle anything so we can handle Rust-specific demangling ourselves.
2018-11-25Rollup merge of #56101 - frewsxcv:frewsxcv-dyn, r=steveklabnikPietro Albini-1/+1
Incorporate `dyn` into more comments and docs. r? @rust-lang/docs
2018-11-25Auto merge of #55959 - matthewjasper:remove-end-region, r=nikomatsakisbors-1/+0
Cleanup from lexical MIR borrowck removal Lexical MIR borrowck was removed months ago now, and `EndRegion`s are no longer used for MIRI verification. * Remove `rustc::mir::StatementKind::EndRegion` and the `-Zemit_end_regions` flag * Use `RegionVid` instead of `Region` in BorrowSet * Rewrite drop generation to create fewer goto terminators. r? @nikomatsakis
2018-11-23Merge branch 'master' into frewsxcv-dynCorey Farwell-65/+58
2018-11-24Rollup merge of #56097 - ogoffart:union-abi, r=eddybkennytm-3/+14
Fix invalid bitcast taking bool out of a union represented as a scalar As reported in https://github.com/rust-lang/rust/pull/54668#issuecomment-440186476
2018-11-24Rollup merge of #56048 - bjorn3:cg_ssa_sysroot, r=eddybkennytm-0/+19
Add rustc_codegen_ssa to sysroot Outside of rustc you are currently unable to use it. r? @nikomatsakis (because you r+'ed #55627)
2018-11-23Auto merge of #54071 - eddyb:alignsssss, r=oli-obkbors-57/+52
rustc_target: separate out an individual alignment quantity type from Align. Before this PR, `rustc_target::abi::Align` combined "power-of-two alignment quantity" semantics, with a distinction between ABI (required) and preferred alignment (by having two quantities). After this PR, `Align` is only *one* such quantity, and a new `AbiAndPrefAlign` type is introduced to hold the pair of ABI and preferred `Align` quantities. `Align` is used everywhere one quantity is necessary/sufficient, simplifying some of the code in codegen/miri, while `AbiAndPrefAlign` only in layout computation (to propagate preferred alignment). r? @oli-obk cc @nagisa @RalfJung @nikomatsakis
2018-11-22Add rustc_codegen_ssa to sysrootbjorn3-0/+19
2018-11-22Rollup merge of #56106 - bjorn3:patch-1, r=alexcrichtonGuillaume Gomez-6/+0
Remove some incorrect doc comments
2018-11-22Rollup merge of #56067 - jethrogb:jb/sgx-target-spec, r=alexcrichtonGuillaume Gomez-0/+4
Add SGX target to rustc This adds the `x86_64-fortanix-unknown-sgx` target specification to the Rust compiler. See #56066 for more details about this target.
2018-11-22rustc_target: avoid using AbiAndPrefAlign where possible.Eduard-Mihai Burtescu-70/+59
2018-11-22rustc_target: separate out an individual Align from AbiAndPrefAlign.Eduard-Mihai Burtescu-15/+15
2018-11-22rustc_target: rename abi::Align to AbiAndPrefAlign.Eduard-Mihai Burtescu-52/+58
2018-11-21rustc: implement and use Default on more types.Eduard-Mihai Burtescu-1/+1
2018-11-21rustc: remove {FxHash,Node,DefId,HirId,ItemLocal}{Map,Set} "constructor" fns.Eduard-Mihai Burtescu-2/+2
2018-11-20Remove incorrect doc commentbjorn3-6/+0
2018-11-20Incorporate `dyn` into more comments and docs.Corey Farwell-1/+1
2018-11-20Add comments and rename a local variableOlivier Goffart-5/+8
2018-11-20Fix invalid bitcast taking bool out of a union represented as a scalarOlivier Goffart-3/+11
As reported in https://github.com/rust-lang/rust/pull/54668#issuecomment-440186476
2018-11-19Add `override_export_symbols` option to Rust target specificationJethro Beekman-0/+4
2018-11-18Remove mir::StatementKind::EndRegionMatthew Jasper-1/+0
Since lexical MIR borrow check is gone, and validation no longer uses these, they can be removed.
2018-11-16[eddyb] rustc_codegen_llvm: remove unused parametrization of `CodegenCx` and ↵Eduard-Mihai Burtescu-3/+3
`Builder` over `Value`s.
2018-11-16[eddyb] rustc_codegen_ssa: rename `interfaces` to `traits`.Eduard-Mihai Burtescu-23/+23
2018-11-16[eddyb] rustc_codegen_ssa: avoid a `Clone` bound on `TargetMachine`.Eduard-Mihai Burtescu-4/+14
2018-11-16[eddyb] rustc_codegen_ssa: handle LLVM unsafety correctly.Eduard-Mihai Burtescu-6/+8
2018-11-16Added README explaining the refactoringDenis Merigoux-0/+121
2018-11-16Separating the back folder between backend-agnostic and LLVM-specific codeDenis Merigoux-49/+4023