Mark the cxa_guard_{abort,acquire,release} functions nounwind.

llvm-svn: 150435
This commit is contained in:
Nick Lewycky 2012-02-13 23:45:02 +00:00
parent aef4ca78c5
commit adcec49f96
1 changed files with 6 additions and 3 deletions

View File

@ -979,7 +979,8 @@ static llvm::Constant *getGuardAcquireFn(CodeGenModule &CGM,
llvm::FunctionType::get(CGM.getTypes().ConvertType(CGM.getContext().IntTy), llvm::FunctionType::get(CGM.getTypes().ConvertType(CGM.getContext().IntTy),
GuardPtrTy, /*isVarArg=*/false); GuardPtrTy, /*isVarArg=*/false);
return CGM.CreateRuntimeFunction(FTy, "__cxa_guard_acquire"); return CGM.CreateRuntimeFunction(FTy, "__cxa_guard_acquire",
llvm::Attribute::NoUnwind);
} }
static llvm::Constant *getGuardReleaseFn(CodeGenModule &CGM, static llvm::Constant *getGuardReleaseFn(CodeGenModule &CGM,
@ -988,7 +989,8 @@ static llvm::Constant *getGuardReleaseFn(CodeGenModule &CGM,
llvm::FunctionType *FTy = llvm::FunctionType *FTy =
llvm::FunctionType::get(CGM.VoidTy, GuardPtrTy, /*isVarArg=*/false); llvm::FunctionType::get(CGM.VoidTy, GuardPtrTy, /*isVarArg=*/false);
return CGM.CreateRuntimeFunction(FTy, "__cxa_guard_release"); return CGM.CreateRuntimeFunction(FTy, "__cxa_guard_release",
llvm::Attribute::NoUnwind);
} }
static llvm::Constant *getGuardAbortFn(CodeGenModule &CGM, static llvm::Constant *getGuardAbortFn(CodeGenModule &CGM,
@ -997,7 +999,8 @@ static llvm::Constant *getGuardAbortFn(CodeGenModule &CGM,
llvm::FunctionType *FTy = llvm::FunctionType *FTy =
llvm::FunctionType::get(CGM.VoidTy, GuardPtrTy, /*isVarArg=*/false); llvm::FunctionType::get(CGM.VoidTy, GuardPtrTy, /*isVarArg=*/false);
return CGM.CreateRuntimeFunction(FTy, "__cxa_guard_abort"); return CGM.CreateRuntimeFunction(FTy, "__cxa_guard_abort",
llvm::Attribute::NoUnwind);
} }
namespace { namespace {