X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=include%2Fllvm%2FTarget%2FTargetOptions.h;h=ac3a6081edc38c32acba78363ea615b73bd291c1;hb=13d57320bd212483463d4f8992d5787b29eda5df;hp=89234de6445b860556db5d44b72420534ebccded;hpb=5032e5a61381437174e035de2a7dd728978f7bd5;p=oota-llvm.git diff --git a/include/llvm/Target/TargetOptions.h b/include/llvm/Target/TargetOptions.h index 89234de6445..ac3a6081edc 100644 --- a/include/llvm/Target/TargetOptions.h +++ b/include/llvm/Target/TargetOptions.h @@ -2,8 +2,8 @@ // // The LLVM Compiler Infrastructure // -// This file was developed by the LLVM research group and is distributed under -// the University of Illinois Open Source License. See LICENSE.TXT for details. +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. // //===----------------------------------------------------------------------===// // @@ -49,13 +49,50 @@ namespace llvm { extern bool FiniteOnlyFPMathOption; extern bool FiniteOnlyFPMath(); + /// HonorSignDependentRoundingFPMath - This returns true when the + /// -enable-sign-dependent-rounding-fp-math is specified. If this returns + /// false (the default), the code generator is allowed to assume that the + /// rounding behavior is the default (round-to-zero for all floating point to + /// integer conversions, and round-to-nearest for all other arithmetic + /// truncations). If this is enabled (set to true), the code generator must + /// assume that the rounding mode may dynamically change. + extern bool HonorSignDependentRoundingFPMathOption; + extern bool HonorSignDependentRoundingFPMath(); + /// 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; + + /// UnwindTablesMandatory - This flag indicates that unwind tables should + /// be emitted for all functions. + extern bool UnwindTablesMandatory; + + /// PerformTailCallOpt - This flag is enabled when -tailcallopt is specified + /// on the commandline. When the flag is on, the target will perform tail call + /// optimization (pop the caller's stack) providing it supports it. + extern bool PerformTailCallOpt; + + /// OptimizeForSize - When this flag is set, the code generator avoids + /// optimizations that increase size. + extern bool OptimizeForSize; + + /// StackAlignment - Override default stack alignment for target. + extern unsigned StackAlignment; + + /// RealignStack - This flag indicates, whether stack should be automatically + /// realigned, if needed. + extern bool RealignStack; } // End llvm namespace #endif