Be more specific about flags and node merging behavior in basic-global test.

llvm-svn: 238488
diff --git a/poolalloc/test/dsa/td/basic-global.ll b/poolalloc/test/dsa/td/basic-global.ll
index 4bfda0e..8b0767c 100644
--- a/poolalloc/test/dsa/td/basic-global.ll
+++ b/poolalloc/test/dsa/td/basic-global.ll
@@ -18,6 +18,20 @@
 ; RUN: dsaopt %s -dsa-bu -analyze -verify-flags=@bar:ptr-G
 ; RUN: dsaopt %s -dsa-td -analyze -verify-flags=@foo:ptr+G
 ; RUN: dsaopt %s -dsa-td -analyze -verify-flags=@bar:ptr+G
+
+; B = indirect(foo, A)   ->  alias(B,A)
+; RUN: dsaopt %s -dsa-bu -analyze -check-same-node=@main:ptr,main:fooptr
+; RUN: dsaopt %s -dsa-bu -analyze -check-same-node=@main:fooptr2,main:barptr
+; B = indirect(bar, A)   ->  alias(B,G)
+; (We can't check this, nodes are in different graphs)
+; RUNX: dsaopt %s -dsa-bu -analyze -check-same-node=main:fooptr2,G
+
+; Neat result: ptr/footptr aren't marked "+G" in either BU or TD:
+; RUN: dsaopt %s -dsa-bu -analyze -verify-flags=@main:ptr-G,@main:fooptr-G
+; RUN: dsaopt %s -dsa-td -analyze -verify-flags=@main:ptr-G,@main:fooptr-G
+; Hoewver,  CBU and EQTD merge indirect's callees and thereby set +G on them.
+; RUN: dsaopt %s -dsa-eqtd -analyze -verify-flags=@main:ptr+G,@main:fooptr+G
+; RUN: dsaopt %s -dsa-cbu -analyze -verify-flags=@main:ptr+G,@main:fooptr+G
 target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128"
 target triple = "x86_64-unknown-linux-gnu"