mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-13 20:32:21 +00:00
Remove the function attr cache for intrinsics. This does not maintain the
refcount on these correctly, and can end up referring to deleted attributes. This fixes PR1881. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45525 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
89e94bd00c
commit
50cffa0107
@ -325,11 +325,6 @@ const FunctionType *Intrinsic::getType(ID id, const Type **Tys,
|
||||
}
|
||||
|
||||
const ParamAttrsList *Intrinsic::getParamAttrs(ID id) {
|
||||
static const ParamAttrsList *IntrinsicAttributes[Intrinsic::num_intrinsics];
|
||||
|
||||
if (IntrinsicAttributes[id])
|
||||
return IntrinsicAttributes[id];
|
||||
|
||||
ParamAttrsVector Attrs;
|
||||
uint16_t Attr = ParamAttr::None;
|
||||
|
||||
@ -341,8 +336,7 @@ const ParamAttrsList *Intrinsic::getParamAttrs(ID id) {
|
||||
Attr |= ParamAttr::NoUnwind;
|
||||
|
||||
Attrs.push_back(ParamAttrsWithIndex::get(0, Attr));
|
||||
IntrinsicAttributes[id] = ParamAttrsList::get(Attrs);
|
||||
return IntrinsicAttributes[id];
|
||||
return ParamAttrsList::get(Attrs);
|
||||
}
|
||||
|
||||
Function *Intrinsic::getDeclaration(Module *M, ID id, const Type **Tys,
|
||||
|
Loading…
Reference in New Issue
Block a user