diff options
| author | bors <bors@rust-lang.org> | 2025-02-04 17:46:06 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2025-02-04 17:46:06 +0000 |
| commit | 3f33b30e19b7597a3acbca19e46d9e308865a0fe (patch) | |
| tree | 49a7b8cd49557e130d3fde67fbc5b95b96c129d0 /compiler/rustc_codegen_llvm/src/llvm/ffi.rs | |
| parent | 01e4f19cc8027925ffe0885a86388b700e46bfab (diff) | |
| parent | f46e6be1908c7ed729655c8f601548f732ef49f4 (diff) | |
| download | rust-3f33b30e19b7597a3acbca19e46d9e308865a0fe.tar.gz rust-3f33b30e19b7597a3acbca19e46d9e308865a0fe.zip | |
Auto merge of #135760 - scottmcm:disjoint-bitor, r=WaffleLapkin
Add `unchecked_disjoint_bitor` per ACP373 Following the names from libs-api in https://github.com/rust-lang/libs-team/issues/373#issuecomment-2085686057 Includes a fallback implementation so this doesn't have to update cg_clif or cg_gcc, and overrides it in cg_llvm to use `or disjoint`, which [is available in LLVM 18](https://releases.llvm.org/18.1.0/docs/LangRef.html#or-instruction) so hopefully we don't need any version checks.
Diffstat (limited to 'compiler/rustc_codegen_llvm/src/llvm/ffi.rs')
| -rw-r--r-- | compiler/rustc_codegen_llvm/src/llvm/ffi.rs | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/compiler/rustc_codegen_llvm/src/llvm/ffi.rs b/compiler/rustc_codegen_llvm/src/llvm/ffi.rs index cc7c5231aca..8d494b0fe62 100644 --- a/compiler/rustc_codegen_llvm/src/llvm/ffi.rs +++ b/compiler/rustc_codegen_llvm/src/llvm/ffi.rs @@ -1380,6 +1380,9 @@ unsafe extern "C" { pub fn LLVMBuildFNeg<'a>(B: &Builder<'a>, V: &'a Value, Name: *const c_char) -> &'a Value; pub fn LLVMBuildNot<'a>(B: &Builder<'a>, V: &'a Value, Name: *const c_char) -> &'a Value; + // Extra flags on arithmetic + pub fn LLVMSetIsDisjoint(Instr: &Value, IsDisjoint: Bool); + // Memory pub fn LLVMBuildAlloca<'a>(B: &Builder<'a>, Ty: &'a Type, Name: *const c_char) -> &'a Value; pub fn LLVMBuildArrayAlloca<'a>( |
