Intel® Implicit SPMD Program Compiler (Intel® ISPC)
1.13.0
|
#include "func.h"
#include "ctx.h"
#include "expr.h"
#include "llvmutil.h"
#include "module.h"
#include "stmt.h"
#include "sym.h"
#include "type.h"
#include "util.h"
#include <stdio.h>
#include <llvm/IR/DerivedTypes.h>
#include <llvm/IR/Instructions.h>
#include <llvm/IR/Intrinsics.h>
#include <llvm/IR/LLVMContext.h>
#include <llvm/IR/Module.h>
#include <llvm/IR/Type.h>
#include "llvm/IR/LegacyPassManager.h"
#include <llvm/IR/CFG.h>
#include <llvm/IR/IRPrintingPasses.h>
#include <llvm/IR/Verifier.h>
#include <llvm/PassRegistry.h>
#include <llvm/Support/FileUtilities.h>
#include <llvm/Support/FormattedStream.h>
#include <llvm/Target/TargetMachine.h>
#include <llvm/Target/TargetOptions.h>
#include <llvm/Transforms/IPO.h>
#include <llvm/Support/ToolOutputFile.h>
Go to the source code of this file.
Functions | |
static void | lCopyInTaskParameter (int i, llvm::Value *structArgPtr, const std::vector< Symbol *> &args, FunctionEmitContext *ctx) |
|
static |
Parameters for tasks are stored in a big structure; this utility function emits code to copy those values out of the task structure into local stack-allocated variables. (Which we expect that LLVM's 'mem2reg' pass will in turn promote to SSA registers..
Definition at line 165 of file func.cpp.
References FunctionEmitContext::AddElementOffset(), FunctionEmitContext::AllocaInst(), Assert, FunctionEmitContext::EmitFunctionParameterDebugInfo(), FunctionEmitContext::LoadInst(), Symbol::name, Symbol::storagePtr, FunctionEmitContext::StoreInst(), Function::sym, and Symbol::type.
Referenced by Function::emitCode().