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 102 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
113 static cl::opt<std::string> VerboseFocusOn( | 113 static cl::opt<std::string> VerboseFocusOn( |
114 "verbose-focus", | 114 "verbose-focus", |
115 cl::desc("Temporarily enable full verbosity for a specific function"), | 115 cl::desc("Temporarily enable full verbosity for a specific function"), |
116 cl::init("")); | 116 cl::init("")); |
117 | 117 |
118 static cl::opt<bool> | 118 static cl::opt<bool> |
119 EnablePhiEdgeSplit("phi-edge-split", | 119 EnablePhiEdgeSplit("phi-edge-split", |
120 cl::desc("Enable edge splitting for Phi lowering"), | 120 cl::desc("Enable edge splitting for Phi lowering"), |
121 cl::init(true)); | 121 cl::init(true)); |
122 | 122 |
| 123 static cl::opt<bool> DecorateAsm( |
| 124 "asm-verbose", |
| 125 cl::desc("Decorate textual asm output with register liveness info")); |
| 126 |
123 static cl::opt<bool> | 127 static cl::opt<bool> |
124 DumpStats("stats", | 128 DumpStats("stats", |
125 cl::desc("Print statistics after translating each function")); | 129 cl::desc("Print statistics after translating each function")); |
126 | 130 |
127 // This is currently needed by crosstest.py. | 131 // This is currently needed by crosstest.py. |
128 static cl::opt<bool> AllowUninitializedGlobals( | 132 static cl::opt<bool> AllowUninitializedGlobals( |
129 "allow-uninitialized-globals", | 133 "allow-uninitialized-globals", |
130 cl::desc("Allow global variables to be uninitialized")); | 134 cl::desc("Allow global variables to be uninitialized")); |
131 | 135 |
132 static cl::opt<NaClFileFormat> InputFileFormat( | 136 static cl::opt<NaClFileFormat> InputFileFormat( |
(...skipping 116 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
249 | 253 |
250 Ice::ClFlags Flags; | 254 Ice::ClFlags Flags; |
251 Flags.DisableInternal = DisableInternal; | 255 Flags.DisableInternal = DisableInternal; |
252 Flags.SubzeroTimingEnabled = SubzeroTimingEnabled; | 256 Flags.SubzeroTimingEnabled = SubzeroTimingEnabled; |
253 Flags.DisableTranslation = DisableTranslation; | 257 Flags.DisableTranslation = DisableTranslation; |
254 Flags.FunctionSections = FunctionSections; | 258 Flags.FunctionSections = FunctionSections; |
255 Flags.DataSections = DataSections; | 259 Flags.DataSections = DataSections; |
256 Flags.UseIntegratedAssembler = UseIntegratedAssembler; | 260 Flags.UseIntegratedAssembler = UseIntegratedAssembler; |
257 Flags.UseSandboxing = UseSandboxing; | 261 Flags.UseSandboxing = UseSandboxing; |
258 Flags.PhiEdgeSplit = EnablePhiEdgeSplit; | 262 Flags.PhiEdgeSplit = EnablePhiEdgeSplit; |
| 263 Flags.DecorateAsm = DecorateAsm; |
259 Flags.DumpStats = DumpStats; | 264 Flags.DumpStats = DumpStats; |
260 Flags.AllowUninitializedGlobals = AllowUninitializedGlobals; | 265 Flags.AllowUninitializedGlobals = AllowUninitializedGlobals; |
261 Flags.TimeEachFunction = TimeEachFunction; | 266 Flags.TimeEachFunction = TimeEachFunction; |
262 Flags.DefaultGlobalPrefix = DefaultGlobalPrefix; | 267 Flags.DefaultGlobalPrefix = DefaultGlobalPrefix; |
263 Flags.DefaultFunctionPrefix = DefaultFunctionPrefix; | 268 Flags.DefaultFunctionPrefix = DefaultFunctionPrefix; |
264 Flags.TimingFocusOn = TimingFocusOn; | 269 Flags.TimingFocusOn = TimingFocusOn; |
265 Flags.VerboseFocusOn = VerboseFocusOn; | 270 Flags.VerboseFocusOn = VerboseFocusOn; |
266 Flags.TranslateOnly = TranslateOnly; | 271 Flags.TranslateOnly = TranslateOnly; |
267 | 272 |
268 Ice::GlobalContext Ctx(Ls, Os, VMask, TargetArch, OptLevel, TestPrefix, | 273 Ice::GlobalContext Ctx(Ls, Os, VMask, TargetArch, OptLevel, TestPrefix, |
(...skipping 29 matching lines...) Expand all Loading... |
298 if (TimeEachFunction) { | 303 if (TimeEachFunction) { |
299 const bool DumpCumulative = false; | 304 const bool DumpCumulative = false; |
300 Ctx.dumpTimers(Ice::GlobalContext::TSK_Funcs, DumpCumulative); | 305 Ctx.dumpTimers(Ice::GlobalContext::TSK_Funcs, DumpCumulative); |
301 } | 306 } |
302 if (SubzeroTimingEnabled) | 307 if (SubzeroTimingEnabled) |
303 Ctx.dumpTimers(); | 308 Ctx.dumpTimers(); |
304 const bool FinalStats = true; | 309 const bool FinalStats = true; |
305 Ctx.dumpStats("_FINAL_", FinalStats); | 310 Ctx.dumpStats("_FINAL_", FinalStats); |
306 return GetReturnValue(ErrorStatus); | 311 return GetReturnValue(ErrorStatus); |
307 } | 312 } |
OLD | NEW |