提交 91e7e8dd 编写于 作者: E Erik Desjardins

just put smallvec lengths in the signature

上级 30d3ce06
......@@ -51,13 +51,10 @@ fn should_use_mutable_noalias(cx: &CodegenCx<'_, '_>) -> bool {
(ArgAttribute::NoUndef, llvm::AttributeKind::NoUndef),
];
fn get_attrs<'ll>(
this: &ArgAttributes,
cx: &CodegenCx<'ll, '_>,
) -> SmallVec<impl smallvec::Array<Item = &'ll Attribute>> {
fn get_attrs<'ll>(this: &ArgAttributes, cx: &CodegenCx<'ll, '_>) -> SmallVec<[&'ll Attribute; 8]> {
let mut regular = this.regular;
let mut attrs = SmallVec::<[_; 8]>::new();
let mut attrs = SmallVec::new();
// ABI-affecting attributes must always be applied
for (attr, llattr) in ABI_AFFECTING_ATTRIBUTES {
......
......@@ -62,8 +62,8 @@ fn inline_attr<'ll>(cx: &CodegenCx<'ll, '_>, inline: InlineAttr) -> Option<&'ll
pub fn sanitize_attrs<'ll>(
cx: &CodegenCx<'ll, '_>,
no_sanitize: SanitizerSet,
) -> SmallVec<impl smallvec::Array<Item = &'ll Attribute>> {
let mut attrs = SmallVec::<[_; 4]>::new();
) -> SmallVec<[&'ll Attribute; 4]> {
let mut attrs = SmallVec::new();
let enabled = cx.tcx.sess.opts.debugging_opts.sanitizer - no_sanitize;
if enabled.contains(SanitizerSet::ADDRESS) {
attrs.push(llvm::AttributeKind::SanitizeAddress.create_attr(cx.llcx));
......@@ -224,12 +224,12 @@ pub(crate) fn default_optimisation_attrs<'ll>(
cx: &CodegenCx<'ll, '_>,
) -> (
// Attributes to remove
SmallVec<impl smallvec::Array<Item = AttributeKind>>,
SmallVec<[AttributeKind; 3]>,
// Attributes to add
SmallVec<impl smallvec::Array<Item = &'ll Attribute>>,
SmallVec<[&'ll Attribute; 2]>,
) {
let mut to_remove = SmallVec::<[_; 3]>::new();
let mut to_add = SmallVec::<[_; 2]>::new();
let mut to_remove = SmallVec::new();
let mut to_add = SmallVec::new();
match cx.sess().opts.optimize {
OptLevel::Size => {
to_remove.push(llvm::AttributeKind::MinSize);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册