TargetOptions.h revision 34f74a6162f1e493a9773e83a684cf31fa4838de
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 /// PatternISelTriState - This flag is enabled when -pattern-isel=X is 38 /// specified on the command line. The default value is 2, in which case the 39 /// target chooses what is best for it. Setting X to 0 forces the use of 40 /// a simple ISel if available, while setting it to 1 forces the use of a 41 /// pattern ISel if available. 42 extern int PatternISelTriState; 43 44 /// UnsafeFPMath - This flag is enabled when the 45 /// -enable-unsafe-fp-math flag is specified on the command line. When 46 /// this flag is off (the default), the code generator is not allowed to 47 /// produce results that are "less precise" than IEEE allows. This includes 48 /// use of X86 instructions like FSIN and FCOS instead of libcalls. 49 extern bool UnsafeFPMath; 50} // End llvm namespace 51 52#endif 53