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

Side by Side Diff: src/IceClFlags.cpp

Issue 1136793002: Handle ARM "ret void" and function alignment with proper padding. (Closed) Base URL: https://chromium.googlesource.com/native_client/pnacl-subzero.git@master
Patch Set: note moved to cpp Created 5 years, 7 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/IceClFlags.h ('k') | src/IceCompileServer.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/IceClFlags.cpp - Command line flags and parsing --------===// 1 //===- subzero/src/IceClFlags.cpp - Command line flags and parsing --------===//
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 commandline flags parsing. 10 // This file defines commandline flags parsing.
(...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after
104 104
105 cl::opt<bool> ShouldDoNopInsertion("nop-insertion", 105 cl::opt<bool> ShouldDoNopInsertion("nop-insertion",
106 cl::desc("Randomly insert NOPs"), 106 cl::desc("Randomly insert NOPs"),
107 cl::init(false)); 107 cl::init(false));
108 108
109 cl::opt<bool> 109 cl::opt<bool>
110 RandomizeRegisterAllocation("randomize-regalloc", 110 RandomizeRegisterAllocation("randomize-regalloc",
111 cl::desc("Randomize register allocation"), 111 cl::desc("Randomize register allocation"),
112 cl::init(false)); 112 cl::init(false));
113 113
114 cl::opt<bool> SkipUnimplemented(
115 "skip-unimplemented",
116 cl::desc("Skip through unimplemented lowering code instead of aborting."),
117 cl::init(false));
118
114 cl::opt<bool> SubzeroTimingEnabled( 119 cl::opt<bool> SubzeroTimingEnabled(
115 "timing", cl::desc("Enable breakdown timing of Subzero translation")); 120 "timing", cl::desc("Enable breakdown timing of Subzero translation"));
116 121
117 cl::opt<Ice::TargetArch> TargetArch( 122 cl::opt<Ice::TargetArch> TargetArch(
118 "target", cl::desc("Target architecture:"), cl::init(Ice::Target_X8632), 123 "target", cl::desc("Target architecture:"), cl::init(Ice::Target_X8632),
119 cl::values( 124 cl::values(
120 clEnumValN(Ice::Target_X8632, "x8632", "x86-32"), 125 clEnumValN(Ice::Target_X8632, "x8632", "x86-32"),
121 clEnumValN(Ice::Target_X8632, "x86-32", "x86-32 (same as x8632)"), 126 clEnumValN(Ice::Target_X8632, "x86-32", "x86-32 (same as x8632)"),
122 clEnumValN(Ice::Target_X8632, "x86_32", "x86-32 (same as x8632)"), 127 clEnumValN(Ice::Target_X8632, "x86_32", "x86-32 (same as x8632)"),
123 clEnumValN(Ice::Target_X8664, "x8664", "x86-64"), 128 clEnumValN(Ice::Target_X8664, "x8664", "x86-64"),
(...skipping 129 matching lines...) Expand 10 before | Expand all | Expand 10 after
253 OutFlags.DecorateAsm = false; 258 OutFlags.DecorateAsm = false;
254 OutFlags.DisableInternal = false; 259 OutFlags.DisableInternal = false;
255 OutFlags.DisableIRGeneration = false; 260 OutFlags.DisableIRGeneration = false;
256 OutFlags.DisableTranslation = false; 261 OutFlags.DisableTranslation = false;
257 OutFlags.DumpStats = false; 262 OutFlags.DumpStats = false;
258 OutFlags.FunctionSections = false; 263 OutFlags.FunctionSections = false;
259 OutFlags.GenerateUnitTestMessages = false; 264 OutFlags.GenerateUnitTestMessages = false;
260 OutFlags.PhiEdgeSplit = false; 265 OutFlags.PhiEdgeSplit = false;
261 OutFlags.RandomNopInsertion = false; 266 OutFlags.RandomNopInsertion = false;
262 OutFlags.RandomRegAlloc = false; 267 OutFlags.RandomRegAlloc = false;
268 OutFlags.SkipUnimplemented = false;
263 OutFlags.SubzeroTimingEnabled = false; 269 OutFlags.SubzeroTimingEnabled = false;
264 OutFlags.TimeEachFunction = false; 270 OutFlags.TimeEachFunction = false;
265 OutFlags.UseSandboxing = false; 271 OutFlags.UseSandboxing = false;
266 // Enum and integer fields. 272 // Enum and integer fields.
267 OutFlags.Opt = Opt_m1; 273 OutFlags.Opt = Opt_m1;
268 OutFlags.OutFileType = FT_Iasm; 274 OutFlags.OutFileType = FT_Iasm;
269 OutFlags.RandomMaxNopsPerInstruction = 0; 275 OutFlags.RandomMaxNopsPerInstruction = 0;
270 OutFlags.RandomNopProbabilityAsPercentage = 0; 276 OutFlags.RandomNopProbabilityAsPercentage = 0;
271 OutFlags.TArch = TargetArch_NUM; 277 OutFlags.TArch = TargetArch_NUM;
272 OutFlags.VMask = IceV_None; 278 OutFlags.VMask = IceV_None;
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
304 OutFlags.setDisableIRGeneration(::DisableIRGeneration); 310 OutFlags.setDisableIRGeneration(::DisableIRGeneration);
305 OutFlags.setDisableTranslation(::DisableTranslation); 311 OutFlags.setDisableTranslation(::DisableTranslation);
306 OutFlags.setDumpStats(::DumpStats); 312 OutFlags.setDumpStats(::DumpStats);
307 OutFlags.setFunctionSections(::FunctionSections); 313 OutFlags.setFunctionSections(::FunctionSections);
308 OutFlags.setNumTranslationThreads(::NumThreads); 314 OutFlags.setNumTranslationThreads(::NumThreads);
309 OutFlags.setOptLevel(::OLevel); 315 OutFlags.setOptLevel(::OLevel);
310 OutFlags.setPhiEdgeSplit(::EnablePhiEdgeSplit); 316 OutFlags.setPhiEdgeSplit(::EnablePhiEdgeSplit);
311 OutFlags.setRandomSeed(::RandomSeed); 317 OutFlags.setRandomSeed(::RandomSeed);
312 OutFlags.setShouldDoNopInsertion(::ShouldDoNopInsertion); 318 OutFlags.setShouldDoNopInsertion(::ShouldDoNopInsertion);
313 OutFlags.setShouldRandomizeRegAlloc(::RandomizeRegisterAllocation); 319 OutFlags.setShouldRandomizeRegAlloc(::RandomizeRegisterAllocation);
320 OutFlags.setSkipUnimplemented(::SkipUnimplemented);
314 OutFlags.setSubzeroTimingEnabled(::SubzeroTimingEnabled); 321 OutFlags.setSubzeroTimingEnabled(::SubzeroTimingEnabled);
315 OutFlags.setTargetArch(::TargetArch); 322 OutFlags.setTargetArch(::TargetArch);
316 OutFlags.setTargetInstructionSet(::TargetInstructionSet); 323 OutFlags.setTargetInstructionSet(::TargetInstructionSet);
317 OutFlags.setTestPrefix(::TestPrefix); 324 OutFlags.setTestPrefix(::TestPrefix);
318 OutFlags.setTimeEachFunction(::TimeEachFunction); 325 OutFlags.setTimeEachFunction(::TimeEachFunction);
319 OutFlags.setTimingFocusOn(::TimingFocusOn); 326 OutFlags.setTimingFocusOn(::TimingFocusOn);
320 OutFlags.setTranslateOnly(::TranslateOnly); 327 OutFlags.setTranslateOnly(::TranslateOnly);
321 OutFlags.setUseSandboxing(::UseSandboxing); 328 OutFlags.setUseSandboxing(::UseSandboxing);
322 OutFlags.setVerboseFocusOn(::VerboseFocusOn); 329 OutFlags.setVerboseFocusOn(::VerboseFocusOn);
323 OutFlags.setOutFileType(::OutFileType); 330 OutFlags.setOutFileType(::OutFileType);
324 OutFlags.setMaxNopsPerInstruction(::MaxNopsPerInstruction); 331 OutFlags.setMaxNopsPerInstruction(::MaxNopsPerInstruction);
325 OutFlags.setNopProbabilityAsPercentage(::NopProbabilityAsPercentage); 332 OutFlags.setNopProbabilityAsPercentage(::NopProbabilityAsPercentage);
326 OutFlags.setVerbose(VMask); 333 OutFlags.setVerbose(VMask);
327 } 334 }
328 335
329 void ClFlags::getParsedClFlagsExtra(ClFlagsExtra &OutFlagsExtra) { 336 void ClFlags::getParsedClFlagsExtra(ClFlagsExtra &OutFlagsExtra) {
330 OutFlagsExtra.setAlwaysExitSuccess(AlwaysExitSuccess); 337 OutFlagsExtra.setAlwaysExitSuccess(AlwaysExitSuccess);
331 OutFlagsExtra.setBuildOnRead(BuildOnRead); 338 OutFlagsExtra.setBuildOnRead(BuildOnRead);
332 OutFlagsExtra.setGenerateBuildAtts(GenerateBuildAtts); 339 OutFlagsExtra.setGenerateBuildAtts(GenerateBuildAtts);
333 OutFlagsExtra.setLLVMVerboseErrors(LLVMVerboseErrors); 340 OutFlagsExtra.setLLVMVerboseErrors(LLVMVerboseErrors);
334 OutFlagsExtra.setAppName(AppName); 341 OutFlagsExtra.setAppName(AppName);
335 OutFlagsExtra.setInputFileFormat(InputFileFormat); 342 OutFlagsExtra.setInputFileFormat(InputFileFormat);
336 OutFlagsExtra.setIRFilename(IRFilename); 343 OutFlagsExtra.setIRFilename(IRFilename);
337 OutFlagsExtra.setLogFilename(LogFilename); 344 OutFlagsExtra.setLogFilename(LogFilename);
338 OutFlagsExtra.setOutputFilename(OutputFilename); 345 OutFlagsExtra.setOutputFilename(OutputFilename);
339 } 346 }
340 347
341 } // end of namespace Ice 348 } // end of namespace Ice
OLDNEW
« no previous file with comments | « src/IceClFlags.h ('k') | src/IceCompileServer.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698