| Index: src/IceDefs.h
|
| diff --git a/src/IceDefs.h b/src/IceDefs.h
|
| index 66a500fe950f46a312caa41b1a8d84b4fe2dad36..2d2fdac663378e9c11713508c2f8ba7ae690b741 100644
|
| --- a/src/IceDefs.h
|
| +++ b/src/IceDefs.h
|
| @@ -23,6 +23,7 @@
|
| #include <limits>
|
| #include <list>
|
| #include <map>
|
| +#include <mutex>
|
| #include <string>
|
| #include <vector>
|
| #include "llvm/ADT/ArrayRef.h"
|
| @@ -65,6 +66,7 @@ class InstTarget;
|
| class LiveRange;
|
| class Liveness;
|
| class Operand;
|
| +class TargetGlobalLowering;
|
| class TargetLowering;
|
| class Variable;
|
| class VariableDeclaration;
|
| @@ -127,6 +129,13 @@ typedef llvm::BitVector LivenessBV;
|
| typedef uint32_t TimerStackIdT;
|
| typedef uint32_t TimerIdT;
|
|
|
| +// Use alignas(MaxCacheLineSize) to isolate variables/fields that
|
| +// might be contended while multithreading. Assumes the maximum cache
|
| +// line size is 64.
|
| +enum {
|
| + MaxCacheLineSize = 64
|
| +};
|
| +
|
| // PNaCl is ILP32, so theoretically we should only need 32-bit offsets.
|
| typedef int32_t RelocOffsetT;
|
| enum { RelocAddrSize = 4 };
|
| @@ -170,6 +179,8 @@ typedef uint32_t VerboseMask;
|
| typedef llvm::raw_ostream Ostream;
|
| typedef llvm::raw_fd_ostream Fdstream;
|
|
|
| +typedef std::mutex GlobalLockType;
|
| +
|
| // Reverse range adaptors written in terms of llvm::make_range().
|
| template <typename T>
|
| llvm::iterator_range<typename T::const_reverse_iterator>
|
|
|