http://llvm.org/bugs/show_bug.cgi?id=11137

           Summary: Cleanup iteration over pointer-keyed maps and other
                    nondeterminism
           Product: libraries
           Version: trunk
          Platform: PC
        OS/Version: All
            Status: NEW
          Severity: normal
          Priority: P
         Component: Scalar Optimizations
        AssignedTo: [email protected]
        ReportedBy: [email protected]
                CC: [email protected], [email protected]


Based on an IRC discussion, it seems to be about time for someone to sweep over
the code removing obvious sources of nondeterminism like iterating over a map
with pointer keys.

I haven't looked carefully to see if any of these cases cause noticeable
nondeterminism. It may be worth cleaning them up just to be rigorous about this
sort of thing.

In SimplifyCFG:
  for (std::map<BasicBlock*, std::pair<unsigned, unsigned> >::iterator
             I = Popularity.begin(), E = Popularity.end(); I != E; ++I) {


In DeadStoreElimination:
  for (SmallPtrSet<Value*, 16>::iterator I = DeadStackObjects.begin(),

If anyone sees other suspects, please add them to this list if you don't intend
to fix it yourself!

-- 
Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.
_______________________________________________
LLVMbugs mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/llvmbugs

Reply via email to