| 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 |