mirror of
https://github.com/RPCS3/llvm.git
synced 2024-12-15 07:59:57 +00:00
Add a new option.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36657 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
ddd35321fb
commit
aa4f1e164b
@ -49,6 +49,22 @@ namespace llvm {
|
||||
extern bool FiniteOnlyFPMathOption;
|
||||
extern bool FiniteOnlyFPMath();
|
||||
|
||||
/// HonorSignDependentRoundingFPMath - This returns true when the
|
||||
/// -enable-sign-dependent-rounding-fp-math is specified. If this returns
|
||||
/// false (the default), the code generator is allowed to assume that the
|
||||
/// rounding behavior is the default (round-to-zero for all floating point to
|
||||
/// integer conversions, and round-to-nearest for all other arithmetic
|
||||
/// truncations). If this is enabled (set to true), the code generator must
|
||||
/// assume that the rounding mode may dynamically change.
|
||||
extern bool HonorSignDependentRoundingFPMathOption;
|
||||
extern bool HonorSignDependentRoundingFPMath();
|
||||
|
||||
/// option is specified on the command line. If this returns false (default),
|
||||
/// the code generator is not allowed to assume that FP arithmetic arguments
|
||||
/// and results are never NaNs or +-Infs.
|
||||
extern bool FiniteOnlyFPMathOption;
|
||||
extern bool FiniteOnlyFPMath();
|
||||
|
||||
/// UseSoftFloat - This flag is enabled when the -soft-float flag is specified
|
||||
/// on the command line. When this flag is on, the code generator will
|
||||
/// generate libcalls to the software floating point library instead of
|
||||
|
@ -54,20 +54,27 @@ namespace {
|
||||
cl::location(UnsafeFPMath),
|
||||
cl::init(false));
|
||||
cl::opt<bool, true>
|
||||
EnableFiniteOnltFPMath("enable-finite-only-fp-math",
|
||||
EnableFiniteOnlyFPMath("enable-finite-only-fp-math",
|
||||
cl::desc("Enable optimizations that assumes non- NaNs / +-Infs"),
|
||||
cl::location(FiniteOnlyFPMathOption),
|
||||
cl::init(false));
|
||||
cl::opt<bool, true>
|
||||
EnableHonorSignDependentRoundingFPMath(cl::Hidden,
|
||||
"enable-sign-dependent-rounding-fp-math",
|
||||
cl::desc("Force codegen to assume rounding mode can change dynamically"),
|
||||
cl::location(HonorSignDependentRoundingFPMathOption),
|
||||
cl::init(false));
|
||||
|
||||
cl::opt<bool, true>
|
||||
GenerateSoftFloatCalls("soft-float",
|
||||
cl::desc("Generate software floating point library calls"),
|
||||
cl::location(UseSoftFloat),
|
||||
cl::init(false));
|
||||
cl::opt<bool, true>
|
||||
DontPlaceZerosInBSS("nozero-initialized-in-bss",
|
||||
cl::desc("Don't place zero-initialized symbols into bss section"),
|
||||
cl::location(NoZerosInBSS),
|
||||
cl::init(false));
|
||||
cl::desc("Don't place zero-initialized symbols into bss section"),
|
||||
cl::location(NoZerosInBSS),
|
||||
cl::init(false));
|
||||
cl::opt<bool, true>
|
||||
EnableExceptionHandling("enable-eh",
|
||||
cl::desc("Exception handling should be emitted."),
|
||||
@ -146,5 +153,11 @@ namespace llvm {
|
||||
/// the code generator is not allowed to assume that FP arithmetic arguments
|
||||
/// and results are never NaNs or +-Infs.
|
||||
bool FiniteOnlyFPMath() { return UnsafeFPMath || FiniteOnlyFPMathOption; }
|
||||
|
||||
/// HonorSignDependentRoundingFPMath - Return true if the codegen must assume
|
||||
/// that the rounding mode of the FPU can change from its default.
|
||||
bool HonorSignDependentRoundingFPMath() {
|
||||
return !UnsafeFPMath && HonorSignDependentRoundingFPMathOption;
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user