Forgot cc, the entire group.<br><br>How can deterministically iterate over the uses of a variable. i.e. the uses should be any particular order that doesn't change from execution to execution of the opt tool.<br><br clear="all">
To make myself more clearer, here is a snippet of code that has Values
reordered each time I analyze a particular piece of code(which doesn't
change) with the LLVM opt tool and my LLVM pass.<br><br>
<br>
void Anders::id_gep_ce(Value *G){<br>
  assert(G);<br>
  //Check all GEP and bitcast ConstantExpr's using G.<br>
  for(Value::use_iterator it= G->use_begin(), ie= G->use_end(); it != ie; ++it){<br>
    ConstantExpr *E= dyn_cast<ConstantExpr>(*it);<br>
    do_something_with(E);<br>
}<br>
<br><br>i.e. use_begin() and use_end() still works correctly such that
iterates through all the uses of G but the uses themselves are
reordered. My question is whether I can deterministically iterate
through all the uses of G each time run the analysis.<br>
<br>Currently this is what happens in principle: <br><br>

Execution 1: <val 1> <val 2> <val 3><br>

<br>

Execution 2: <val 2> <val 1> <val 3><br><br>The llvm version that I am using llvm 2.5. My machine is an x86 32 bit dual core machine. <br><br>The
code that I am analyzing is some bytecode that is generated apriori.
This is only generated once, and the analysis reads this particular
bytecode file to perform an analysis using the opt tool.<br>
<br>Thanks,<br>Augustine<br>