| Age | Commit message (Collapse) | Author | Lines | |
|---|---|---|---|---|
| 2022-04-09 | Switch to the 'normal' basic block for writing asm outputs if needed. | Luqman Aden | -0/+5 | |
| We may sometimes emit an `invoke` instead of a `call` for inline assembly during the MIR -> LLVM IR lowering. But we failed to update the IR builder's current basic block before writing the results to the outputs. This would result in invalid IR because the basic block would end in a `store` instruction, which isn't a valid terminator. | ||||
| 2022-04-05 | Mark scalar layout unions so that backends that do not support partially ↵ | Oli Scherer | -37/+43 | |
| initialized scalars can special case them. | ||||
| 2022-02-26 | Add LLVM attributes in batches instead of individually | Erik Desjardins | -5/+8 | |
| This should improve performance. | ||||
| 2022-01-22 | Add preliminary support for inline assembly for msp430. | William D. Jones | -0/+6 | |
| 2022-01-17 | Use Symbol for target features in asm handling | bjorn3 | -4/+3 | |
| This saves a couple of Symbol::intern calls | ||||
| 2022-01-12 | Remove deprecated LLVM-style inline assembly | Tomasz Miąsko | -102/+5 | |
| 2021-12-16 | Remove `in_band_lifetimes` from `rustc_codegen_llvm` | LegionMammal978 | -12/+12 | |
| See #91867 for more information. | ||||
| 2021-12-10 | Rollup merge of #91625 - est31:remove_indexes, r=oli-obk | Matthias Krüger | -1/+1 | |
| Remove redundant [..]s | ||||
| 2021-12-09 | Remove redundant [..]s | est31 | -1/+1 | |
| 2021-12-07 | Remove the reg_thumb register class for asm! on ARM | Amanieu d'Antras | -5/+2 | |
| Also restricts r8-r14 from being used on Thumb1 targets as per #90736. | ||||
| 2021-12-06 | Implement inline asm! for AVR platform | Andrew Dona-Couch | -0/+21 | |
| 2021-12-03 | LLVM codgen support for unwinding inline assembly | cynecx | -2/+27 | |
| 2021-12-03 | Adjust llvm wrapper for unwinding support for inlineasm | cynecx | -0/+2 | |
| 2021-11-10 | Update more rustc/libtest things for wasm64 | Alex Crichton | -1/+1 | |
| * Add wasm64 variants for inline assembly along the same lines as wasm32 * Update a few directives in libtest to check for `target_family` instead of `target_arch` * Update some rustc codegen and typechecks specialized for wasm32 to also work for wasm64. | ||||
| 2021-10-26 | Properly check `target_features` not to trigger an assertion | Yuki Okushi | -2/+6 | |
| 2021-10-01 | Fix clippy lints | Guillaume Gomez | -2/+2 | |
| 2021-09-09 | Make `abi::Abi` `Copy` and remove a *lot* of refs | Andreas Liljeqvist | -7/+7 | |
| fix fix Remove more refs and clones fix more fix | ||||
| 2021-09-01 | Rollup merge of #88350 - programmerjake:add-ppc-cr-xer-clobbers, r=Amanieu | Mara Bos | -0/+8 | |
| add support for clobbering xer, cr, and cr[0-7] for asm! on OpenPower/PowerPC Fixes #88315 | ||||
| 2021-08-25 | add support for clobbering xer, cr, and cr[0-7] for asm! on OpenPower/PowerPC | Jacob Lifshay | -0/+8 | |
| Fixes #88315 | ||||
| 2021-08-22 | Feat: added s390x reg-definitions, constraint codes, and tests | linux1 | -6/+6 | |
| 2021-08-22 | Feat: added inline asm support for s390x | linux1 | -0/+6 | |
| 2021-08-14 | Auto merge of #87581 - Amanieu:asm_clobber_abi, r=nagisa | bors | -1/+8 | |
| Add support for clobber_abi to asm! This PR adds the `clobber_abi` feature that was proposed in #81092. Fixes #81092 cc `@rust-lang/wg-inline-asm` r? `@nagisa` | ||||
| 2021-08-12 | Implement `black_box` using intrinsic | Gary Guo | -1/+1 | |
| The new implementation allows some `memcpy`s to be optimized away, so the uninit value in ui/sanitize/memory.rs is constructed directly onto the return place. Therefore the sanitizer now says that the value is allocated by `main` rather than `random`. | ||||
| 2021-08-12 | Mark RISC-V vector state as clobbered in inline assembly | Amanieu d'Antras | -1/+8 | |
| 2021-08-05 | Prepare call/invoke for opaque pointers | Josh Stone | -1/+1 | |
| Rather than relying on `getPointerElementType()` from LLVM function pointers, we now pass the function type explicitly when building `call` or `invoke` instructions. | ||||
| 2021-07-11 | Auto merge of #86416 - Amanieu:asm_clobber_only, r=nagisa | bors | -1/+49 | |
| Add clobber-only register classes for asm! These are needed to properly express a function call ABI using a clobber list, even though we don't support passing actual values into/out of these registers. | ||||
| 2021-07-10 | Add clobber-only register classes for asm! | Amanieu d'Antras | -1/+49 | |
| These are needed to properly express a function call ABI using a clobber list, even though we don't support passing actual values into/out of these registers. | ||||
| 2021-05-23 | Add support for BPF inline assembly | Alessandro Decina | -0/+6 | |
| 2021-05-13 | Add asm!() support for PowerPC64 | Dr. Chat | -1/+1 | |
| 2021-05-13 | Add support for const operands and options to global_asm! | Amanieu d'Antras | -3/+42 | |
| On x86, the default syntax is also switched to Intel to match asm! | ||||
| 2021-05-11 | Add initial asm!() support for PowerPC | Dr. Chat | -0/+8 | |
| This includes GPRs and FPRs only | ||||
| 2021-04-04 | Allow clobbering unsupported registers in asm! | Amanieu d'Antras | -1/+26 | |
| Previously registers could only be marked as clobbered if the target feature for that register was enabled. This restriction is now removed. | ||||
| 2021-03-13 | Always lower asm! to valid HIR | Amanieu d'Antras | -0/+3 | |
| 2021-03-01 | Mark pure asm as willreturn | Nikita Popov | -0/+1 | |
| 2021-02-17 | Replace vec![] calls with slice literals | est31 | -3/+3 | |
| There is no need to create vec's here | ||||
| 2021-02-14 | 32-bit ARM: Emit `lr` instead of `r14` when specified as an `asm!` output ↵ | Johnathan Van Why | -0/+3 | |
| register. On 32-bit ARM platforms, the register `r14` has the alias `lr`. When used as an output register in `asm!`, rustc canonicalizes the name to `r14`. LLVM only knows the register by the name `lr`, and rejects it. This changes rustc's LLVM code generation to output `lr` instead. | ||||
| 2020-12-01 | Add wasm32 support to inline asm | Gus Caplan | -0/+4 | |
| 2020-11-11 | Change capitalization of Spirv to SpirV | khyperia | -4/+4 | |
| This matches the capitalization of RiscV | ||||
| 2020-11-11 | Add asm register information for SPIR-V | khyperia | -1/+11 | |
| 2020-10-30 | Fix even more clippy warnings | Joshua Nelson | -6/+4 | |
| 2020-10-15 | Replace target.target with target and target.ptr_width with target.pointer_width | est31 | -1/+1 | |
| Preparation for a subsequent change that replaces rustc_target::config::Config with its wrapped Target. On its own, this commit breaks the build. I don't like making build-breaking commits, but in this instance I believe that it makes review easier, as the "real" changes of this PR can be seen much more easily. Result of running: find compiler/ -type f -exec sed -i -e 's/target\.target\([)\.,; ]\)/target\1/g' {} \; find compiler/ -type f -exec sed -i -e 's/target\.target$/target/g' {} \; find compiler/ -type f -exec sed -i -e 's/target.ptr_width/target.pointer_width/g' {} \; ./x.py fmt | ||||
| 2020-10-04 | Add asm! support for mips64 | Lzu Tao | -1/+4 | |
| 2020-09-27 | Add MIPS asm! support | Lzu Tao | -0/+25 | |
| This patch also: * Add soft-float supports: only f32 * zero-extend i8/i16 to i32 because MIPS only supports register-length arithmetic. * Update table in asm! chapter in unstable book. | ||||
| 2020-08-30 | mv compiler to compiler/ | mark | -0/+836 | |
