inline asm calls should be nounwind. Chris, please review.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65866 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/CodeGen/CGStmt.cpp b/lib/CodeGen/CGStmt.cpp
index 307dccf..cbd8a89 100644
--- a/lib/CodeGen/CGStmt.cpp
+++ b/lib/CodeGen/CGStmt.cpp
@@ -1003,7 +1003,10 @@
llvm::InlineAsm *IA =
llvm::InlineAsm::get(FTy, AsmString, Constraints,
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
Builder.CreateStore(Result, ResultAddr);
}