public:
const char *Name;
const char *Desc;
- unsigned Value;
+ volatile llvm::sys::cas_flag Value;
bool Initialized;
- unsigned getValue() const { return Value; }
+ llvm::sys::cas_flag getValue() const { return Value; }
const char *getName() const { return Name; }
const char *getDesc() const { return Desc; }
// for each location equivalent Node.
struct Node {
private:
- static unsigned Counter;
+ static volatile sys::cas_flag Counter;
public:
Value *Val;
static RegisterAnalysisGroup<AliasAnalysis> Y(X);
// Initialize Timestamp Counter (static).
-unsigned Andersens::Node::Counter = 0;
+volatile llvm::sys::cas_flag Andersens::Node::Counter = 0;
ModulePass *llvm::createAndersensPass() { return new Andersens(); }
}
typedef std::map<const char*, unsigned, StrCmp> IDMapType;
-static unsigned IDCounter = 0; // Unique ID counter
+static volatile sys::cas_flag IDCounter = 0; // Unique ID counter
// Static member to ensure initialiation on demand.
static ManagedStatic<IDMapType> IDMap;