mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-08-07 12:28:24 +00:00
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:
@@ -50,6 +50,11 @@ bool UnifyFunctionExitNodes::runOnFunction(Function &F) {
|
|||||||
// Loop over all of the blocks in a function, tracking all of the blocks that
|
// Loop over all of the blocks in a function, tracking all of the blocks that
|
||||||
// return.
|
// 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*> ReturningBlocks;
|
||||||
std::vector<BasicBlock*> UnwindingBlocks;
|
std::vector<BasicBlock*> UnwindingBlocks;
|
||||||
std::vector<BasicBlock*> UnreachableBlocks;
|
std::vector<BasicBlock*> UnreachableBlocks;
|
||||||
|
Reference in New Issue
Block a user