[llvm-commits] atomic operator patch
    Dan Gohman 
    gohman at apple.com
       
    Fri May  2 15:10:02 PDT 2008
    
    
  
Hi Mon Ping,
This patch looks good to me. I just have a few minor comments.
In lib/Target/X86/X86ISelLowering.cpp:
+  // Move all successors to thisMBB to nextMBB
+  for(MachineBasicBlock::succ_iterator iter = thisMBB->succ_begin(),
+      end = thisMBB->succ_end(); iter != end; ++iter) {
+    nextMBB->addSuccessor(*iter);
+  }
+
+  // Update thisMBB to fall through to newMBB
+  while(!thisMBB->succ_empty())
+    thisMBB->removeSuccessor(thisMBB->succ_begin());
Transferring all the successors from one block to another is
a fairly common task. Could you add a utility routine to
MachineBasicBlock to do this?
+  // newBB jumps to itself and fall through to next bb
+  newMBB->addSuccessor(nextMBB);
Typo; the comment should say newMBB.
Thanks,
Dan
On May 2, 2008, at 11:58 AM, Mon P Wang wrote:
>
> Thanks for all the helpful comments. I have fixed and cleanup the  
> code for the atomic operator patch.  I have changed the code to use  
> cmpxchg and to loop if the value we read has been altered before the  
> write.  Please let me know if you have any further comments.
>
> Thanks,
>  -- Mon Ping
>
> <atomic_op.patch>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
    
    
More information about the llvm-commits
mailing list