Make invokes of inline asm legal. Teach codegen

how to lower them (with no attempt made to be
efficient, since they should only occur for
unoptimized code).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45108 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Duncan Sands
2007-12-17 18:08:19 +00:00
parent 9dfb11d32d
commit fd7b326bea
5 changed files with 39 additions and 22 deletions

View File

@@ -69,9 +69,8 @@ static void HandleInlinedInvoke(InvokeInst *II, BasicBlock *FirstNewBlock,
if (!isa<CallInst>(I)) continue;
CallInst *CI = cast<CallInst>(I);
// If this call cannot unwind or is an inline asm, don't
// convert it to an invoke.
if (CI->isNoUnwind() || isa<InlineAsm>(CI->getCalledValue()))
// If this call cannot unwind, don't convert it to an invoke.
if (CI->isNoUnwind())
continue;
// Convert this function call into an invoke instruction.