Ignore:
Timestamp:
Dec 16, 2016, 4:16:28 PM (2 years ago)
Author:
nmedfort
Message:

Rewrite of the CarryManager? to support non-carry-collapsing loops.

File:
1 edited

Legend:

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

    r5224 r5227  
    108108    // Add an additional scalar field to the KernelState struct.
    109109    // Must occur before any call to addKernelDeclarations or createKernelModule.
    110     void addScalar(llvm::Type * t, std::string name);
    111    
     110    unsigned addScalar(llvm::Type * type, std::string name);
     111
     112    unsigned getScalarCount() const;
     113
    112114    // Run-time access of Kernel State and parameters of methods for
    113115    // use in implementing kernels.
    114116   
    115117    // Get the index of a named scalar field within the kernel state struct.
    116     llvm::Value * getScalarIndex(std::string);
     118    ConstantInt * getScalarIndex(const std::string & name) const;
    117119   
    118120    // Get the value of a scalar field for a given instance.
     
    128130    unsigned getStreamSetIndex(std::string name);
    129131   
    130     llvm::Value * getScalarFieldPtr(Value * self, std::string name);
     132    llvm::Value * getScalarFieldPtr(Value * self, const std::string & name);
    131133
    132134    llvm::Value * getStreamSetStructPtr(Value * self, std::string name);
     
    143145
    144146    std::vector<llvm::Type *>  mKernelFields;
    145     NameMap                    mInternalStateNameMap;
     147    NameMap                    mKernelMap;
    146148    NameMap                    mStreamSetNameMap;
    147149    std::vector<StreamSetBuffer *> mStreamSetInputBuffers;
Note: See TracChangeset for help on using the changeset viewer.