diff options
| author | Tshepang Mbambo <tshepang@gmail.com> | 2025-05-01 07:01:46 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-05-01 07:01:46 +0200 |
| commit | bf06eaf7a2e8ad08c23a3d8da1255cdcc4174c55 (patch) | |
| tree | a974f5bc634539b226397f38dd8f69c35fbee719 /compiler/rustc_codegen_llvm/src/attributes.rs | |
| parent | 9ce6c52c707b8d0dba9c0d5c4828cc9443dd8f4c (diff) | |
| parent | 560de7e51225559aa329d296f5ff0e9f95cbdf48 (diff) | |
| download | rust-bf06eaf7a2e8ad08c23a3d8da1255cdcc4174c55.tar.gz rust-bf06eaf7a2e8ad08c23a3d8da1255cdcc4174c55.zip | |
Merge pull request #2367 from rust-lang/rustc-pull
Rustc pull update
Diffstat (limited to 'compiler/rustc_codegen_llvm/src/attributes.rs')
| -rw-r--r-- | compiler/rustc_codegen_llvm/src/attributes.rs | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/compiler/rustc_codegen_llvm/src/attributes.rs b/compiler/rustc_codegen_llvm/src/attributes.rs index e8c42d16733..176fb72dfdc 100644 --- a/compiler/rustc_codegen_llvm/src/attributes.rs +++ b/compiler/rustc_codegen_llvm/src/attributes.rs @@ -1,5 +1,4 @@ //! Set and unset common attributes on LLVM values. - use rustc_attr_parsing::{InlineAttr, InstructionSetAttr, OptimizeAttr}; use rustc_codegen_ssa::traits::*; use rustc_hir::def_id::DefId; @@ -28,6 +27,22 @@ pub(crate) fn apply_to_callsite(callsite: &Value, idx: AttributePlace, attrs: &[ } } +pub(crate) fn has_attr(llfn: &Value, idx: AttributePlace, attr: AttributeKind) -> bool { + llvm::HasAttributeAtIndex(llfn, idx, attr) +} + +pub(crate) fn has_string_attr(llfn: &Value, name: &str) -> bool { + llvm::HasStringAttribute(llfn, name) +} + +pub(crate) fn remove_from_llfn(llfn: &Value, place: AttributePlace, kind: AttributeKind) { + llvm::RemoveRustEnumAttributeAtIndex(llfn, place, kind); +} + +pub(crate) fn remove_string_attr_from_llfn(llfn: &Value, name: &str) { + llvm::RemoveStringAttrFromFn(llfn, name); +} + /// Get LLVM attribute for the provided inline heuristic. #[inline] fn inline_attr<'ll>(cx: &CodegenCx<'ll, '_>, inline: InlineAttr) -> Option<&'ll Attribute> { |
