| 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;
|
|
|