Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
S
swiftshader
Project
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Chen Yisong
swiftshader
Commits
cb0d47b6
Commit
cb0d47b6
authored
Dec 17, 2015
by
Reed Kotler
Committed by
Jim Stichnoth
Dec 17, 2015
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
cleanup doxygen for IceClFlags.h
BUG= R=stichnot@chromium.org Review URL:
https://codereview.chromium.org/1527173002
. Patch from Reed Kotler <rkotlerimgtec@gmail.com>.
parent
6da7ae2b
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
168 additions
and
6 deletions
+168
-6
IceClFlags.h
src/IceClFlags.h
+166
-5
IceClFlagsExtra.h
src/IceClFlagsExtra.h
+2
-1
No files found.
src/IceClFlags.h
View file @
cb0d47b6
...
@@ -8,7 +8,7 @@
...
@@ -8,7 +8,7 @@
//===----------------------------------------------------------------------===//
//===----------------------------------------------------------------------===//
///
///
/// \file
/// \file
/// \brief Declares
command line flags controlling translation
.
/// \brief Declares
Ice::ClFlags which implements command line processing
.
///
///
//===----------------------------------------------------------------------===//
//===----------------------------------------------------------------------===//
...
@@ -22,279 +22,440 @@ namespace Ice {
...
@@ -22,279 +22,440 @@ namespace Ice {
class
ClFlagsExtra
;
class
ClFlagsExtra
;
/// Define variables which configure translation and related support functions.
class
ClFlags
{
class
ClFlags
{
ClFlags
(
const
ClFlags
&
)
=
delete
;
ClFlags
(
const
ClFlags
&
)
=
delete
;
ClFlags
&
operator
=
(
const
ClFlags
&
)
=
delete
;
ClFlags
&
operator
=
(
const
ClFlags
&
)
=
delete
;
public
:
public
:
/// User defined constructor.
ClFlags
()
{
resetClFlags
(
*
this
);
}
ClFlags
()
{
resetClFlags
(
*
this
);
}
/// \brief Parse commmand line options for Subzero.
///
/// This is done use cl::ParseCommandLineOptions() and the static variables of
/// type cl::opt defined in IceClFlags.cpp
static
void
parseFlags
(
int
argc
,
char
*
argv
[]);
static
void
parseFlags
(
int
argc
,
char
*
argv
[]);
/// Reset all configuration options to their nominal values.
static
void
resetClFlags
(
ClFlags
&
OutFlags
);
static
void
resetClFlags
(
ClFlags
&
OutFlags
);
/// \brief Retrieve the configuration option state
///
/// This is defined by static variables
/// anonymous_namespace{IceClFlags.cpp}::AllowErrorRecovery,
/// anonymous_namespace{IceClFlags.cpp}::AllowIacaMarks,
/// ...
static
void
getParsedClFlags
(
ClFlags
&
OutFlags
);
static
void
getParsedClFlags
(
ClFlags
&
OutFlags
);
/// Retrieve the extra configuration options state.
static
void
getParsedClFlagsExtra
(
ClFlagsExtra
&
OutFlagsExtra
);
static
void
getParsedClFlagsExtra
(
ClFlagsExtra
&
OutFlagsExtra
);
// bool accessors.
// bool accessors.
/// Get the value of ClFlags::AllowErrorRecovery
bool
getAllowErrorRecovery
()
const
{
return
AllowErrorRecovery
;
}
bool
getAllowErrorRecovery
()
const
{
return
AllowErrorRecovery
;
}
/// Set ClFlags::AllowErrorRecovery to a new value
void
setAllowErrorRecovery
(
bool
NewValue
)
{
AllowErrorRecovery
=
NewValue
;
}
void
setAllowErrorRecovery
(
bool
NewValue
)
{
AllowErrorRecovery
=
NewValue
;
}
/// Get the value of ClFlags::AllowExternDefinedSymbols
bool
getAllowExternDefinedSymbols
()
const
{
bool
getAllowExternDefinedSymbols
()
const
{
return
AllowExternDefinedSymbols
;
return
AllowExternDefinedSymbols
;
}
}
/// Set ClFlags::AllowExternDefinedSymbols to a new value
void
setAllowExternDefinedSymbols
(
bool
NewValue
)
{
void
setAllowExternDefinedSymbols
(
bool
NewValue
)
{
AllowExternDefinedSymbols
=
NewValue
;
AllowExternDefinedSymbols
=
NewValue
;
}
}
/// Get the value of ClFlags::AllowIacaMarks
bool
getAllowIacaMarks
()
const
{
return
AllowIacaMarks
;
}
bool
getAllowIacaMarks
()
const
{
return
AllowIacaMarks
;
}
/// Set ClFlags::AllowIacaMarks to a new value
void
setAllowIacaMarks
(
bool
NewValue
)
{
AllowIacaMarks
=
NewValue
;
}
void
setAllowIacaMarks
(
bool
NewValue
)
{
AllowIacaMarks
=
NewValue
;
}
/// Get the value of ClFlags::AllowUninitializedGlobals
bool
getAllowUninitializedGlobals
()
const
{
bool
getAllowUninitializedGlobals
()
const
{
return
AllowUninitializedGlobals
;
return
AllowUninitializedGlobals
;
}
}
/// Set ClFlags::AllowUninitializedGlobals to a new value
void
setAllowUninitializedGlobals
(
bool
NewValue
)
{
void
setAllowUninitializedGlobals
(
bool
NewValue
)
{
AllowUninitializedGlobals
=
NewValue
;
AllowUninitializedGlobals
=
NewValue
;
}
}
/// Get the value of ClFlags::DataSections
bool
getDataSections
()
const
{
return
DataSections
;
}
bool
getDataSections
()
const
{
return
DataSections
;
}
/// Set ClFlags::DataSections to a new value
void
setDataSections
(
bool
NewValue
)
{
DataSections
=
NewValue
;
}
void
setDataSections
(
bool
NewValue
)
{
DataSections
=
NewValue
;
}
/// Get the value of ClFlags::DecorateAsm
bool
getDecorateAsm
()
const
{
return
DecorateAsm
;
}
bool
getDecorateAsm
()
const
{
return
DecorateAsm
;
}
/// Set ClFlags::DecorateAsm to a new value
void
setDecorateAsm
(
bool
NewValue
)
{
DecorateAsm
=
NewValue
;
}
void
setDecorateAsm
(
bool
NewValue
)
{
DecorateAsm
=
NewValue
;
}
/// Get the value of ClFlags::DisableHybridAssembly
bool
getDisableHybridAssembly
()
const
{
return
DisableHybridAssembly
;
}
bool
getDisableHybridAssembly
()
const
{
return
DisableHybridAssembly
;
}
/// Set ClFlags::DisableHybridAssembly to a new value
void
setDisableHybridAssembly
(
bool
NewValue
)
{
void
setDisableHybridAssembly
(
bool
NewValue
)
{
DisableHybridAssembly
=
NewValue
;
DisableHybridAssembly
=
NewValue
;
}
}
/// Get the value of ClFlags::DisableInternal
bool
getDisableInternal
()
const
{
return
DisableInternal
;
}
bool
getDisableInternal
()
const
{
return
DisableInternal
;
}
/// Set ClFlags::DisableInternal to a new value
void
setDisableInternal
(
bool
NewValue
)
{
DisableInternal
=
NewValue
;
}
void
setDisableInternal
(
bool
NewValue
)
{
DisableInternal
=
NewValue
;
}
/// Get the value of ClFlags::DisableTranslation
bool
getDisableTranslation
()
const
{
return
DisableTranslation
;
}
bool
getDisableTranslation
()
const
{
return
DisableTranslation
;
}
/// Set ClFlags::DisableTranslation to a new value
void
setDisableTranslation
(
bool
NewValue
)
{
DisableTranslation
=
NewValue
;
}
void
setDisableTranslation
(
bool
NewValue
)
{
DisableTranslation
=
NewValue
;
}
/// Get the value of ClFlags::DumpStats
bool
getDumpStats
()
const
{
return
BuildDefs
::
dump
()
&&
DumpStats
;
}
bool
getDumpStats
()
const
{
return
BuildDefs
::
dump
()
&&
DumpStats
;
}
/// Set ClFlags::DumpStats to a new value
void
setDumpStats
(
bool
NewValue
)
{
DumpStats
=
NewValue
;
}
void
setDumpStats
(
bool
NewValue
)
{
DumpStats
=
NewValue
;
}
/// Get the value of ClFlags::EnableBlockProfile
bool
getEnableBlockProfile
()
const
{
return
EnableBlockProfile
;
}
bool
getEnableBlockProfile
()
const
{
return
EnableBlockProfile
;
}
/// Set ClFlags::EnableBlockProfile to a new value
void
setEnableBlockProfile
(
bool
NewValue
)
{
EnableBlockProfile
=
NewValue
;
}
void
setEnableBlockProfile
(
bool
NewValue
)
{
EnableBlockProfile
=
NewValue
;
}
/// Get the value of ClFlags::ForceMemIntrinOpt
bool
getForceMemIntrinOpt
()
const
{
return
ForceMemIntrinOpt
;
}
bool
getForceMemIntrinOpt
()
const
{
return
ForceMemIntrinOpt
;
}
/// Set ClFlags::ForceMemIntrinOpt to a new value
void
setForceMemIntrinOpt
(
bool
NewValue
)
{
ForceMemIntrinOpt
=
NewValue
;
}
void
setForceMemIntrinOpt
(
bool
NewValue
)
{
ForceMemIntrinOpt
=
NewValue
;
}
/// Get the value of ClFlags::FunctionSections
bool
getFunctionSections
()
const
{
return
FunctionSections
;
}
bool
getFunctionSections
()
const
{
return
FunctionSections
;
}
/// Set ClFlags::FunctionSections to a new value
void
setFunctionSections
(
bool
NewValue
)
{
FunctionSections
=
NewValue
;
}
void
setFunctionSections
(
bool
NewValue
)
{
FunctionSections
=
NewValue
;
}
/// \brief Get the value of ClFlags::GenerateUnitTestMessages
///
/// Note: If dump routines have been turned off, the error messages
/// will not be readable. Hence, turn off.
bool
getGenerateUnitTestMessages
()
const
{
bool
getGenerateUnitTestMessages
()
const
{
// Note: If dump routines have been turned off, the error messages will not
// be readable. Hence, turn off.
return
!
BuildDefs
::
dump
()
||
GenerateUnitTestMessages
;
return
!
BuildDefs
::
dump
()
||
GenerateUnitTestMessages
;
}
}
/// Set ClFlags::GenerateUnitTestMessages to a new value
void
setGenerateUnitTestMessages
(
bool
NewValue
)
{
void
setGenerateUnitTestMessages
(
bool
NewValue
)
{
GenerateUnitTestMessages
=
NewValue
;
GenerateUnitTestMessages
=
NewValue
;
}
}
/// Get the value of ClFlags::MockBoundsCheck
bool
getMockBoundsCheck
()
const
{
return
MockBoundsCheck
;
}
bool
getMockBoundsCheck
()
const
{
return
MockBoundsCheck
;
}
/// Set ClFlags::MockBoundsCheck to a new value
void
setMockBoundsCheck
(
bool
NewValue
)
{
MockBoundsCheck
=
NewValue
;
}
void
setMockBoundsCheck
(
bool
NewValue
)
{
MockBoundsCheck
=
NewValue
;
}
/// Get the value of ClFlags::PhiEdgeSplit
bool
getPhiEdgeSplit
()
const
{
return
PhiEdgeSplit
;
}
bool
getPhiEdgeSplit
()
const
{
return
PhiEdgeSplit
;
}
/// Set ClFlags::PhiEdgeSplit to a new value
void
setPhiEdgeSplit
(
bool
NewValue
)
{
PhiEdgeSplit
=
NewValue
;
}
void
setPhiEdgeSplit
(
bool
NewValue
)
{
PhiEdgeSplit
=
NewValue
;
}
/// Get the value of ClFlags::RandomNopInsertion
bool
shouldDoNopInsertion
()
const
{
return
RandomNopInsertion
;
}
bool
shouldDoNopInsertion
()
const
{
return
RandomNopInsertion
;
}
/// Set ClFlags::RandomNopInsertion to a new value
void
setShouldDoNopInsertion
(
bool
NewValue
)
{
RandomNopInsertion
=
NewValue
;
}
void
setShouldDoNopInsertion
(
bool
NewValue
)
{
RandomNopInsertion
=
NewValue
;
}
/// Get the value of ClFlags::RandomRegAlloc
bool
shouldRandomizeRegAlloc
()
const
{
return
RandomRegAlloc
;
}
bool
shouldRandomizeRegAlloc
()
const
{
return
RandomRegAlloc
;
}
/// Set ClFlags::RandomRegAlloc to a new value
void
setShouldRandomizeRegAlloc
(
bool
NewValue
)
{
RandomRegAlloc
=
NewValue
;
}
void
setShouldRandomizeRegAlloc
(
bool
NewValue
)
{
RandomRegAlloc
=
NewValue
;
}
/// Get the value of ClFlags::RepeatRegAlloc
bool
shouldRepeatRegAlloc
()
const
{
return
RepeatRegAlloc
;
}
bool
shouldRepeatRegAlloc
()
const
{
return
RepeatRegAlloc
;
}
/// Set ClFlags::RepeatRegAlloc to a new value
void
setShouldRepeatRegAlloc
(
bool
NewValue
)
{
RepeatRegAlloc
=
NewValue
;
}
void
setShouldRepeatRegAlloc
(
bool
NewValue
)
{
RepeatRegAlloc
=
NewValue
;
}
/// Get the value of ClFlags::SkipUnimplemented
bool
getSkipUnimplemented
()
const
{
return
SkipUnimplemented
;
}
bool
getSkipUnimplemented
()
const
{
return
SkipUnimplemented
;
}
/// Set ClFlags::SkipUnimplemented to a new value
void
setSkipUnimplemented
(
bool
NewValue
)
{
SkipUnimplemented
=
NewValue
;
}
void
setSkipUnimplemented
(
bool
NewValue
)
{
SkipUnimplemented
=
NewValue
;
}
/// Get the value of ClFlags::SubzeroTimingEnabled
bool
getSubzeroTimingEnabled
()
const
{
return
SubzeroTimingEnabled
;
}
bool
getSubzeroTimingEnabled
()
const
{
return
SubzeroTimingEnabled
;
}
/// Set ClFlags::SubzeroTimingEnableds to a new value
void
setSubzeroTimingEnabled
(
bool
NewValue
)
{
void
setSubzeroTimingEnabled
(
bool
NewValue
)
{
SubzeroTimingEnabled
=
NewValue
;
SubzeroTimingEnabled
=
NewValue
;
}
}
/// Get the value of ClFlags::TimeEachFunction
bool
getTimeEachFunction
()
const
{
bool
getTimeEachFunction
()
const
{
return
BuildDefs
::
dump
()
&&
TimeEachFunction
;
return
BuildDefs
::
dump
()
&&
TimeEachFunction
;
}
}
/// Set ClFlags::TimeEachFunction to a new value
void
setTimeEachFunction
(
bool
NewValue
)
{
TimeEachFunction
=
NewValue
;
}
void
setTimeEachFunction
(
bool
NewValue
)
{
TimeEachFunction
=
NewValue
;
}
/// Get the value of ClFlags::UseSandboxing
bool
getUseSandboxing
()
const
{
return
UseSandboxing
;
}
bool
getUseSandboxing
()
const
{
return
UseSandboxing
;
}
/// Set ClFlags::UseSandboxing to a new value
void
setUseSandboxing
(
bool
NewValue
)
{
UseSandboxing
=
NewValue
;
}
void
setUseSandboxing
(
bool
NewValue
)
{
UseSandboxing
=
NewValue
;
}
// Enum and integer accessors.
// Enum and integer accessors.
/// Get the value of ClFlags::Opt
OptLevel
getOptLevel
()
const
{
return
Opt
;
}
OptLevel
getOptLevel
()
const
{
return
Opt
;
}
/// Set ClFlags::Opt to a new value
void
setOptLevel
(
OptLevel
NewValue
)
{
Opt
=
NewValue
;
}
void
setOptLevel
(
OptLevel
NewValue
)
{
Opt
=
NewValue
;
}
/// Get the value of ClFlags::OutFileType
FileType
getOutFileType
()
const
{
return
OutFileType
;
}
FileType
getOutFileType
()
const
{
return
OutFileType
;
}
/// Set ClFlags::OutFileType to a new value
void
setOutFileType
(
FileType
NewValue
)
{
OutFileType
=
NewValue
;
}
void
setOutFileType
(
FileType
NewValue
)
{
OutFileType
=
NewValue
;
}
/// Get the value of ClFlags::RandomMaxNopsPerInstruction
int
getMaxNopsPerInstruction
()
const
{
return
RandomMaxNopsPerInstruction
;
}
int
getMaxNopsPerInstruction
()
const
{
return
RandomMaxNopsPerInstruction
;
}
/// Set ClFlags::RandomMaxNopsPerInstruction to a new value
void
setMaxNopsPerInstruction
(
int
NewValue
)
{
void
setMaxNopsPerInstruction
(
int
NewValue
)
{
RandomMaxNopsPerInstruction
=
NewValue
;
RandomMaxNopsPerInstruction
=
NewValue
;
}
}
/// Get the value of ClFlags::RandomNopProbabilityAsPercentage
int
getNopProbabilityAsPercentage
()
const
{
int
getNopProbabilityAsPercentage
()
const
{
return
RandomNopProbabilityAsPercentage
;
return
RandomNopProbabilityAsPercentage
;
}
}
/// Set ClFlags::RandomNopProbabilityAsPercentage to a new value
void
setNopProbabilityAsPercentage
(
int
NewValue
)
{
void
setNopProbabilityAsPercentage
(
int
NewValue
)
{
RandomNopProbabilityAsPercentage
=
NewValue
;
RandomNopProbabilityAsPercentage
=
NewValue
;
}
}
/// Get the value of ClFlags::TArch
TargetArch
getTargetArch
()
const
{
return
TArch
;
}
TargetArch
getTargetArch
()
const
{
return
TArch
;
}
/// Set ClFlags::TArch to a new value
void
setTargetArch
(
TargetArch
NewValue
)
{
TArch
=
NewValue
;
}
void
setTargetArch
(
TargetArch
NewValue
)
{
TArch
=
NewValue
;
}
/// Get the value of ClFlags::TInstrSet
TargetInstructionSet
getTargetInstructionSet
()
const
{
return
TInstrSet
;
}
TargetInstructionSet
getTargetInstructionSet
()
const
{
return
TInstrSet
;
}
/// Set ClFlags::TInstrSet to a new value
void
setTargetInstructionSet
(
TargetInstructionSet
NewValue
)
{
void
setTargetInstructionSet
(
TargetInstructionSet
NewValue
)
{
TInstrSet
=
NewValue
;
TInstrSet
=
NewValue
;
}
}
/// \brief Get the value of ClFlags::TestStackExtra
///
/// Always 0 if BuildDefs::minimal()
uint32_t
getTestStackExtra
()
const
{
uint32_t
getTestStackExtra
()
const
{
return
BuildDefs
::
minimal
()
?
0
:
TestStackExtra
;
return
BuildDefs
::
minimal
()
?
0
:
TestStackExtra
;
}
}
/// \brief Set ClFlags::TestStackExtra to a new value
///
/// Always 0 if BuildDefs::minimal()
void
setTestStackExtra
(
uint32_t
NewValue
)
{
void
setTestStackExtra
(
uint32_t
NewValue
)
{
if
(
BuildDefs
::
minimal
())
if
(
BuildDefs
::
minimal
())
return
;
return
;
TestStackExtra
=
NewValue
;
TestStackExtra
=
NewValue
;
}
}
/// \brief Get the value of ClFlags::VMask
///
/// None if BuildDefs::dump()
VerboseMask
getVerbose
()
const
{
VerboseMask
getVerbose
()
const
{
return
BuildDefs
::
dump
()
?
VMask
:
(
VerboseMask
)
IceV_None
;
return
BuildDefs
::
dump
()
?
VMask
:
(
VerboseMask
)
IceV_None
;
}
}
/// \brief Set ClFlags::VMask to a new value
///
/// None if BuildDefs::dump()
void
setVerbose
(
VerboseMask
NewValue
)
{
VMask
=
NewValue
;
}
void
setVerbose
(
VerboseMask
NewValue
)
{
VMask
=
NewValue
;
}
/// Set ClFlags::RandomizeAndPoolImmediatesOption to a new value
void
void
setRandomizeAndPoolImmediatesOption
(
RandomizeAndPoolImmediatesEnum
Option
)
{
setRandomizeAndPoolImmediatesOption
(
RandomizeAndPoolImmediatesEnum
Option
)
{
RandomizeAndPoolImmediatesOption
=
Option
;
RandomizeAndPoolImmediatesOption
=
Option
;
}
}
/// Get the value of ClFlags::RandomizeAndPoolImmediatesOption
RandomizeAndPoolImmediatesEnum
getRandomizeAndPoolImmediatesOption
()
const
{
RandomizeAndPoolImmediatesEnum
getRandomizeAndPoolImmediatesOption
()
const
{
return
RandomizeAndPoolImmediatesOption
;
return
RandomizeAndPoolImmediatesOption
;
}
}
/// Set ClFlags::RandomizeAndPoolImmediatesThreshold to a new value
void
setRandomizeAndPoolImmediatesThreshold
(
uint32_t
Threshold
)
{
void
setRandomizeAndPoolImmediatesThreshold
(
uint32_t
Threshold
)
{
RandomizeAndPoolImmediatesThreshold
=
Threshold
;
RandomizeAndPoolImmediatesThreshold
=
Threshold
;
}
}
/// Get the value of ClFlags::RandomizeAndPoolImmediatesThreshold
uint32_t
getRandomizeAndPoolImmediatesThreshold
()
const
{
uint32_t
getRandomizeAndPoolImmediatesThreshold
()
const
{
return
RandomizeAndPoolImmediatesThreshold
;
return
RandomizeAndPoolImmediatesThreshold
;
}
}
/// Get the value of ClFlags::ReorderBasicBlocks
bool
shouldReorderBasicBlocks
()
const
{
return
ReorderBasicBlocks
;
}
bool
shouldReorderBasicBlocks
()
const
{
return
ReorderBasicBlocks
;
}
/// Set ClFlags::ReorderBasicBlocks to a new value
void
setShouldReorderBasicBlocks
(
bool
NewValue
)
{
void
setShouldReorderBasicBlocks
(
bool
NewValue
)
{
ReorderBasicBlocks
=
NewValue
;
ReorderBasicBlocks
=
NewValue
;
}
}
/// Set ClFlags::ReorderFunctions to a new value
void
setShouldReorderFunctions
(
bool
Option
)
{
ReorderFunctions
=
Option
;
}
void
setShouldReorderFunctions
(
bool
Option
)
{
ReorderFunctions
=
Option
;
}
/// Get the value of ClFlags::ReorderFunctions
bool
shouldReorderFunctions
()
const
{
return
ReorderFunctions
;
}
bool
shouldReorderFunctions
()
const
{
return
ReorderFunctions
;
}
/// Set ClFlags::ReorderFunctionsWindowSize to a new value
void
setReorderFunctionsWindowSize
(
uint32_t
Size
)
{
void
setReorderFunctionsWindowSize
(
uint32_t
Size
)
{
ReorderFunctionsWindowSize
=
Size
;
ReorderFunctionsWindowSize
=
Size
;
}
}
/// Get the value of ClFlags::ReorderFunctionsWindowSize
uint32_t
getReorderFunctionsWindowSize
()
const
{
uint32_t
getReorderFunctionsWindowSize
()
const
{
return
ReorderFunctionsWindowSize
;
return
ReorderFunctionsWindowSize
;
}
}
/// Set ClFlags::ReorderGlobalVariables to a new value
void
setShouldReorderGlobalVariables
(
bool
Option
)
{
void
setShouldReorderGlobalVariables
(
bool
Option
)
{
ReorderGlobalVariables
=
Option
;
ReorderGlobalVariables
=
Option
;
}
}
/// Get the value of ClFlags::ReorderGlobalVariables
bool
shouldReorderGlobalVariables
()
const
{
return
ReorderGlobalVariables
;
}
bool
shouldReorderGlobalVariables
()
const
{
return
ReorderGlobalVariables
;
}
/// Set ClFlags::ReorderPooledConstants to a new value
void
setShouldReorderPooledConstants
(
bool
Option
)
{
void
setShouldReorderPooledConstants
(
bool
Option
)
{
ReorderPooledConstants
=
Option
;
ReorderPooledConstants
=
Option
;
}
}
/// Get the value of ClFlags::ReorderPooledConstants
bool
shouldReorderPooledConstants
()
const
{
return
ReorderPooledConstants
;
}
bool
shouldReorderPooledConstants
()
const
{
return
ReorderPooledConstants
;
}
// IceString accessors.
// IceString accessors.
/// Get the value of ClFlags::DefaultFunctionPrefix
const
IceString
&
getDefaultFunctionPrefix
()
const
{
const
IceString
&
getDefaultFunctionPrefix
()
const
{
return
DefaultFunctionPrefix
;
return
DefaultFunctionPrefix
;
}
}
/// Set ClFlags::DefaultFunctionPrefix to a new value
void
setDefaultFunctionPrefix
(
const
IceString
&
NewValue
)
{
void
setDefaultFunctionPrefix
(
const
IceString
&
NewValue
)
{
DefaultFunctionPrefix
=
NewValue
;
DefaultFunctionPrefix
=
NewValue
;
}
}
/// Get the value of ClFlags::DefaultGlobalPrefix
const
IceString
&
getDefaultGlobalPrefix
()
const
{
const
IceString
&
getDefaultGlobalPrefix
()
const
{
return
DefaultGlobalPrefix
;
return
DefaultGlobalPrefix
;
}
}
/// Set ClFlags::DefaultGlobalPrefix to a new value
void
setDefaultGlobalPrefix
(
const
IceString
&
NewValue
)
{
void
setDefaultGlobalPrefix
(
const
IceString
&
NewValue
)
{
DefaultGlobalPrefix
=
NewValue
;
DefaultGlobalPrefix
=
NewValue
;
}
}
/// Get the value of ClFlags::TestPrefix
const
IceString
&
getTestPrefix
()
const
{
return
TestPrefix
;
}
const
IceString
&
getTestPrefix
()
const
{
return
TestPrefix
;
}
/// Set ClFlags::TestPrefix to a new value
void
setTestPrefix
(
const
IceString
&
NewValue
)
{
TestPrefix
=
NewValue
;
}
void
setTestPrefix
(
const
IceString
&
NewValue
)
{
TestPrefix
=
NewValue
;
}
/// Get the value of ClFlags::TimingFocusOn
const
IceString
&
getTimingFocusOn
()
const
{
return
TimingFocusOn
;
}
const
IceString
&
getTimingFocusOn
()
const
{
return
TimingFocusOn
;
}
/// Set ClFlags::TimingFocusOn to a new value
void
setTimingFocusOn
(
const
IceString
&
NewValue
)
{
TimingFocusOn
=
NewValue
;
}
void
setTimingFocusOn
(
const
IceString
&
NewValue
)
{
TimingFocusOn
=
NewValue
;
}
/// Get the value of ClFlags::TranslateOnly
const
IceString
&
getTranslateOnly
()
const
{
return
TranslateOnly
;
}
const
IceString
&
getTranslateOnly
()
const
{
return
TranslateOnly
;
}
/// Set ClFlags::TranslateOnly to a new value
void
setTranslateOnly
(
const
IceString
&
NewValue
)
{
TranslateOnly
=
NewValue
;
}
void
setTranslateOnly
(
const
IceString
&
NewValue
)
{
TranslateOnly
=
NewValue
;
}
/// Get the value of ClFlags::VerboseFocusOn
const
IceString
&
getVerboseFocusOn
()
const
{
return
VerboseFocusOn
;
}
const
IceString
&
getVerboseFocusOn
()
const
{
return
VerboseFocusOn
;
}
/// Set ClFlags::VerboseFocusOns to a new value
void
setVerboseFocusOn
(
const
IceString
&
NewValue
)
{
void
setVerboseFocusOn
(
const
IceString
&
NewValue
)
{
VerboseFocusOn
=
NewValue
;
VerboseFocusOn
=
NewValue
;
}
}
// size_t and 64-bit accessors.
// size_t and 64-bit accessors.
/// Get the value of ClFlags::NumTranslationThreads
size_t
getNumTranslationThreads
()
const
{
return
NumTranslationThreads
;
}
size_t
getNumTranslationThreads
()
const
{
return
NumTranslationThreads
;
}
bool
isSequential
()
const
{
return
NumTranslationThreads
==
0
;
}
bool
isSequential
()
const
{
return
NumTranslationThreads
==
0
;
}
/// Set ClFlags::NumTranslationThreads to a new value
void
setNumTranslationThreads
(
size_t
NewValue
)
{
void
setNumTranslationThreads
(
size_t
NewValue
)
{
NumTranslationThreads
=
NewValue
;
NumTranslationThreads
=
NewValue
;
}
}
/// Get the value of ClFlags::RandomSeed
uint64_t
getRandomSeed
()
const
{
return
RandomSeed
;
}
uint64_t
getRandomSeed
()
const
{
return
RandomSeed
;
}
/// Set ClFlags::RandomSeed to a new value
void
setRandomSeed
(
size_t
NewValue
)
{
RandomSeed
=
NewValue
;
}
void
setRandomSeed
(
size_t
NewValue
)
{
RandomSeed
=
NewValue
;
}
private
:
private
:
/// see anonymous_namespace{IceClFlags.cpp}::AllowErrorRecovery
bool
AllowErrorRecovery
;
bool
AllowErrorRecovery
;
/// see anonymous_namespace{IceClFlags.cpp}::AllowExternDefinedSymbols
bool
AllowExternDefinedSymbols
;
bool
AllowExternDefinedSymbols
;
/// see anonymous_namespace{IceClFlags.cpp}::AllowIacaMarks
bool
AllowIacaMarks
;
bool
AllowIacaMarks
;
/// see anonymous_namespace{IceClFlags.cpp}::AllowUninitializedGlobals
bool
AllowUninitializedGlobals
;
bool
AllowUninitializedGlobals
;
/// see anonymous_namespace{IceClFlags.cpp}::DataSections
bool
DataSections
;
bool
DataSections
;
/// see anonymous_namespace{IceClFlags.cpp}::DecorateAsm
bool
DecorateAsm
;
bool
DecorateAsm
;
/// see anonymous_namespace{IceClFlags.cpp}::DisableHybridAssembly
bool
DisableHybridAssembly
;
bool
DisableHybridAssembly
;
/// see anonymous_namespace{IceClFlags.cpp}::DisableInternal
bool
DisableInternal
;
bool
DisableInternal
;
/// see anonymous_namespace{IceClFlags.cpp}::DisableTranslation
bool
DisableTranslation
;
bool
DisableTranslation
;
/// see anonymous_namespace{IceClFlags.cpp}::DumpStats
bool
DumpStats
;
bool
DumpStats
;
/// see anonymous_namespace{IceClFlags.cpp}::EnableBlockProfile
bool
EnableBlockProfile
;
bool
EnableBlockProfile
;
/// see anonymous_namespace{IceClFlags.cpp}::ForceMemIntrinOpt
bool
ForceMemIntrinOpt
;
bool
ForceMemIntrinOpt
;
/// see anonymous_namespace{IceClFlags.cpp}::FunctionSections
bool
FunctionSections
;
bool
FunctionSections
;
/// Initialized to false; not set by the command line.
bool
GenerateUnitTestMessages
;
bool
GenerateUnitTestMessages
;
/// see anonymous_namespace{IceClFlags.cpp}::MockBoundsCheck
bool
MockBoundsCheck
;
bool
MockBoundsCheck
;
/// see anonymous_namespace{IceClFlags.cpp}::EnablePhiEdgeSplit
bool
PhiEdgeSplit
;
bool
PhiEdgeSplit
;
/// see anonymous_namespace{IceClFlags.cpp}::ShouldDoNopInsertion
bool
RandomNopInsertion
;
bool
RandomNopInsertion
;
/// see anonymous_namespace{IceClFlags.cpp}::RandomizeRegisterAllocation
bool
RandomRegAlloc
;
bool
RandomRegAlloc
;
/// see anonymous_namespace{IceClFlags.cpp}::RepeatRegAlloc
bool
RepeatRegAlloc
;
bool
RepeatRegAlloc
;
/// see anonymous_namespace{IceClFlags.cpp}::ReorderBasicBlocks
bool
ReorderBasicBlocks
;
bool
ReorderBasicBlocks
;
/// see anonymous_namespace{IceClFlags.cpp}::ReorderFunctions
bool
ReorderFunctions
;
bool
ReorderFunctions
;
/// see anonymous_namespace{IceClFlags.cpp}::ReorderGlobalVariables
bool
ReorderGlobalVariables
;
bool
ReorderGlobalVariables
;
/// see anonymous_namespace{IceClFlags.cpp}::ReorderPooledConstants
bool
ReorderPooledConstants
;
bool
ReorderPooledConstants
;
/// see anonymous_namespace{IceClFlags.cpp}::SkipUnimplemented
bool
SkipUnimplemented
;
bool
SkipUnimplemented
;
/// see anonymous_namespace{IceClFlags.cpp}::SubzeroTimingEnabled
bool
SubzeroTimingEnabled
;
bool
SubzeroTimingEnabled
;
/// see anonymous_namespace{IceClFlags.cpp}::TimeEachFunction
bool
TimeEachFunction
;
bool
TimeEachFunction
;
/// see anonymous_namespace{IceClFlags.cpp}::UseSandboxing
bool
UseSandboxing
;
bool
UseSandboxing
;
/// see anonymous_namespace{IceClFlags.cpp}::OLevel
OptLevel
Opt
;
OptLevel
Opt
;
/// see anonymous_namespace{IceClFlags.cpp}::OutFileType
FileType
OutFileType
;
FileType
OutFileType
;
/// see anonymous_namespace{IceClFlags.cpp}::RandomizeAndPoolImmediatesOption
RandomizeAndPoolImmediatesEnum
RandomizeAndPoolImmediatesOption
;
RandomizeAndPoolImmediatesEnum
RandomizeAndPoolImmediatesOption
;
/// see
/// anonymous_namespace{IceClFlags.cpp}::RandomizeAndPoolImmediatesThreshold
uint32_t
RandomizeAndPoolImmediatesThreshold
;
uint32_t
RandomizeAndPoolImmediatesThreshold
;
/// see anonymous_namespace{IceClFlags.cpp}::MaxNopsPerInstruction
int
RandomMaxNopsPerInstruction
;
int
RandomMaxNopsPerInstruction
;
/// see anonymous_namespace{IceClFlags.cpp}::NopProbabilityAsPercentage
int
RandomNopProbabilityAsPercentage
;
int
RandomNopProbabilityAsPercentage
;
/// see anonymous_namespace{IceClFlags.cpp}::ReorderFunctionsWindowSize
uint32_t
ReorderFunctionsWindowSize
;
uint32_t
ReorderFunctionsWindowSize
;
/// see anonymous_namespace{IceClFlags.cpp}::TargetArch
TargetArch
TArch
;
TargetArch
TArch
;
/// see anonymous_namespace{IceClFlags.cpp}::TestStackExtra
uint32_t
TestStackExtra
;
uint32_t
TestStackExtra
;
/// see anonymous_namespace{IceClFlags.cpp}::TargetInstructionSet
TargetInstructionSet
TInstrSet
;
TargetInstructionSet
TInstrSet
;
/// see anonymous_namespace{IceClFlags.cpp}::VerboseList
VerboseMask
VMask
;
VerboseMask
VMask
;
/// see anonymous_namespace{IceClFlags.cpp}::DefaultFunctionPrefix
IceString
DefaultFunctionPrefix
;
IceString
DefaultFunctionPrefix
;
/// see anonymous_namespace{IceClFlags.cpp}::DefaultGlobalPrefix
IceString
DefaultGlobalPrefix
;
IceString
DefaultGlobalPrefix
;
/// see anonymous_namespace{IceClFlags.cpp}::TestPrefix
IceString
TestPrefix
;
IceString
TestPrefix
;
/// see anonymous_namespace{IceClFlags.cpp}::TimingFocusOn
IceString
TimingFocusOn
;
IceString
TimingFocusOn
;
/// see anonymous_namespace{IceClFlags.cpp}::TranslateOnly
IceString
TranslateOnly
;
IceString
TranslateOnly
;
/// see anonymous_namespace{IceClFlags.cpp}::VerboseFocusOn
IceString
VerboseFocusOn
;
IceString
VerboseFocusOn
;
/// see anonymous_namespace{IceClFlags.cpp}::NumThreads
size_t
NumTranslationThreads
;
// 0 means completely sequential
size_t
NumTranslationThreads
;
// 0 means completely sequential
/// see anonymous_namespace{IceClFlags.cpp}::RandomSeed
uint64_t
RandomSeed
;
uint64_t
RandomSeed
;
};
};
...
...
src/IceClFlagsExtra.h
View file @
cb0d47b6
...
@@ -8,7 +8,7 @@
...
@@ -8,7 +8,7 @@
//===----------------------------------------------------------------------===//
//===----------------------------------------------------------------------===//
///
///
/// \file
/// \file
/// \brief De
clares command line flags primarily used for non-minimal builds.
/// \brief De
fines class Ice::ClFlagsExtra
///
///
//===----------------------------------------------------------------------===//
//===----------------------------------------------------------------------===//
...
@@ -25,6 +25,7 @@
...
@@ -25,6 +25,7 @@
namespace
Ice
{
namespace
Ice
{
/// Declares command line flags primarily used for non-minimal builds.
class
ClFlagsExtra
{
class
ClFlagsExtra
{
ClFlagsExtra
(
const
ClFlagsExtra
&
)
=
delete
;
ClFlagsExtra
(
const
ClFlagsExtra
&
)
=
delete
;
ClFlagsExtra
&
operator
=
(
const
ClFlagsExtra
&
)
=
delete
;
ClFlagsExtra
&
operator
=
(
const
ClFlagsExtra
&
)
=
delete
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment