LLVM API Documentation

TargetOptions.h

Go to the documentation of this file.
00001 //===-- llvm/Target/TargetOptions.h - Target Options ------------*- C++ -*-===//
00002 //
00003 //                     The LLVM Compiler Infrastructure
00004 //
00005 // This file was developed by the LLVM research group and is distributed under
00006 // the University of Illinois Open Source License. See LICENSE.TXT for details.
00007 //
00008 //===----------------------------------------------------------------------===//
00009 //
00010 // This file defines command line option flags that are shared across various
00011 // targets.
00012 //
00013 //===----------------------------------------------------------------------===//
00014 
00015 #ifndef LLVM_TARGET_TARGETOPTIONS_H
00016 #define LLVM_TARGET_TARGETOPTIONS_H
00017 
00018 namespace llvm {
00019   /// PrintMachineCode - This flag is enabled when the -print-machineinstrs
00020   /// option is specified on the command line, and should enable debugging
00021   /// output from the code generator.
00022   extern bool PrintMachineCode;
00023 
00024   /// NoFramePointerElim - This flag is enabled when the -disable-fp-elim is
00025   /// specified on the command line.  If the target supports the frame pointer
00026   /// elimination optimization, this option should disable it.
00027   extern bool NoFramePointerElim;
00028 
00029   /// NoExcessFPPrecision - This flag is enabled when the
00030   /// -disable-excess-fp-precision flag is specified on the command line.  When
00031   /// this flag is off (the default), the code generator is allowed to produce
00032   /// results that are "more precise" than IEEE allows.  This includes use of
00033   /// FMA-like operations and use of the X86 FP registers without rounding all
00034   /// over the place.
00035   extern bool NoExcessFPPrecision;
00036 
00037   /// UnsafeFPMath - This flag is enabled when the
00038   /// -enable-unsafe-fp-math flag is specified on the command line.  When
00039   /// this flag is off (the default), the code generator is not allowed to
00040   /// produce results that are "less precise" than IEEE allows.  This includes
00041   /// use of X86 instructions like FSIN and FCOS instead of libcalls.
00042   extern bool UnsafeFPMath;
00043 } // End llvm namespace
00044 
00045 #endif