summaryrefslogtreecommitdiff
path: root/Source/GPUVerify/KernelDualiser.cs
diff options
context:
space:
mode:
authorGravatar Unknown <leino@LEINO6.redmond.corp.microsoft.com>2012-08-14 15:43:49 -0700
committerGravatar Unknown <leino@LEINO6.redmond.corp.microsoft.com>2012-08-14 15:43:49 -0700
commit84c536ab99a31a5a11637894952e608697a42606 (patch)
treeca088335b8a1f4c128547b83376fe951c85a4f63 /Source/GPUVerify/KernelDualiser.cs
parentc8f24efe0511fd5129753ad288cdc16c354f4d1a (diff)
parent486a0227c6d7864371265909f369f0ea3fd4851f (diff)
Merge
Diffstat (limited to 'Source/GPUVerify/KernelDualiser.cs')
-rw-r--r--Source/GPUVerify/KernelDualiser.cs6
1 files changed, 4 insertions, 2 deletions
diff --git a/Source/GPUVerify/KernelDualiser.cs b/Source/GPUVerify/KernelDualiser.cs
index fecd26fa..272d0a1b 100644
--- a/Source/GPUVerify/KernelDualiser.cs
+++ b/Source/GPUVerify/KernelDualiser.cs
@@ -106,12 +106,14 @@ namespace GPUVerify {
if (verifier.uniformityAnalyser.knowsOf(Call.callee) && verifier.uniformityAnalyser.IsUniform(Call.callee, verifier.uniformityAnalyser.GetInParameter(Call.callee, i))) {
uniformNewIns.Add(Call.Ins[i]);
}
- else {
+ else if(!verifier.OnlyThread2.Contains(Call.callee)) {
nonUniformNewIns.Add(new VariableDualiser(1, verifier.uniformityAnalyser, procName).VisitExpr(Call.Ins[i]));
}
}
for (int i = 0; i < Call.Ins.Count; i++) {
- if (!(verifier.uniformityAnalyser.knowsOf(Call.callee) && verifier.uniformityAnalyser.IsUniform(Call.callee, verifier.uniformityAnalyser.GetInParameter(Call.callee, i)))) {
+ if (
+ !(verifier.uniformityAnalyser.knowsOf(Call.callee) && verifier.uniformityAnalyser.IsUniform(Call.callee, verifier.uniformityAnalyser.GetInParameter(Call.callee, i)))
+ && !verifier.OnlyThread1.Contains(Call.callee)) {
nonUniformNewIns.Add(new VariableDualiser(2, verifier.uniformityAnalyser, procName).VisitExpr(Call.Ins[i]));
}
}