|
Intel SPMD Program Compiler
1.3.0
|
This structure collects together a number of global variables. More...
#include <ispc.h>

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 |
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.
| enum Globals::MathLib |
| Globals::Globals | ( | ) |
Definition at line 606 of file ispc.cpp.
References ctx, currentDirectory, debugPrint, disableLineWrap, disableWarnings, emitInstrumentation, emitPerfWarnings, enableFuzzTest, FATAL, forceColoredOutput, fuzzTestSeed, generateDebuggingSymbols, includeStdlib, mangleFunctionsWithTarget, Math_ISPC, mathLib, NULL, quiet, runCPP, and warningsAsErrors.
| std::vector<std::string> Globals::cppArgs |
| 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().
| char Globals::currentDirectory[1024] |
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().
| bool Globals::debugPrint |
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 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().
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().
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 |
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().
Optimization option settings
Definition at line 375 of file ispc.h.
Referenced by FunctionEmitContext::AddElementOffset(), FunctionEmitContext::addVaryingOffsetsIfNeeded(), FunctionEmitContext::applyVaryingGEP(), Module::CompileFile(), DefineStdlib(), DoStmt::EmitCode(), ForStmt::EmitCode(), IfStmt::emitMaskAllOn(), IfStmt::emitVaryingIf(), DoStmt::EstimateCost(), ForStmt::EstimateCost(), FunctionEmitContext::FunctionEmitContext(), BinaryExpr::GetType(), SizeOfExpr::GetType(), NewExpr::GetValue(), lDeclareSizeAndPtrIntTypes(), lEmitBinaryPointerArith(), lGSToGSBaseOffsets(), lReplacePseudoMaskedStore(), lStoreAssignResult(), main(), Module::Module(), BinaryExpr::Optimize(), Optimize(), IsCompileTimeConstantPass::runOnBasicBlock(), Target::SizeOf(), FunctionEmitContext::StoreInst(), Target::StructOffset(), IfStmt::TypeCheck(), DoStmt::TypeCheck(), ForStmt::TypeCheck(), IndexExpr::TypeCheck(), NewExpr::TypeCheck(), and Module::writeObjectFileOrAssembly().
| bool Globals::quiet |
| bool Globals::runCPP |
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().
1.7.5.1