Skip to content

No default constructor in llvm::AttrBuilder for Code generation (Chapter 5) #23

@Fare9

Description

@Fare9

In newer versions of LLVM (from LLVM 14), there's no default AttrBuilder constructor, it's necessary to add a LLVMContext.

Modify:

llvm::AttrBuilder Attr;
llvm::TypeSize Sz =
CGM.getModule()->getDataLayout().getTypeStoreSize(
CGM.convertType(FP->getType()));
Attr.addDereferenceableAttr(Sz);
Attr.addAttribute(llvm::Attribute::NoCapture);
Arg->addAttrs(Attr);

For:

llvm::AttrBuilder Attr(CGM.getLLVMCtx()); // add context here from CGM object
llvm::TypeSize Sz = CGM.getModule()->getDataLayout().getTypeStoreSize(CGM.convertType(FP->getType()));
Attr.addDereferenceableAttr(Sz);
Attr.addAttribute(llvm::Attribute::NoCapture);
Arg->addAttrs(Attr);

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions