TargetOptions.h revision c9ab2f39ceadefa4ac8c0c922c55a76c0d637a6e
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 /// UnsafeFPMath implies FiniteOnlyFPMath. 43 extern bool UnsafeFPMath; 44 45 /// FiniteOnlyFPMath - This returns true when the -enable-finite-only-fp-math 46 /// option is specified on the command line. If this returns false (default), 47 /// the code generator is not allowed to assume that FP arithmetic arguments 48 /// and results are never NaNs or +-Infs. 49 extern bool FiniteOnlyFPMathOption; 50 extern bool FiniteOnlyFPMath(); 51 52 /// UseSoftFloat - This flag is enabled when the -soft-float flag is specified 53 /// on the command line. When this flag is on, the code generator will 54 /// generate libcalls to the software floating point library instead of 55 /// target FP instructions. 56 extern bool UseSoftFloat; 57} // End llvm namespace 58 59#endif 60