Ignore:
Timestamp:
Nov 2, 2018, 7:18:31 PM (12 months ago)
Author:
nmedfort
Message:

Initial version of PipelineKernel? + revised StreamSet? model.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • icGREP/icgrep-devel/icgrep/toolchain/cpudriver.h

    r5932 r6184  
    3333#endif
    3434
    35 class ParabixObjectCache;
     35class ObjectCacheManager;
    3636
    37 class ParabixDriver final : public Driver {
    38     friend class CBuilder;
     37class CPUDriver final : public BaseDriver {
    3938public:
    40     ParabixDriver(std::string && moduleName);
    4139
    42     ~ParabixDriver();
     40    CPUDriver(std::string && moduleName);
    4341
    44     void generatePipelineIR() override;
     42    ~CPUDriver();
    4543
    46     void makeKernelCall(kernel::Kernel * kb, const std::vector<parabix::StreamSetBuffer *> & inputs, const std::vector<parabix::StreamSetBuffer *> & outputs) override;
     44    void generateUncachedKernels() override;
    4745
    48     void finalizeObject() override;
     46    void * finalizeObject(llvm::Function * mainMethod) override;
    4947
    5048    bool hasExternalFunction(const llvm::StringRef functionName) const override;
    5149
    52     void * getMain() override; // "main" exists until the driver is deleted
    53    
    54     void performIncrementalCacheCleanupStep() override;
     50private:
    5551
    56 private:
    5752    std::string getMangledName(std::string s);
    5853   
     
    6156    llvm::Function * addLinkFunction(llvm::Module * mod, llvm::StringRef name, llvm::FunctionType * type, void * functionPtr) const override;
    6257
     58private:
    6359    llvm::TargetMachine *                                   mTarget;
    64 
    65 #ifdef ORCJIT
    66     ObjectLayerT mObjectLayer;
    67     std::unique_ptr<CompileLayerT> mCompileLayer;
    68 
    69 #else
     60    #ifdef ORCJIT
     61    ObjectLayerT                                            mObjectLayer;
     62    std::unique_ptr<CompileLayerT>                          mCompileLayer;
     63    #else
    7064    llvm::ExecutionEngine *                                 mEngine;
    71 #endif
    72     ParabixObjectCache *                                    mCache;
    73     std::vector<kernel::Kernel *>                           mUncachedKernel;
     65    #endif
    7466    std::unique_ptr<llvm::raw_fd_ostream>                   mUnoptimizedIROutputStream;
    7567    std::unique_ptr<llvm::raw_fd_ostream>                   mIROutputStream;
Note: See TracChangeset for help on using the changeset viewer.