Fix PR1335 and Transforms/Inline/2007-04-15-InlineEH.ll

llvm-svn: 36090
diff --git a/llvm/lib/Transforms/Utils/InlineFunction.cpp b/llvm/lib/Transforms/Utils/InlineFunction.cpp
index a1a638b..9735a2f 100644
--- a/llvm/lib/Transforms/Utils/InlineFunction.cpp
+++ b/llvm/lib/Transforms/Utils/InlineFunction.cpp
@@ -69,10 +69,11 @@
           if (!isa<CallInst>(I)) continue;
           CallInst *CI = cast<CallInst>(I);
 
-          // If this is an intrinsic function call, don't convert it to an
-          // invoke.
-          if (CI->getCalledFunction() &&
-              CI->getCalledFunction()->getIntrinsicID())
+          // If this is an intrinsic function call or an inline asm, don't
+          // convert it to an invoke.
+          if ((CI->getCalledFunction() &&
+               CI->getCalledFunction()->getIntrinsicID()) ||
+              isa<InlineAsm>(CI->getCalledValue()))
             continue;
           
           // Convert this function call into an invoke instruction.