OLD | NEW |
---|---|
1 //===- subzero/src/IceCfg.h - Control flow graph ----------------*- C++ -*-===// | 1 //===- subzero/src/IceCfg.h - Control flow graph ----------------*- 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 245 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
256 /// Deallocate data that was allocated via allocate<T>(). | 256 /// Deallocate data that was allocated via allocate<T>(). |
257 template <typename T> void deallocate(T *Object) { | 257 template <typename T> void deallocate(T *Object) { |
258 Allocator->Deallocate(Object); | 258 Allocator->Deallocate(Object); |
259 } | 259 } |
260 | 260 |
261 /// Deallocate data that was allocated via allocateArrayOf<T>(). | 261 /// Deallocate data that was allocated via allocateArrayOf<T>(). |
262 template <typename T> void deallocateArrayOf(T *Array) { | 262 template <typename T> void deallocateArrayOf(T *Array) { |
263 Allocator->Deallocate(Array); | 263 Allocator->Deallocate(Array); |
264 } | 264 } |
265 | 265 |
266 /// Update Phi labels with InEdges. | |
267 /// | |
268 /// The WASM translater cannot always determine the right incoming edge for a | |
Jim Stichnoth
2016/03/29 17:49:57
translator
Eric Holk
2016/03/29 22:58:07
Done.
| |
269 /// value. The fixPhiNodes pass fills in the correct information once | |
270 /// everything is known. | |
271 void fixPhiNodes(); | |
272 | |
266 private: | 273 private: |
267 friend class CfgAllocatorTraits; // for Allocator access. | 274 friend class CfgAllocatorTraits; // for Allocator access. |
268 | 275 |
269 Cfg(GlobalContext *Ctx, uint32_t SequenceNumber); | 276 Cfg(GlobalContext *Ctx, uint32_t SequenceNumber); |
270 | 277 |
271 /// Adds a call to the ProfileSummary runtime function as the first | 278 /// Adds a call to the ProfileSummary runtime function as the first |
272 /// instruction in this CFG's entry block. | 279 /// instruction in this CFG's entry block. |
273 void addCallToProfileSummary(); | 280 void addCallToProfileSummary(); |
274 | 281 |
275 /// Iterates over the basic blocks in this CFG, adding profiling code to each | 282 /// Iterates over the basic blocks in this CFG, adding profiling code to each |
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
332 | 339 |
333 public: | 340 public: |
334 static void TlsInit() { CfgAllocatorTraits::init(); } | 341 static void TlsInit() { CfgAllocatorTraits::init(); } |
335 }; | 342 }; |
336 | 343 |
337 template <> Variable *Cfg::makeVariable<Variable>(Type Ty); | 344 template <> Variable *Cfg::makeVariable<Variable>(Type Ty); |
338 | 345 |
339 } // end of namespace Ice | 346 } // end of namespace Ice |
340 | 347 |
341 #endif // SUBZERO_SRC_ICECFG_H | 348 #endif // SUBZERO_SRC_ICECFG_H |
OLD | NEW |