just put smallvec lengths in the signature
This commit is contained in:
parent
30d3ce0674
commit
91e7e8ddcb
|
@ -51,13 +51,10 @@ const OPTIMIZATION_ATTRIBUTES: [(ArgAttribute, llvm::AttributeKind); 5] = [
|
||||||
(ArgAttribute::NoUndef, llvm::AttributeKind::NoUndef),
|
(ArgAttribute::NoUndef, llvm::AttributeKind::NoUndef),
|
||||||
];
|
];
|
||||||
|
|
||||||
fn get_attrs<'ll>(
|
fn get_attrs<'ll>(this: &ArgAttributes, cx: &CodegenCx<'ll, '_>) -> SmallVec<[&'ll Attribute; 8]> {
|
||||||
this: &ArgAttributes,
|
|
||||||
cx: &CodegenCx<'ll, '_>,
|
|
||||||
) -> SmallVec<impl smallvec::Array<Item = &'ll Attribute>> {
|
|
||||||
let mut regular = this.regular;
|
let mut regular = this.regular;
|
||||||
|
|
||||||
let mut attrs = SmallVec::<[_; 8]>::new();
|
let mut attrs = SmallVec::new();
|
||||||
|
|
||||||
// ABI-affecting attributes must always be applied
|
// ABI-affecting attributes must always be applied
|
||||||
for (attr, llattr) in ABI_AFFECTING_ATTRIBUTES {
|
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>(
|
pub fn sanitize_attrs<'ll>(
|
||||||
cx: &CodegenCx<'ll, '_>,
|
cx: &CodegenCx<'ll, '_>,
|
||||||
no_sanitize: SanitizerSet,
|
no_sanitize: SanitizerSet,
|
||||||
) -> SmallVec<impl smallvec::Array<Item = &'ll Attribute>> {
|
) -> SmallVec<[&'ll Attribute; 4]> {
|
||||||
let mut attrs = SmallVec::<[_; 4]>::new();
|
let mut attrs = SmallVec::new();
|
||||||
let enabled = cx.tcx.sess.opts.debugging_opts.sanitizer - no_sanitize;
|
let enabled = cx.tcx.sess.opts.debugging_opts.sanitizer - no_sanitize;
|
||||||
if enabled.contains(SanitizerSet::ADDRESS) {
|
if enabled.contains(SanitizerSet::ADDRESS) {
|
||||||
attrs.push(llvm::AttributeKind::SanitizeAddress.create_attr(cx.llcx));
|
attrs.push(llvm::AttributeKind::SanitizeAddress.create_attr(cx.llcx));
|
||||||
|
@ -224,12 +224,12 @@ pub(crate) fn default_optimisation_attrs<'ll>(
|
||||||
cx: &CodegenCx<'ll, '_>,
|
cx: &CodegenCx<'ll, '_>,
|
||||||
) -> (
|
) -> (
|
||||||
// Attributes to remove
|
// Attributes to remove
|
||||||
SmallVec<impl smallvec::Array<Item = AttributeKind>>,
|
SmallVec<[AttributeKind; 3]>,
|
||||||
// Attributes to add
|
// Attributes to add
|
||||||
SmallVec<impl smallvec::Array<Item = &'ll Attribute>>,
|
SmallVec<[&'ll Attribute; 2]>,
|
||||||
) {
|
) {
|
||||||
let mut to_remove = SmallVec::<[_; 3]>::new();
|
let mut to_remove = SmallVec::new();
|
||||||
let mut to_add = SmallVec::<[_; 2]>::new();
|
let mut to_add = SmallVec::new();
|
||||||
match cx.sess().opts.optimize {
|
match cx.sess().opts.optimize {
|
||||||
OptLevel::Size => {
|
OptLevel::Size => {
|
||||||
to_remove.push(llvm::AttributeKind::MinSize);
|
to_remove.push(llvm::AttributeKind::MinSize);
|
||||||
|
|
Loading…
Reference in a new issue