diff options
| author | bors <bors@rust-lang.org> | 2022-02-15 16:48:26 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2022-02-15 16:48:26 +0000 |
| commit | 6bf3008f0757c7c89c3f02e0e7eaac5ee30c1c6c (patch) | |
| tree | a7a234b7a8a29df52935d01d839313636e3960bc /compiler/rustc_codegen_llvm/src/attributes.rs | |
| parent | 55697574915ca58c3fcd7b1c854c1c93e002dc85 (diff) | |
| parent | cc836ee292188da1c0c29e369fada75606bfb74c (diff) | |
| download | rust-6bf3008f0757c7c89c3f02e0e7eaac5ee30c1c6c.tar.gz rust-6bf3008f0757c7c89c3f02e0e7eaac5ee30c1c6c.zip | |
Auto merge of #94024 - matthiaskrgr:rollup-0hwxm0w, r=matthiaskrgr
Rollup of 5 pull requests
Successful merges:
- #93899 (Describe VecDeque with more consistent names)
- #93949 (Add basic platform support to library/{panic_}unwind for m68k)
- #93999 (suggest using raw strings when invalid escapes appear in literals)
- #94001 (llvm: migrate to new parameter-bearing uwtable attr)
- #94014 (Move transmute_undefined_repr back to nursery)
Failed merges:
- #94020 (Support pretty printing of invalid constants)
r? `@ghost`
`@rustbot` modify labels: rollup
Diffstat (limited to 'compiler/rustc_codegen_llvm/src/attributes.rs')
| -rw-r--r-- | compiler/rustc_codegen_llvm/src/attributes.rs | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/compiler/rustc_codegen_llvm/src/attributes.rs b/compiler/rustc_codegen_llvm/src/attributes.rs index 2472789601e..30a52d6bd67 100644 --- a/compiler/rustc_codegen_llvm/src/attributes.rs +++ b/compiler/rustc_codegen_llvm/src/attributes.rs @@ -59,8 +59,11 @@ pub fn sanitize<'ll>(cx: &CodegenCx<'ll, '_>, no_sanitize: SanitizerSet, llfn: & /// Tell LLVM to emit or not emit the information necessary to unwind the stack for the function. #[inline] -pub fn emit_uwtable(val: &Value, emit: bool) { - Attribute::UWTable.toggle_llfn(Function, val, emit); +pub fn emit_uwtable(val: &Value) { + // NOTE: We should determine if we even need async unwind tables, as they + // take have more overhead and if we can use sync unwind tables we + // probably should. + llvm::EmitUWTableAttr(val, true); } /// Tell LLVM if this function should be 'naked', i.e., skip the epilogue and prologue. @@ -275,7 +278,7 @@ pub fn from_fn_attrs<'ll, 'tcx>( // You can also find more info on why Windows always requires uwtables here: // https://bugzilla.mozilla.org/show_bug.cgi?id=1302078 if cx.sess().must_emit_unwind_tables() { - attributes::emit_uwtable(llfn, true); + attributes::emit_uwtable(llfn); } if cx.sess().opts.debugging_opts.profile_sample_use.is_some() { |
