/// over the place.
extern bool NoExcessFPPrecision;
- /// PatternISelTriState - This flag is enabled when -pattern-isel=X is
- /// specified on the command line. The default value is 2, in which case the
- /// target chooses what is best for it. Setting X to 0 forces the use of
- /// a simple ISel if available, while setting it to 1 forces the use of a
- /// pattern ISel if available.
- extern int PatternISelTriState;
+ /// UnsafeFPMath - This flag is enabled when the
+ /// -enable-unsafe-fp-math flag is specified on the command line. When
+ /// this flag is off (the default), the code generator is not allowed to
+ /// produce results that are "less precise" than IEEE allows. This includes
+ /// use of X86 instructions like FSIN and FCOS instead of libcalls.
+ /// UnsafeFPMath implies FiniteOnlyFPMath.
+ extern bool UnsafeFPMath;
+ /// FiniteOnlyFPMath - This returns true when the -enable-finite-only-fp-math
+ /// 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
+ /// target FP instructions.
+ extern bool UseSoftFloat;
+
+ /// NoZerosInBSS - By default some codegens place zero-initialized data to
+ /// .bss section. This flag disables such behaviour (necessary, e.g. for
+ /// crt*.o compiling).
+ extern bool NoZerosInBSS;
+
+ /// ExceptionHandling - This flag indicates that exception information should
+ /// be emitted.
+ extern bool ExceptionHandling;
+
} // End llvm namespace
#endif