OLD | NEW |
1 //===- subzero/src/IceCfg.cpp - Control flow graph implementation ---------===// | 1 //===- subzero/src/IceCfg.cpp - Control flow graph implementation ---------===// |
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 // This file implements the Cfg class, including constant pool | 10 // This file implements the Cfg class, including constant pool |
(...skipping 10 matching lines...) Expand all Loading... |
21 #include "IceOperand.h" | 21 #include "IceOperand.h" |
22 #include "IceTargetLowering.h" | 22 #include "IceTargetLowering.h" |
23 | 23 |
24 namespace Ice { | 24 namespace Ice { |
25 | 25 |
26 Cfg::Cfg(GlobalContext *Ctx) | 26 Cfg::Cfg(GlobalContext *Ctx) |
27 : Ctx(Ctx), FunctionName(""), ReturnType(IceType_void), | 27 : Ctx(Ctx), FunctionName(""), ReturnType(IceType_void), |
28 IsInternalLinkage(false), HasError(false), ErrorMessage(""), Entry(NULL), | 28 IsInternalLinkage(false), HasError(false), ErrorMessage(""), Entry(NULL), |
29 NextInstNumber(1), Live(NULL), | 29 NextInstNumber(1), Live(NULL), |
30 Target(TargetLowering::createLowering(Ctx->getTargetArch(), this)), | 30 Target(TargetLowering::createLowering(Ctx->getTargetArch(), this)), |
31 VMetadata(new VariablesMetadata(this)), CurrentNode(NULL) {} | 31 VMetadata(new VariablesMetadata(this)), |
| 32 TargetAssembler( |
| 33 TargetLowering::createAssembler(Ctx->getTargetArch(), this)), |
| 34 CurrentNode(NULL) {} |
32 | 35 |
33 Cfg::~Cfg() {} | 36 Cfg::~Cfg() {} |
34 | 37 |
35 void Cfg::setError(const IceString &Message) { | 38 void Cfg::setError(const IceString &Message) { |
36 HasError = true; | 39 HasError = true; |
37 ErrorMessage = Message; | 40 ErrorMessage = Message; |
38 Ctx->getStrDump() << "ICE translation error: " << ErrorMessage << "\n"; | 41 Ctx->getStrDump() << "ICE translation error: " << ErrorMessage << "\n"; |
39 } | 42 } |
40 | 43 |
41 CfgNode *Cfg::makeNode(const IceString &Name) { | 44 CfgNode *Cfg::makeNode(const IceString &Name) { |
(...skipping 346 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
388 for (NodeList::const_iterator I = Nodes.begin(), E = Nodes.end(); I != E; | 391 for (NodeList::const_iterator I = Nodes.begin(), E = Nodes.end(); I != E; |
389 ++I) { | 392 ++I) { |
390 (*I)->dump(this); | 393 (*I)->dump(this); |
391 } | 394 } |
392 if (getContext()->isVerbose(IceV_Instructions)) { | 395 if (getContext()->isVerbose(IceV_Instructions)) { |
393 Str << "}\n"; | 396 Str << "}\n"; |
394 } | 397 } |
395 } | 398 } |
396 | 399 |
397 } // end of namespace Ice | 400 } // end of namespace Ice |
OLD | NEW |