TargetOptions.h revision 95942d76f4fdd1191febf1aa2b612fce6351ab3b
1//===-- llvm/Target/TargetOptions.h - Target Options ------------*- C++ -*-===//
2//
3//                     The LLVM Compiler Infrastructure
4//
5// This file was developed by the LLVM research group and is distributed under
6// the University of Illinois Open Source License. See LICENSE.TXT for details.
7//
8//===----------------------------------------------------------------------===//
9//
10// This file defines command line option flags that are shared across various
11// targets.
12//
13//===----------------------------------------------------------------------===//
14
15#ifndef LLVM_TARGET_TARGETOPTIONS_H
16#define LLVM_TARGET_TARGETOPTIONS_H
17
18namespace llvm {
19  /// PrintMachineCode - This flag is enabled when the -print-machineinstrs
20  /// option is specified on the command line, and should enable debugging
21  /// output from the code generator.
22  extern bool PrintMachineCode;
23
24  /// NoFramePointerElim - This flag is enabled when the -disable-fp-elim is
25  /// specified on the command line.  If the target supports the frame pointer
26  /// elimination optimization, this option should disable it.
27  extern bool NoFramePointerElim;
28
29  /// NoExcessFPPrecision - This flag is enabled when the
30  /// -disable-excess-fp-precision flag is specified on the command line.  When
31  /// this flag is off (the default), the code generator is allowed to produce
32  /// results that are "more precise" than IEEE allows.  This includes use of
33  /// FMA-like operations and use of the X86 FP registers without rounding all
34  /// over the place.
35  extern bool NoExcessFPPrecision;
36
37  /// UnsafeFPMath - This flag is enabled when the
38  /// -enable-unsafe-fp-math flag is specified on the command line.  When
39  /// this flag is off (the default), the code generator is not allowed to
40  /// produce results that are "less precise" than IEEE allows.  This includes
41  /// use of X86 instructions like FSIN and FCOS instead of libcalls.
42  extern bool UnsafeFPMath;
43
44  /// FiniteOnlyFPMath - This is enabled when the -enable-finite-only-fp-math
45  /// flag is specified on the command line. When this flag is off (default),
46  /// the code generator is not allowed to assume that FP arithmetic arguments
47  /// and results are never NaNs or +-Infs. This includes ignoring parity flag
48  /// (PF) when checking for FP equality.
49  extern bool FiniteOnlyFPMath;
50} // End llvm namespace
51
52#endif
53