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