OLD | NEW |
1 //===- subzero/src/IceGlobalContext.h - Global context defs -----*- C++ -*-===// | 1 //===- subzero/src/IceGlobalContext.h - Global context defs -----*- C++ -*-===// |
2 // | 2 // |
3 // The Subzero Code Generator | 3 // The Subzero Code Generator |
4 // | 4 // |
5 // This file is distributed under the University of Illinois Open Source | 5 // This file is distributed under the University of Illinois Open Source |
6 // License. See LICENSE.TXT for details. | 6 // License. See LICENSE.TXT for details. |
7 // | 7 // |
8 //===----------------------------------------------------------------------===// | 8 //===----------------------------------------------------------------------===// |
9 /// | 9 /// |
10 /// \file | 10 /// \file |
(...skipping 377 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
388 /// Notifies that no more work will be added to the work queue. | 388 /// Notifies that no more work will be added to the work queue. |
389 void optQueueNotifyEnd() { OptQ.notifyEnd(); } | 389 void optQueueNotifyEnd() { OptQ.notifyEnd(); } |
390 | 390 |
391 /// Emit file header for output file. | 391 /// Emit file header for output file. |
392 void emitFileHeader(); | 392 void emitFileHeader(); |
393 | 393 |
394 void lowerConstants(); | 394 void lowerConstants(); |
395 | 395 |
396 void lowerJumpTables(); | 396 void lowerJumpTables(); |
397 | 397 |
| 398 /// Emit target specific read-only data sections if any. E.g., for MIPS this |
| 399 /// generates a .MIPS.abiflags section. |
| 400 void emitTargetRODataSections(); |
| 401 |
398 void emitQueueBlockingPush(std::unique_ptr<EmitterWorkItem> Item); | 402 void emitQueueBlockingPush(std::unique_ptr<EmitterWorkItem> Item); |
399 std::unique_ptr<EmitterWorkItem> emitQueueBlockingPop(); | 403 std::unique_ptr<EmitterWorkItem> emitQueueBlockingPop(); |
400 void emitQueueNotifyEnd() { EmitQ.notifyEnd(); } | 404 void emitQueueNotifyEnd() { EmitQ.notifyEnd(); } |
401 | 405 |
402 void initParserThread() { | 406 void initParserThread() { |
403 ThreadContext *Tls = new ThreadContext(); | 407 ThreadContext *Tls = new ThreadContext(); |
404 auto Timers = getTimers(); | 408 auto Timers = getTimers(); |
405 Timers->initInto(Tls->Timers); | 409 Timers->initInto(Tls->Timers); |
406 AllThreadContexts.push_back(Tls); | 410 AllThreadContexts.push_back(Tls); |
407 ICE_TLS_SET_FIELD(TLS, Tls); | 411 ICE_TLS_SET_FIELD(TLS, Tls); |
(...skipping 290 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
698 explicit OstreamLocker(GlobalContext *Ctx) : Ctx(Ctx) { Ctx->lockStr(); } | 702 explicit OstreamLocker(GlobalContext *Ctx) : Ctx(Ctx) { Ctx->lockStr(); } |
699 ~OstreamLocker() { Ctx->unlockStr(); } | 703 ~OstreamLocker() { Ctx->unlockStr(); } |
700 | 704 |
701 private: | 705 private: |
702 GlobalContext *const Ctx; | 706 GlobalContext *const Ctx; |
703 }; | 707 }; |
704 | 708 |
705 } // end of namespace Ice | 709 } // end of namespace Ice |
706 | 710 |
707 #endif // SUBZERO_SRC_ICEGLOBALCONTEXT_H | 711 #endif // SUBZERO_SRC_ICEGLOBALCONTEXT_H |
OLD | NEW |