Ignore:
Timestamp:
Nov 6, 2016, 8:37:11 PM (3 years ago)
Author:
nmedfort
Message:

Initial work on adding types to PabloAST and mutable Var objects.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • icGREP/icgrep-devel/icgrep/kernels/kernel.h

    r5194 r5202  
    3232    KernelBuilder(IDISA::IDISA_Builder * builder,
    3333                    std::string kernelName,
    34                     std::vector<StreamSetBinding> stream_inputs,
    35                     std::vector<StreamSetBinding> stream_outputs,
    36                     std::vector<ScalarBinding> scalar_parameters,
    37                     std::vector<ScalarBinding> scalar_outputs,
    38                     std::vector<ScalarBinding> internal_scalars);
     34                    std::vector<Binding> stream_inputs,
     35                    std::vector<Binding> stream_outputs,
     36                    std::vector<Binding> scalar_parameters,
     37                    std::vector<Binding> scalar_outputs,
     38                    std::vector<Binding> internal_scalars);
    3939   
    4040    // Create a module for the kernel, including the kernel state type declaration and
     
    5656    llvm::Value * getTerminationSignal(llvm::Value * kernelInstance);
    5757   
    58    
     58
    5959protected:
    6060    //
     
    8989    // Add an additional scalar field to the KernelState struct.
    9090    // Must occur before any call to addKernelDeclarations or createKernelModule.
    91     void addScalar(llvm::Type * t, std::string scalarName);
     91    void addScalar(llvm::Type * t, std::string name);
    9292   
    9393    // Run-time access of Kernel State and parameters of methods for
     
    9999    // Get the value of a scalar field for a given instance.
    100100    llvm::Value * getScalarField(llvm::Value * self, std::string fieldName);
    101    
     101
    102102    // Set the value of a scalar field for a given instance.
    103103    void setScalarField(llvm::Value * self, std::string fieldName, llvm::Value * newFieldVal);
     
    107107   
    108108    // Stream set helpers.
    109     unsigned getStreamSetIndex(std::string ssName);
     109    unsigned getStreamSetIndex(std::string name);
    110110   
    111     llvm::Value * getStreamSetStructPtr(Value * self, std::string ssName);
    112     size_t getStreamSetBufferSize(Value * self, std::string ssName);
     111    llvm::Value * getScalarFieldPtr(Value * self, std::string name);
    113112
    114     llvm::Value * getStreamSetBlockPtr(Value * self, std::string ssName, Value * blockNo);
     113    llvm::Value * getStreamSetStructPtr(Value * self, std::string name);
     114    size_t getStreamSetBufferSize(Value * self, std::string name);
     115
     116    llvm::Value * getStreamSetBlockPtr(Value * self, std::string name, Value * blockNo);
    115117   
    116118    void setBlockNo(Value * self, Value * newFieldVal);
     
    119121    virtual void setProducedItemCount(llvm::Value * self, Value * newFieldVal);
    120122    void setTerminationSignal(llvm::Value * self);
    121    
     123
    122124
    123125protected:
Note: See TracChangeset for help on using the changeset viewer.