Ignore:
Timestamp:
Dec 19, 2016, 2:39:35 PM (3 years ago)
Author:
nmedfort
Message:

Multi-threading support for PabloAST / PabloCompiler?. Requires unique LLVM Context / Module for each thread.

Location:
icGREP/icgrep-devel/icgrep/editd
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • icGREP/icgrep-devel/icgrep/editd/editd.cpp

    r5223 r5230  
    2525#include <re/re_cc.h>
    2626#include <cc/cc_compiler.h>
    27 #include <pablo/prototype.h>
    2827#include <pablo/pablo_compiler.h>
    2928#include <pablo/pablo_kernel.h>
     
    230229
    231230    Type * const size_ty = iBuilder->getSizeTy();
    232     Type * const voidTy = Type::getVoidTy(mMod->getContext());
     231    Type * const voidTy = iBuilder->getVoidTy();
    233232    Type * const inputType = PointerType::get(ArrayType::get(ArrayType::get(iBuilder->getBitBlockType(), 8), 1), 0);
    234233   
     
    284283    ExternalFileBuffer CCResults(iBuilder, iBuilder->getStreamSetTy(4));
    285284
    286     s2pKernel  s2pk(iBuilder);
     285    S2PKernel  s2pk(iBuilder);
    287286    std::unique_ptr<Module> s2pM = s2pk.createKernelModule({&ByteStream}, {&BasisBits});
    288287
     
    297296
    298297    Type * const size_ty = iBuilder->getSizeTy();
    299     Type * const voidTy = Type::getVoidTy(mMod->getContext());
     298    Type * const voidTy = iBuilder->getVoidTy();
    300299    Type * const inputType = PointerType::get(ArrayType::get(ArrayType::get(mBitBlockType, 8), 1), 0);
    301300    Type * const outputType = PointerType::get(ArrayType::get(mBitBlockType, 4), 0);
  • icGREP/icgrep-devel/icgrep/editd/editdscan_kernel.cpp

    r5220 r5230  
    5858
    5959    Type * T = iBuilder->getIntNTy(mScanwordBitWidth);
    60     LLVMContext & ctxt = m->getContext();
    6160
    62     Function * scanFunc = cast<Function>(m->getOrInsertFunction("scan_word", Type::getVoidTy(ctxt), T, iBuilder->getInt32Ty(), T, nullptr));
     61    Function * scanFunc = cast<Function>(m->getOrInsertFunction("scan_word", iBuilder->getVoidTy(), T, iBuilder->getInt32Ty(), T, nullptr));
    6362    scanFunc->setCallingConv(CallingConv::C);
    6463    Function::arg_iterator args = scanFunc->arg_begin();
     
    7170    basePos->setName("basePos");
    7271
    73     Constant * matchProcessor = m->getOrInsertFunction("wrapped_report_pos", Type::getVoidTy(ctxt), T, iBuilder->getInt32Ty(), nullptr);
     72    Constant * matchProcessor = m->getOrInsertFunction("wrapped_report_pos", iBuilder->getVoidTy(), T, iBuilder->getInt32Ty(), nullptr);
    7473
    7574    BasicBlock * entryBlock = BasicBlock::Create(m->getContext(), "entry", scanFunc, 0);
  • icGREP/icgrep-devel/icgrep/editd/pattern_compiler.cpp

    r5217 r5230  
    2020#include <re/re_analysis.h>
    2121#include <pablo/codegenstate.h>
    22 #include <pablo/prototype.h>
    2322
    2423#include <assert.h>
Note: See TracChangeset for help on using the changeset viewer.