OLD | NEW |
1 //===- subzero/src/llvm2ice.cpp - Driver for testing ----------------------===// | 1 //===- subzero/src/llvm2ice.cpp - Driver for testing ----------------------===// |
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 defines a driver that uses LLVM capabilities to parse a | 10 // This file defines a driver that uses LLVM capabilities to parse a |
(...skipping 29 matching lines...) Expand all Loading... |
40 clEnumValN(Ice::IceV_Preds, "pred", "Show predecessors"), | 40 clEnumValN(Ice::IceV_Preds, "pred", "Show predecessors"), |
41 clEnumValN(Ice::IceV_Succs, "succ", "Show successors"), | 41 clEnumValN(Ice::IceV_Succs, "succ", "Show successors"), |
42 clEnumValN(Ice::IceV_Liveness, "live", "Liveness information"), | 42 clEnumValN(Ice::IceV_Liveness, "live", "Liveness information"), |
43 clEnumValN(Ice::IceV_RegManager, "rmgr", "Register manager status"), | 43 clEnumValN(Ice::IceV_RegManager, "rmgr", "Register manager status"), |
44 clEnumValN(Ice::IceV_RegOrigins, "orig", "Physical register origins"), | 44 clEnumValN(Ice::IceV_RegOrigins, "orig", "Physical register origins"), |
45 clEnumValN(Ice::IceV_LinearScan, "regalloc", "Linear scan details"), | 45 clEnumValN(Ice::IceV_LinearScan, "regalloc", "Linear scan details"), |
46 clEnumValN(Ice::IceV_Frame, "frame", "Stack frame layout details"), | 46 clEnumValN(Ice::IceV_Frame, "frame", "Stack frame layout details"), |
47 clEnumValN(Ice::IceV_Timing, "time", "Pass timing details"), | 47 clEnumValN(Ice::IceV_Timing, "time", "Pass timing details"), |
48 clEnumValN(Ice::IceV_AddrOpt, "addropt", "Address mode optimization"), | 48 clEnumValN(Ice::IceV_AddrOpt, "addropt", "Address mode optimization"), |
49 clEnumValN(Ice::IceV_All, "all", "Use all verbose options"), | 49 clEnumValN(Ice::IceV_All, "all", "Use all verbose options"), |
| 50 clEnumValN(Ice::IceV_Most, "most", |
| 51 "Use all verbose options except 'regalloc' and 'time'"), |
50 clEnumValN(Ice::IceV_None, "none", "No verbosity"), clEnumValEnd)); | 52 clEnumValN(Ice::IceV_None, "none", "No verbosity"), clEnumValEnd)); |
51 static cl::opt<Ice::TargetArch> TargetArch( | 53 static cl::opt<Ice::TargetArch> TargetArch( |
52 "target", cl::desc("Target architecture:"), cl::init(Ice::Target_X8632), | 54 "target", cl::desc("Target architecture:"), cl::init(Ice::Target_X8632), |
53 cl::values( | 55 cl::values( |
54 clEnumValN(Ice::Target_X8632, "x8632", "x86-32"), | 56 clEnumValN(Ice::Target_X8632, "x8632", "x86-32"), |
55 clEnumValN(Ice::Target_X8632, "x86-32", "x86-32 (same as x8632)"), | 57 clEnumValN(Ice::Target_X8632, "x86-32", "x86-32 (same as x8632)"), |
56 clEnumValN(Ice::Target_X8632, "x86_32", "x86-32 (same as x8632)"), | 58 clEnumValN(Ice::Target_X8632, "x86_32", "x86-32 (same as x8632)"), |
57 clEnumValN(Ice::Target_X8664, "x8664", "x86-64"), | 59 clEnumValN(Ice::Target_X8664, "x8664", "x86-64"), |
58 clEnumValN(Ice::Target_X8664, "x86-64", "x86-64 (same as x8664)"), | 60 clEnumValN(Ice::Target_X8664, "x86-64", "x86-64 (same as x8664)"), |
59 clEnumValN(Ice::Target_X8664, "x86_64", "x86-64 (same as x8664)"), | 61 clEnumValN(Ice::Target_X8664, "x86_64", "x86-64 (same as x8664)"), |
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
127 | 129 |
128 static cl::opt<bool> | 130 static cl::opt<bool> |
129 BuildOnRead("build-on-read", | 131 BuildOnRead("build-on-read", |
130 cl::desc("Build ICE instructions when reading bitcode"), | 132 cl::desc("Build ICE instructions when reading bitcode"), |
131 cl::init(false)); | 133 cl::init(false)); |
132 | 134 |
133 static cl::opt<bool> | 135 static cl::opt<bool> |
134 UseIntegratedAssembler("integrated-as", | 136 UseIntegratedAssembler("integrated-as", |
135 cl::desc("Use integrated assembler (default yes)"), | 137 cl::desc("Use integrated assembler (default yes)"), |
136 cl::init(true)); | 138 cl::init(true)); |
| 139 static cl::alias UseIas("ias", cl::desc("Alias for -integrated-as"), |
| 140 cl::NotHidden, cl::aliasopt(UseIntegratedAssembler)); |
137 | 141 |
138 int main(int argc, char **argv) { | 142 int main(int argc, char **argv) { |
139 | 143 |
140 cl::ParseCommandLineOptions(argc, argv); | 144 cl::ParseCommandLineOptions(argc, argv); |
141 | 145 |
142 Ice::VerboseMask VMask = Ice::IceV_None; | 146 Ice::VerboseMask VMask = Ice::IceV_None; |
143 for (unsigned i = 0; i != VerboseList.size(); ++i) | 147 for (unsigned i = 0; i != VerboseList.size(); ++i) |
144 VMask |= VerboseList[i]; | 148 VMask |= VerboseList[i]; |
145 | 149 |
146 std::ofstream Ofs; | 150 std::ofstream Ofs; |
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
195 } | 199 } |
196 | 200 |
197 Ice::Converter Converter(Mod, &Ctx, Flags); | 201 Ice::Converter Converter(Mod, &Ctx, Flags); |
198 Converter.convertToIce(); | 202 Converter.convertToIce(); |
199 ErrorStatus = Converter.getErrorStatus(); | 203 ErrorStatus = Converter.getErrorStatus(); |
200 } | 204 } |
201 const bool FinalStats = true; | 205 const bool FinalStats = true; |
202 Ctx.dumpStats("_FINAL_", FinalStats); | 206 Ctx.dumpStats("_FINAL_", FinalStats); |
203 return ErrorStatus; | 207 return ErrorStatus; |
204 } | 208 } |
OLD | NEW |