Skip functions that return multiple values.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47924 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Devang Patel 2008-03-05 00:36:59 +00:00
parent 45e99e4f29
commit 4d519457d1

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;