revert r79708 + r79711

llvm-svn: 79720
This commit is contained in:
Chris Lattner 2009-08-22 04:07:34 +00:00
parent 682d8c1881
commit 56d60eaa61
1 changed files with 3 additions and 5 deletions

View File

@ -5017,19 +5017,17 @@ void SDNode::Profile(FoldingSetNodeID &ID) const {
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];
}
}