<div>Hi everyone,</div>
<div> </div>
<div>It says in document  'The LLVM Target-Independent Code Generator ':</div>
<div> </div>
<div>"SelectionDAGs contain two different kinds of values: those that represent data flow and those that represent control flow dependencies. Data values are simple edges with an integer or floating point value type. Control edges are represented as "chain" edges which are of type <tt><font face="Courier New">MVT::Other</font></tt>. These edges provide an ordering between nodes that have side effects (such as loads, stores, calls, returns, etc). All nodes that have side effects should take a token chain as input and produce a new one as output. "</div>

<div> </div>
<div>Due to my poor knowledge of compiler i have several questions.</div>
<div> </div>
<div>1 What side effects do operatios of  loads/stores/calls/returns have? (maybe i don't understand concept of side effect )</div>
<div>2 What's "control edge"/"chain"? </div>
<div>3 Why do loads/stores have control edges?(maybe i could get the answer by myself if i understand  control edge/chain)</div>
<div> </div>
<div>Thanks</div>
<div>   </div>