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.

File:
1 edited

Legend:

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

    r5217 r5230  
    2424    friend class PabloBlock;
    2525    using Twine = llvm::Twine;
     26    using Allocator = PabloAST::Allocator;
    2627public:
    2728    typedef int64_t integer_t;
    28     String * get(const std::string name);
    29     String * make(const std::string prefix);
     29    String * get(const std::string name, IDISA::IDISA_Builder * builder);
     30    String * make(const std::string prefix, IDISA::IDISA_Builder *builder);
    3031    Integer * getInteger(const integer_t value, IDISA::IDISA_Builder * builder);
    31     SymbolGenerator() = default;
     32    SymbolGenerator(Allocator & allocator) : mAllocator(allocator) {}
    3233    ~SymbolGenerator() = default;
    3334private:
     35    Allocator &                                 mAllocator;
    3436    std::unordered_map<std::string, integer_t>  mPrefixMap;
    3537    std::unordered_map<std::string, String *>   mStringMap;
Note: See TracChangeset for help on using the changeset viewer.