summaryrefslogtreecommitdiff
path: root/Source/Predication
diff options
context:
space:
mode:
authorGravatar Ally Donaldson <unknown>2013-11-06 21:07:32 +0000
committerGravatar Ally Donaldson <unknown>2013-11-06 21:07:32 +0000
commit0c7c0b197f96d2ca8bd0b3c654dab783047ecb94 (patch)
treec34ce4afbdb140a27d16047037b600365ef370f7 /Source/Predication
parent35046bd244f18292be7f4c30b2a8496c9465416f (diff)
Fixes to predication. Patch by Jeroen Ketema.
Diffstat (limited to 'Source/Predication')
-rw-r--r--Source/Predication/SmartBlockPredicator.cs2
1 files changed, 1 insertions, 1 deletions
diff --git a/Source/Predication/SmartBlockPredicator.cs b/Source/Predication/SmartBlockPredicator.cs
index 5222061f..ea526591 100644
--- a/Source/Predication/SmartBlockPredicator.cs
+++ b/Source/Predication/SmartBlockPredicator.cs
@@ -429,7 +429,7 @@ public class SmartBlockPredicator {
var oldCmdSeq = block.Cmds;
block.Cmds = new List<Cmd>();
newBlocks.Add(block);
- if (prevBlock != null) {
+ if (prevBlock != null && !((prevBlock.TransferCmd is ReturnCmd) && uni != null && uni.IsUniform(impl.Name, block))) {
prevBlock.TransferCmd = new GotoCmd(Token.NoToken, new List<Block> { block });
}