Skip functions that return multiple values.

llvm-svn: 47924
This commit is contained in:
Devang Patel 2008-03-05 00:36:59 +00:00
parent d5804b31c4
commit e516aa1127
1 changed files with 5 additions and 0 deletions

View File

@ -50,6 +50,11 @@ bool UnifyFunctionExitNodes::runOnFunction(Function &F) {
// Loop over all of the blocks in a function, tracking all of the blocks that
// return.
//
// PHINode can not handle aggregates returned by multiple value ret
// instructions. TODO: Handle each return value independently.
if (isa<StructType>(F.getReturnType()))
return false;
std::vector<BasicBlock*> ReturningBlocks;
std::vector<BasicBlock*> UnwindingBlocks;
std::vector<BasicBlock*> UnreachableBlocks;