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 257 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
268 /// Iterates over the basic blocks in this CFG, adding profiling code to each | 268 /// Iterates over the basic blocks in this CFG, adding profiling code to each |
269 /// one of them. It returns a list with all the globals that the profiling | 269 /// one of them. It returns a list with all the globals that the profiling |
270 /// code needs to be defined. | 270 /// code needs to be defined. |
271 void profileBlocks(); | 271 void profileBlocks(); |
272 | 272 |
273 void createNodeNameDeclaration(const std::string &NodeAsmName); | 273 void createNodeNameDeclaration(const std::string &NodeAsmName); |
274 void | 274 void |
275 createBlockProfilingInfoDeclaration(const std::string &NodeAsmName, | 275 createBlockProfilingInfoDeclaration(const std::string &NodeAsmName, |
276 VariableDeclaration *NodeNameDeclaration); | 276 VariableDeclaration *NodeNameDeclaration); |
277 | 277 |
278 /// Delete registered jump table placeholder instructions. This should only be | |
279 /// called once all repointing has taken place. | |
280 void deleteJumpTableInsts(); | |
281 /// Iterate through the registered jump tables and emit them. | 278 /// Iterate through the registered jump tables and emit them. |
282 void emitJumpTables(); | 279 void emitJumpTables(); |
283 | 280 |
284 enum AllocaBaseVariableType { | 281 enum AllocaBaseVariableType { |
285 BVT_StackPointer, | 282 BVT_StackPointer, |
286 BVT_FramePointer, | 283 BVT_FramePointer, |
287 BVT_UserPointer | 284 BVT_UserPointer |
288 }; | 285 }; |
289 void sortAndCombineAllocas(CfgVector<Inst *> &Allocas, | 286 void sortAndCombineAllocas(CfgVector<Inst *> &Allocas, |
290 uint32_t CombinedAlignment, InstList &Insts, | 287 uint32_t CombinedAlignment, InstList &Insts, |
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
344 using OwnerType = Cfg; | 341 using OwnerType = Cfg; |
345 static StringPool *getStrings(const OwnerType *PoolOwner) { | 342 static StringPool *getStrings(const OwnerType *PoolOwner) { |
346 return PoolOwner->getVarStrings(); | 343 return PoolOwner->getVarStrings(); |
347 } | 344 } |
348 }; | 345 }; |
349 using VariableString = StringID<VariableStringPoolTraits>; | 346 using VariableString = StringID<VariableStringPoolTraits>; |
350 | 347 |
351 } // end of namespace Ice | 348 } // end of namespace Ice |
352 | 349 |
353 #endif // SUBZERO_SRC_ICECFG_H | 350 #endif // SUBZERO_SRC_ICECFG_H |
OLD | NEW |