Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(426)

Side by Side Diff: src/llvm2ice.cpp

Issue 905463003: Adds accessor methods to class ClFlags. (Closed) Base URL: https://chromium.googlesource.com/native_client/pnacl-subzero.git@master
Patch Set: Fix nits in patchset 2. Created 5 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « src/PNaClTranslator.cpp ('k') | unittest/BitcodeMunge.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 210 matching lines...) Expand 10 before | Expand all | Expand 10 after
221 static int GetReturnValue(int Val) { 221 static int GetReturnValue(int Val) {
222 if (AlwaysExitSuccess) 222 if (AlwaysExitSuccess)
223 return 0; 223 return 0;
224 return Val; 224 return Val;
225 } 225 }
226 226
227 static struct { 227 static struct {
228 const char *FlagName; 228 const char *FlagName;
229 int FlagValue; 229 int FlagValue;
230 } ConditionalBuildAttributes[] = {{"dump", ALLOW_DUMP}, 230 } ConditionalBuildAttributes[] = {{"dump", ALLOW_DUMP},
231 {"disable_ir_gen", ALLOW_DISABLE_IR_GEN},
231 {"llvm_cl", ALLOW_LLVM_CL}, 232 {"llvm_cl", ALLOW_LLVM_CL},
232 {"llvm_ir", ALLOW_LLVM_IR}, 233 {"llvm_ir", ALLOW_LLVM_IR},
233 {"llvm_ir_as_input", ALLOW_LLVM_IR_AS_INPUT}, 234 {"llvm_ir_as_input", ALLOW_LLVM_IR_AS_INPUT},
234 {"disable_ir_gen", ALLOW_DISABLE_IR_GEN}}; 235 {"minimal_build", ALLOW_MINIMAL_BUILD}};
235 236
236 // Validates values of build attributes. Prints them to Stream if 237 // Validates values of build attributes. Prints them to Stream if
237 // Stream is non-null. 238 // Stream is non-null.
238 static void ValidateAndGenerateBuildAttributes(Ice::Ostream *Stream) { 239 static void ValidateAndGenerateBuildAttributes(Ice::Ostream *Stream) {
239 240
240 if (Stream) 241 if (Stream)
241 *Stream << TargetArch << "\n"; 242 *Stream << TargetArch << "\n";
242 243
243 for (size_t i = 0; i < array_lengthof(ConditionalBuildAttributes); ++i) { 244 for (size_t i = 0; i < array_lengthof(ConditionalBuildAttributes); ++i) {
244 switch (ConditionalBuildAttributes[i].FlagValue) { 245 switch (ConditionalBuildAttributes[i].FlagValue) {
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
291 if (GenerateBuildAtts) 292 if (GenerateBuildAtts)
292 return GetReturnValue(Ice::EC_None); 293 return GetReturnValue(Ice::EC_None);
293 294
294 if (!ALLOW_DISABLE_IR_GEN && DisableIRGeneration) { 295 if (!ALLOW_DISABLE_IR_GEN && DisableIRGeneration) {
295 *Ls << "Error: Build doesn't allow --no-ir-gen when not " 296 *Ls << "Error: Build doesn't allow --no-ir-gen when not "
296 << "ALLOW_DISABLE_IR_GEN!\n"; 297 << "ALLOW_DISABLE_IR_GEN!\n";
297 return GetReturnValue(Ice::EC_Args); 298 return GetReturnValue(Ice::EC_Args);
298 } 299 }
299 300
300 Ice::ClFlags Flags; 301 Ice::ClFlags Flags;
301 Flags.DisableInternal = DisableInternal; 302 Flags.setAllowErrorRecovery(AllowErrorRecovery);
302 Flags.SubzeroTimingEnabled = SubzeroTimingEnabled; 303 Flags.setAllowUninitializedGlobals(AllowUninitializedGlobals);
303 Flags.DisableTranslation = DisableTranslation; 304 Flags.setDataSections(DataSections);
304 Flags.FunctionSections = FunctionSections; 305 Flags.setDecorateAsm(DecorateAsm);
305 Flags.DataSections = DataSections; 306 Flags.setDefaultFunctionPrefix(DefaultFunctionPrefix);
306 Flags.UseELFWriter = UseELFWriter; 307 Flags.setDefaultGlobalPrefix(DefaultGlobalPrefix);
307 Flags.UseIntegratedAssembler = UseIntegratedAssembler; 308 Flags.setDisableInternal(DisableInternal);
308 Flags.UseSandboxing = UseSandboxing; 309 Flags.setDisableIRGeneration(DisableIRGeneration);
309 Flags.PhiEdgeSplit = EnablePhiEdgeSplit; 310 Flags.setDisableTranslation(DisableTranslation);
310 Flags.DecorateAsm = DecorateAsm; 311 Flags.setDumpStats(DumpStats);
311 Flags.DumpStats = DumpStats; 312 Flags.setFunctionSections(FunctionSections);
312 Flags.AllowUninitializedGlobals = AllowUninitializedGlobals; 313 Flags.setNumTranslationThreads(NumThreads);
313 Flags.TimeEachFunction = TimeEachFunction; 314 Flags.setPhiEdgeSplit(EnablePhiEdgeSplit);
314 Flags.NumTranslationThreads = NumThreads; 315 Flags.setStubConstantCalls(StubConstantCalls);
315 Flags.DefaultGlobalPrefix = DefaultGlobalPrefix; 316 Flags.setSubzeroTimingEnabled(SubzeroTimingEnabled);
316 Flags.DefaultFunctionPrefix = DefaultFunctionPrefix; 317 Flags.setTimeEachFunction(TimeEachFunction);
317 Flags.TimingFocusOn = TimingFocusOn; 318 Flags.setTimingFocusOn(TimingFocusOn);
318 Flags.VerboseFocusOn = VerboseFocusOn; 319 Flags.setTranslateOnly(TranslateOnly);
319 Flags.TranslateOnly = TranslateOnly; 320 Flags.setUseELFWriter(UseELFWriter);
320 Flags.DisableIRGeneration = DisableIRGeneration; 321 Flags.setUseIntegratedAssembler(UseIntegratedAssembler);
321 Flags.AllowErrorRecovery = AllowErrorRecovery; 322 Flags.setUseSandboxing(UseSandboxing);
322 Flags.StubConstantCalls = StubConstantCalls; 323 Flags.setVerboseFocusOn(VerboseFocusOn);
323 324
324 // Force -build-on-read=0 for .ll files. 325 // Force -build-on-read=0 for .ll files.
325 const std::string LLSuffix = ".ll"; 326 const std::string LLSuffix = ".ll";
326 if (IRFilename.length() >= LLSuffix.length() && 327 if (IRFilename.length() >= LLSuffix.length() &&
327 IRFilename.compare(IRFilename.length() - LLSuffix.length(), 328 IRFilename.compare(IRFilename.length() - LLSuffix.length(),
328 LLSuffix.length(), LLSuffix) == 0) 329 LLSuffix.length(), LLSuffix) == 0)
329 BuildOnRead = false; 330 BuildOnRead = false;
330 331
331 // With the ELF writer, use a raw_fd_ostream to allow seeking. 332 // With the ELF writer, use a raw_fd_ostream to allow seeking.
332 // Also don't buffer, otherwise it gets pretty slow. 333 // Also don't buffer, otherwise it gets pretty slow.
(...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after
411 if (SubzeroTimingEnabled) 412 if (SubzeroTimingEnabled)
412 Ctx.dumpTimers(); 413 Ctx.dumpTimers();
413 if (TimeEachFunction) { 414 if (TimeEachFunction) {
414 const bool DumpCumulative = false; 415 const bool DumpCumulative = false;
415 Ctx.dumpTimers(Ice::GlobalContext::TSK_Funcs, DumpCumulative); 416 Ctx.dumpTimers(Ice::GlobalContext::TSK_Funcs, DumpCumulative);
416 } 417 }
417 const bool FinalStats = true; 418 const bool FinalStats = true;
418 Ctx.dumpStats("_FINAL_", FinalStats); 419 Ctx.dumpStats("_FINAL_", FinalStats);
419 return GetReturnValue(Ctx.getErrorStatus()->value()); 420 return GetReturnValue(Ctx.getErrorStatus()->value());
420 } 421 }
OLDNEW
« no previous file with comments | « src/PNaClTranslator.cpp ('k') | unittest/BitcodeMunge.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698