Index: src/IceGlobalContext.h |
diff --git a/src/IceGlobalContext.h b/src/IceGlobalContext.h |
index 1f0a600d485fa8dcba7d3c5915d0bdc936e0428d..39ae927c787782fb58c7c2472ed02dc003616b06 100644 |
--- a/src/IceGlobalContext.h |
+++ b/src/IceGlobalContext.h |
@@ -179,37 +179,40 @@ public: |
// Reset stats at the beginning of a function. |
void resetStats() { |
if (ALLOW_DUMP) |
- TLS->StatsFunction.reset(); |
+ ICE_TLS_GET_FIELD(TLS, ThreadContext *)->StatsFunction.reset(); |
} |
void dumpStats(const IceString &Name, bool Final = false); |
void statsUpdateEmitted(uint32_t InstCount) { |
if (!ALLOW_DUMP || !getFlags().DumpStats) |
return; |
- TLS->StatsFunction.updateEmitted(InstCount); |
+ ICE_TLS_GET_FIELD(TLS, |
+ ThreadContext *)->StatsFunction.updateEmitted(InstCount); |
getStatsCumulative()->updateEmitted(InstCount); |
} |
void statsUpdateRegistersSaved(uint32_t Num) { |
if (!ALLOW_DUMP || !getFlags().DumpStats) |
return; |
- TLS->StatsFunction.updateRegistersSaved(Num); |
+ ICE_TLS_GET_FIELD(TLS, |
+ ThreadContext *)->StatsFunction.updateRegistersSaved(Num); |
getStatsCumulative()->updateRegistersSaved(Num); |
} |
void statsUpdateFrameBytes(uint32_t Bytes) { |
if (!ALLOW_DUMP || !getFlags().DumpStats) |
return; |
- TLS->StatsFunction.updateFrameBytes(Bytes); |
+ ICE_TLS_GET_FIELD(TLS, |
+ ThreadContext *)->StatsFunction.updateFrameBytes(Bytes); |
getStatsCumulative()->updateFrameBytes(Bytes); |
} |
void statsUpdateSpills() { |
if (!ALLOW_DUMP || !getFlags().DumpStats) |
return; |
- TLS->StatsFunction.updateSpills(); |
+ ICE_TLS_GET_FIELD(TLS, ThreadContext *)->StatsFunction.updateSpills(); |
getStatsCumulative()->updateSpills(); |
} |
void statsUpdateFills() { |
if (!ALLOW_DUMP || !getFlags().DumpStats) |
return; |
- TLS->StatsFunction.updateFills(); |
+ ICE_TLS_GET_FIELD(TLS, ThreadContext *)->StatsFunction.updateFills(); |
getStatsCumulative()->updateFills(); |
} |
@@ -274,7 +277,7 @@ private: |
std::vector<ThreadContext *> AllThreadContexts; |
// Each thread has its own TLS pointer which is also held in |
// AllThreadContexts. |
- ICE_ATTRIBUTE_TLS static ThreadContext *TLS; |
+ ICE_TLS_DECLARE_FIELD(TLS, ThreadContext *); |
// Private helpers for mangleName() |
typedef llvm::SmallVector<char, 32> ManglerVector; |