diff options
| author | Matthias Krüger <matthias.krueger@famsik.de> | 2022-02-15 16:02:37 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-02-15 16:02:37 +0100 |
| commit | a87be980d826206e5267d6994f6bf026ef06711d (patch) | |
| tree | 9cea6f2add218383a55738b9740e73effdee202d /compiler/rustc_codegen_llvm/src/llvm/mod.rs | |
| parent | c6b27db8767a6e070701d22a179caac60592f713 (diff) | |
| parent | 0958c8f4cad247204ed7d9f9723f273ef81074f1 (diff) | |
| download | rust-a87be980d826206e5267d6994f6bf026ef06711d.tar.gz rust-a87be980d826206e5267d6994f6bf026ef06711d.zip | |
Rollup merge of #94001 - durin42:llvm-15-uwtable, r=nikic
llvm: migrate to new parameter-bearing uwtable attr In https://reviews.llvm.org/D114543 the uwtable attribute gained a flag so that we can ask for sync uwtables instead of async, as the former are much cheaper. The default is async, so that's what I've done here, but I left a TODO that we might be able to do better. While in here I went ahead and dropped support for removing uwtable attributes in rustc: we never did it, so I didn't write the extra C++ bridge code to make it work. Maybe I should have done the same thing with the `sync|async` parameter but we'll see.
Diffstat (limited to 'compiler/rustc_codegen_llvm/src/llvm/mod.rs')
| -rw-r--r-- | compiler/rustc_codegen_llvm/src/llvm/mod.rs | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/compiler/rustc_codegen_llvm/src/llvm/mod.rs b/compiler/rustc_codegen_llvm/src/llvm/mod.rs index a1117a11fc7..8586b0466c8 100644 --- a/compiler/rustc_codegen_llvm/src/llvm/mod.rs +++ b/compiler/rustc_codegen_llvm/src/llvm/mod.rs @@ -31,6 +31,10 @@ impl LLVMRustResult { } } +pub fn EmitUWTableAttr(llfn: &Value, async_: bool) { + unsafe { LLVMRustEmitUWTableAttr(llfn, async_) } +} + pub fn AddFunctionAttrStringValue(llfn: &Value, idx: AttributePlace, attr: &CStr, value: &CStr) { unsafe { LLVMRustAddFunctionAttrStringValue(llfn, idx.as_uint(), attr.as_ptr(), value.as_ptr()) |
