Intel SPMD Program Compiler  1.3.0
Public Types | Public Member Functions | Public Attributes
Globals Struct Reference

This structure collects together a number of global variables. More...

#include <ispc.h>

Collaboration diagram for Globals:
Collaboration graph
[legend]

List of all members.

Public Types

enum  MathLib { Math_ISPC, Math_ISPCFast, Math_SVML, Math_System }

Public Member Functions

 Globals ()

Public Attributes

Opt opt
Target target
MathLib mathLib
bool includeStdlib
bool runCPP
bool debugPrint
bool disableWarnings
bool warningsAsErrors
bool disableLineWrap
bool emitPerfWarnings
bool quiet
bool forceColoredOutput
bool emitInstrumentation
bool generateDebuggingSymbols
bool mangleFunctionsWithTarget
bool enableFuzzTest
int fuzzTestSeed
llvm::LLVMContext * ctx
char currentDirectory [1024]
std::vector< std::string > cppArgs
std::vector< std::string > includePath

Detailed Description

This structure collects together a number of global variables.

This structure collects a number of global variables that mostly represent parameter settings for this compilation run. In particular, none of these values should change after compilation befins; their values are all set during command-line argument processing or very early during the compiler's execution, before any files are parsed.

Definition at line 371 of file ispc.h.


Member Enumeration Documentation

There are a number of math libraries that can be used for transcendentals and the like during program compilation.

Enumerator:
Math_ISPC 
Math_ISPCFast 
Math_SVML 
Math_System 

Definition at line 381 of file ispc.h.


Constructor & Destructor Documentation

Globals::Globals ( )

Member Data Documentation

std::vector<std::string> Globals::cppArgs

Arguments to pass along to the C pre-processor, if it is run on the program before compilation.

Definition at line 448 of file ispc.h.

Referenced by main().

llvm::LLVMContext* Globals::ctx

Global LLVMContext object

Definition at line 440 of file ispc.h.

Referenced by AddBitcodeToModule(), FunctionEmitContext::AddElementOffset(), Module::AddFunctionDeclaration(), Module::AddGlobalVariable(), FunctionEmitContext::addGSMetadata(), FunctionEmitContext::addVaryingOffsetsIfNeeded(), FunctionEmitContext::applyVaryingGEP(), FunctionEmitContext::CallInst(), Module::CompileFile(), FunctionEmitContext::CreateBasicBlock(), DeclStmt::EmitCode(), ForeachUniqueStmt::EmitCode(), FunctionEmitContext::FunctionEmitContext(), FunctionEmitContext::gather(), ExprList::GetConstant(), ConstExpr::GetConstant(), NullPointerExpr::GetConstant(), FunctionEmitContext::GetStringPtr(), SelectExpr::GetValue(), IndexExpr::GetValue(), MemberExpr::GetValue(), TypeCastExpr::GetValue(), ReferenceExpr::GetValue(), SizeOfExpr::GetValue(), NewExpr::GetValue(), VectorMemberExpr::GetValue(), Globals(), InitSymbol(), lCheckModuleIntrinsics(), lConvertToSlicePointer(), lDefineConstantIntFunc(), lEmitBinaryPointerArith(), lEmitLogicalOp(), lEmitNegate(), lEmitPrePostIncDec(), lEmitVaryingSelect(), lFinalSliceOffset(), lGetStringAsValue(), LLVMBoolVector(), LLVMDouble(), LLVMFloat(), FunctionType::LLVMFunctionType(), LLVMInt16(), LLVMInt32(), LLVMInt64(), LLVMInt8(), PointerType::LLVMType(), LLVMUInt16(), LLVMUInt32(), LLVMUInt64(), LLVMUInt8(), FunctionEmitContext::loadUniformFromSOA(), lProcessPrintArg(), lStripUnusedDebugInfo(), lUniformValueToVarying(), FunctionEmitContext::MakeSlicePointer(), Module::Module(), FunctionEmitContext::ReturnInst(), StructType::StructType(), and UndefinedStructType::UndefinedStructType().

Current working directory when the ispc compiler starts execution.

Definition at line 444 of file ispc.h.

Referenced by SourcePos::GetDIFile(), GetDirectoryAndFileName(), Globals(), and Module::Module().

When true, voluminous debugging output will be printed during ispc's execution.

Definition at line 394 of file ispc.h.

Referenced by Debug(), Globals(), lGetBasePtrAndOffsets(), LLVMVectorIsLinear(), LLVMVectorValuesAllEqual(), main(), Optimize(), and GatherCoalescePass::runOnBasicBlock().

Indicates whether line wrapping of error messages to the terminal width should be disabled.

Definition at line 404 of file ispc.h.

Referenced by Globals(), lTerminalWidth(), and main().

Indicates whether all warning messages should be surpressed.

Definition at line 397 of file ispc.h.

Referenced by Globals(), main(), and Warning().

Indicates whether calls should be emitted in the program to an externally-defined program instrumentation function. (See the "Instrumenting your ispc programs" section in the user's manual.)

Definition at line 421 of file ispc.h.

Referenced by FunctionEmitContext::AddInstrumentationPoint(), Globals(), main(), and Module::writeHeader().

Indicates whether additional warnings should be issued about possible performance pitfalls.

Definition at line 408 of file ispc.h.

Referenced by Globals(), main(), and PerformanceWarning().

If enabled, the lexer will randomly replace some tokens returned with other tokens, in order to test error condition handling in the compiler.

Definition at line 434 of file ispc.h.

Referenced by Globals(), and main().

Always use ANSI escape sequences to colorize warning and error messages, even if piping output to a file, etc.

Definition at line 415 of file ispc.h.

Referenced by Globals(), lHaveANSIColors(), and main().

Seed for random number generator used for fuzz testing.

Definition at line 437 of file ispc.h.

Referenced by Globals(), and main().

Indicates whether ispc should generate debugging symbols for the program in its output.

Definition at line 425 of file ispc.h.

Referenced by Module::AddFunctionDeclaration(), Globals(), lDefineConstantInt(), lDefineProgramIndex(), lStripUnusedDebugInfo(), main(), and Module::Module().

std::vector<std::string> Globals::includePath

Additional user-provided directories to search when processing #include directives in the preprocessor.

Definition at line 452 of file ispc.h.

Referenced by main().

Records whether the ispc standard library should be made available to the program during compilations. (Default is true.)

Definition at line 386 of file ispc.h.

Referenced by Module::CompileFile(), Globals(), and main().

If true, function names are mangled by appending the target ISA and vector width to them.

Definition at line 429 of file ispc.h.

Referenced by Module::AddFunctionDeclaration(), and Globals().

Definition at line 382 of file ispc.h.

Referenced by DefineStdlib(), Globals(), and main().

Indicates whether all printed output should be surpressed.

Definition at line 411 of file ispc.h.

Referenced by Debug(), Error(), Globals(), main(), PerformanceWarning(), and Warning().

Indicates whether the C pre-processor should be run over the program source before compiling it. (Default is true.)

Definition at line 390 of file ispc.h.

Referenced by Module::CompileFile(), Globals(), and main().

Compilation target information

Definition at line 377 of file ispc.h.

Referenced by FunctionEmitContext::AddElementOffset(), Module::AddFunctionDeclaration(), FunctionEmitContext::addVaryingOffsetsIfNeeded(), FunctionEmitContext::All(), FunctionEmitContext::AllocaInst(), FunctionEmitContext::applyVaryingGEP(), ConstExpr::Count(), DefineStdlib(), ForeachStmt::EmitCode(), ForeachActiveStmt::EmitCode(), PrintStmt::EmitCode(), DeleteStmt::EmitCode(), FunctionEmitContext::FunctionEmitContext(), FunctionEmitContext::gather(), DeclSpecs::GetBaseType(), ExprList::GetConstant(), AtomicType::GetDIType(), EnumType::GetDIType(), PointerType::GetDIType(), VectorType::GetDIType(), BinaryExpr::GetType(), SizeOfExpr::GetType(), SizeOfExpr::GetValue(), NewExpr::GetValue(), VectorType::getVectorMemoryCount(), FunctionEmitContext::I1VecToBoolVec(), InitLLVMUtil(), InitSymbol(), lAddVaryingOffsetsIfNeeded(), FunctionEmitContext::LaneMask(), lArrayVectorWidth(), lAssembleResultVectors(), FunctionEmitContext::LaunchInst(), lConvert(), lConvertPointerConstant(), lCreateISPCSymbol(), lDeclareSizeAndPtrIntTypes(), lDefineProgramIndex(), lEmitBinaryPointerArith(), lEmitVectorTypedefs(), lExtractConstOffsets(), lGetBasePointer(), lGetBasePtrAndOffsets(), lGetMask(), lGetMaskStatus(), lGetMatchingBoolVectorType(), lGSToLoadStore(), lIsExactMultiple(), lIsSafeToBlend(), LLVMBoolVector(), LLVMDoubleVector(), LLVMFloatVector(), LLVMInt16Vector(), LLVMInt32Vector(), LLVMInt64Vector(), LLVMInt8Vector(), LLVMUInt16Vector(), LLVMUInt32Vector(), LLVMUInt64Vector(), LLVMUInt8Vector(), lMangleStructName(), lReplacePseudoGS(), lTypeConvAtomic(), lUpdateVaryingCounter(), FunctionEmitContext::maskedStore(), Module::Module(), Optimize(), FunctionEmitContext::scatter(), FunctionEmitContext::SmearUniform(), BinaryExpr::TypeCheck(), AssignExpr::TypeCheck(), IndexExpr::TypeCheck(), TypeCastExpr::TypeCheck(), NewExpr::TypeCheck(), Module::writeObjectFileOrAssembly(), and Module::writeOutput().

Indicates whether warnings should be issued as errors.

Definition at line 400 of file ispc.h.

Referenced by Globals(), main(), and Warning().


The documentation for this struct was generated from the following files: