inline asm calls should be nounwind. Chris, please review.

llvm-svn: 65866
This commit is contained in:
Anders Carlsson 2009-03-02 19:58:15 +00:00
parent 4c71f563e7
commit b3b675c35e
1 changed files with 4 additions and 1 deletions

View File

@ -1003,7 +1003,10 @@ void CodeGenFunction::EmitAsmStmt(const AsmStmt &S) {
llvm::InlineAsm *IA = llvm::InlineAsm *IA =
llvm::InlineAsm::get(FTy, AsmString, Constraints, llvm::InlineAsm::get(FTy, AsmString, Constraints,
S.isVolatile() || S.getNumOutputs() == 0); S.isVolatile() || S.getNumOutputs() == 0);
llvm::Value *Result = Builder.CreateCall(IA, Args.begin(), Args.end(), ""); llvm::CallInst *Result
= Builder.CreateCall(IA, Args.begin(), Args.end(), "");
Result->addAttribute(~0, llvm::Attribute::NoUnwind);
if (ResultAddr) // FIXME: volatility if (ResultAddr) // FIXME: volatility
Builder.CreateStore(Result, ResultAddr); Builder.CreateStore(Result, ResultAddr);
} }