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

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;