[llvm-commits] [llvm] r79720 - /llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
Eric Christopher
echristo at apple.com
Fri Aug 21 21:22:42 PDT 2009
Thanks!
Sent from my iPhone
On Aug 21, 2009, at 9:07 PM, Chris Lattner <sabre at nondot.org> wrote:
> Author: lattner
> Date: Fri Aug 21 23:07:34 2009
> New Revision: 79720
>
> URL: http://llvm.org/viewvc/llvm-project?rev=79720&view=rev
> Log:
> revert r79708 + r79711
>
> Modified:
> llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
>
> Modified: llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAG.cpp?rev=79720&r1=79719&r2=79720&view=diff
>
> ===
> ===
> ===
> =====================================================================
> --- llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAG.cpp (original)
> +++ llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAG.cpp Fri Aug 21
> 23:07:34 2009
> @@ -5017,19 +5017,17 @@
>
> static ManagedStatic<std::set<EVT, EVT::compareRawBits> > EVTs;
> static EVT VTs[MVT::LAST_VALUETYPE];
> +static ManagedStatic<sys::SmartMutex<true> > VTMutex;
>
> /// getValueTypeList - Return a pointer to the specified value type.
> ///
> const EVT *SDNode::getValueTypeList(EVT VT) {
> + sys::SmartScopedLock<true> Lock(*VTMutex);
> if (VT.isExtended()) {
> return &(*EVTs->insert(VT).first);
> } else {
> - // All writes to this location will have the same value, so
> it's ok
> - // to race on it. We only need to ensure that at least one
> write has
> - // succeeded before we return the pointer into the array.
> VTs[VT.getSimpleVT().SimpleTy] = VT;
> - sys::MemoryFence();
> - return VTs + VT.getSimpleVT().SimpleTy;
> + return &VTs[VT.getSimpleVT().SimpleTy];
> }
> }
>
>
>
> _______________________________________________
> 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