summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Unknown <afd@afd-THINK>2012-09-19 09:39:15 +0100
committerGravatar Unknown <afd@afd-THINK>2012-09-19 09:39:15 +0100
commitb1530597d97bf6adbdc64b6f7698e1e1bee6966b (patch)
treea0f51257239f3537e1687a97c54da26c06548866
parent743cb89f91a030d38740defa775f9d2406e74e24 (diff)
When uniformity analysis is disabled, no procedures (even the kernel entry
point) will be regarded as uniform. This simplification avoids various edge cases.
-rw-r--r--Source/GPUVerify/GPUVerifier.cs8
1 files changed, 5 insertions, 3 deletions
diff --git a/Source/GPUVerify/GPUVerifier.cs b/Source/GPUVerify/GPUVerifier.cs
index 5afabe80..868bcaa1 100644
--- a/Source/GPUVerify/GPUVerifier.cs
+++ b/Source/GPUVerify/GPUVerifier.cs
@@ -475,8 +475,10 @@ namespace GPUVerify
private void DoUniformityAnalysis()
{
- var entryPoints = new HashSet<Implementation>();
- entryPoints.Add(KernelImplementation);
+ var entryPoints = new HashSet<Implementation>();
+ if (CommandLineOptions.DoUniformityAnalysis) {
+ entryPoints.Add(KernelImplementation);
+ }
var nonUniformVars = new Variable[] { _X, _Y, _Z, _GROUP_X, _GROUP_Y, _GROUP_Z };
@@ -1910,7 +1912,7 @@ namespace GPUVerify
{
if (CommandLineOptions.SmartPredication)
{
- SmartBlockPredicator.Predicate(Program, proc => proc != KernelProcedure, uniformityAnalyser);
+ SmartBlockPredicator.Predicate(Program, proc => true, uniformityAnalyser);
}
else
{