Index: src/IceGlobalContext.h |
diff --git a/src/IceGlobalContext.h b/src/IceGlobalContext.h |
index 1f0a600d485fa8dcba7d3c5915d0bdc936e0428d..d1a6abb693c01545b1260ad0410790ed609b0835 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(ThreadContext *, TLS)->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(ThreadContext *, TLS) |
+ ->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(ThreadContext *, TLS) |
+ ->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(ThreadContext *, TLS) |
+ ->StatsFunction.updateFrameBytes(Bytes); |
getStatsCumulative()->updateFrameBytes(Bytes); |
} |
void statsUpdateSpills() { |
if (!ALLOW_DUMP || !getFlags().DumpStats) |
return; |
- TLS->StatsFunction.updateSpills(); |
+ ICE_TLS_GET_FIELD(ThreadContext *, TLS)->StatsFunction.updateSpills(); |
getStatsCumulative()->updateSpills(); |
} |
void statsUpdateFills() { |
if (!ALLOW_DUMP || !getFlags().DumpStats) |
return; |
- TLS->StatsFunction.updateFills(); |
+ ICE_TLS_GET_FIELD(ThreadContext *, TLS)->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(ThreadContext *, TLS); |
// Private helpers for mangleName() |
typedef llvm::SmallVector<char, 32> ManglerVector; |