<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Mar 24, 2015 at 10:12 AM, Adam Nemet <span dir="ltr"><<a href="mailto:anemet@apple.com" target="_blank">anemet@apple.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">================<br>
Comment at: test/Analysis/ControlDependence/testdiamond.ll:4-14<br>
@@ +3,13 @@<br>
+target datalayout = "e-i64:64-f80:128-n8:16:32:64-S128"<br>
+define void @testdiamond() {<br>
+start:<br>
+    br i1 true, label %same, label %different<br>
+same:<br>
+    br label %returnit<br>
+different:<br>
+    br label %returnit<br>
+returnit:<br>
+    ret void<br>
+}<br>
+; CHECK: ({different},{same},{returnit,start})<br>
+<br>
----------------<br>
Hi Danny,<br>
<br>
Quick question, is this control equivalence or control dependence?</blockquote><div><br></div><div>They are CDEQ sets, so control dependence equivalence :)</div><div><br></div><div>We can call it whatever we want.</div><div> <br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">  Without looking at the details, it looks more like control equiv to me.  Can this analysis also provide control dependence?<br></blockquote><div><br></div><div>Without thinking too hard, you should be able to calculate the other sets from where the equivalence classes change.</div><div><br></div><div>IE the edge which leads from one equivalence class to another.</div><div><br></div><div> <br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
Also probably a silly question, but aren't 'different' and 'same' control-equiv here?  They both seem to be control-depended on start, no?<br>
<br></blockquote><div><br></div><div>No, because it's not really nodes but edges (because they are CDEQ sets, which are made up of edges)</div><div><br></div><div>The edge (start, different) is a different edge than (start, same), so they are not dependent on the same edge.</div><div><br></div><div><br></div></div></div></div>