Ignore:
Timestamp:
Jun 19, 2016, 3:00:47 PM (3 years ago)
Author:
cameron
Message:

New kernel infrastructure

File:
1 edited

Legend:

Unmodified
Added
Removed
  • icGREP/icgrep-devel/icgrep/pablo/pablo_compiler.h

    r5000 r5063  
    1313#include <unordered_map>
    1414#include <pablo/carry_manager.h>
     15#include <pablo/pablo_kernel.h>
    1516#include <llvm/ADT/Twine.h>
    1617#include <llvm/IR/IRBuilder.h>
     
    4849    using LookaheadOffsetMap = std::unordered_map<const PabloAST *, IntSet>;
    4950public:
    50     PabloCompiler(Module * m, IDISA::IDISA_Builder * b);
    51 
    52     llvm::Function * compile(PabloFunction * function);
    53     void setKernel(kernel::KernelBuilder * kBuilder);
     51    PabloCompiler(IDISA::IDISA_Builder * b, PabloKernel * k, PabloFunction * function);
     52    Type * initializeCarryData();
     53    void compile(Function * doBlockFunction);
    5454
    5555private:
     
    7171    Type* const                         mBitBlockType;
    7272
    73     CarryManager *                      mCarryManager;
     73    std::unique_ptr<CarryManager>       mCarryManager;
    7474
    75     const PabloFunction *               mPabloFunction;
     75    PabloFunction *  const             mPabloFunction;
    7676    const PabloBlock *                  mPabloBlock;
    7777
    78     kernel::KernelBuilder *             mKernelBuilder;
     78    PabloKernel *                       mKernelBuilder;
     79    Value *                             mSelf;
    7980
    8081    unsigned                            mWhileDepth;
Note: See TracChangeset for help on using the changeset viewer.