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 167 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
178 /// predecessor and successor edges, in the form of CfgNode::InEdges[] and | 178 /// predecessor and successor edges, in the form of CfgNode::InEdges[] and |
179 /// CfgNode::OutEdges[]. | 179 /// CfgNode::OutEdges[]. |
180 void computeInOutEdges(); | 180 void computeInOutEdges(); |
181 void renumberInstructions(); | 181 void renumberInstructions(); |
182 void placePhiLoads(); | 182 void placePhiLoads(); |
183 void placePhiStores(); | 183 void placePhiStores(); |
184 void deletePhis(); | 184 void deletePhis(); |
185 void advancedPhiLowering(); | 185 void advancedPhiLowering(); |
186 void reorderNodes(); | 186 void reorderNodes(); |
187 void shuffleNodes(); | 187 void shuffleNodes(); |
| 188 void sortAllocas(std::vector<Inst *> &Allocas, InstList &Insts, |
| 189 bool IsKnownFrameOffset); |
| 190 /// Merge all the fixed-size allocas in the entry block. |
| 191 void processAllocas(); |
188 void doAddressOpt(); | 192 void doAddressOpt(); |
189 void doArgLowering(); | 193 void doArgLowering(); |
190 void doNopInsertion(); | 194 void doNopInsertion(); |
191 void genCode(); | 195 void genCode(); |
192 void genFrame(); | 196 void genFrame(); |
193 void computeLoopNestDepth(); | 197 void computeLoopNestDepth(); |
194 void livenessLightweight(); | 198 void livenessLightweight(); |
195 void liveness(LivenessMode Mode); | 199 void liveness(LivenessMode Mode); |
196 bool validateLiveness() const; | 200 bool validateLiveness() const; |
197 void contractEmptyNodes(); | 201 void contractEmptyNodes(); |
(...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
288 | 292 |
289 public: | 293 public: |
290 static void TlsInit() { ICE_TLS_INIT_FIELD(CurrentCfg); } | 294 static void TlsInit() { ICE_TLS_INIT_FIELD(CurrentCfg); } |
291 }; | 295 }; |
292 | 296 |
293 template <> Variable *Cfg::makeVariable<Variable>(Type Ty); | 297 template <> Variable *Cfg::makeVariable<Variable>(Type Ty); |
294 | 298 |
295 } // end of namespace Ice | 299 } // end of namespace Ice |
296 | 300 |
297 #endif // SUBZERO_SRC_ICECFG_H | 301 #endif // SUBZERO_SRC_ICECFG_H |
OLD | NEW |