llir-opt  0.0.1
Low-Level Post-Link Optimiser for OCaml and C
symbolic_summary.h
1 // This file if part of the llir-opt project.
2 // Licensing information can be found in the LICENSE file.
3 // (C) 2018 Nandor Licker. All rights reserved.
4 
5 #pragma once
6 
7 #include <unordered_map>
8 
9 #include "core/ref.h"
10 #include "passes/pre_eval/symbolic_value.h"
11 
12 
13 
17 class SymbolicSummary final {
18 public:
19  SymbolicValue Lookup(ConstRef<Inst> ref);
20 
21  SymbolicValue Lookup(CallSite *site);
22 
23  void Map(ConstRef<Inst> ref, const SymbolicValue &value);
24 
25 private:
27  std::unordered_map<ConstRef<Inst>, SymbolicValue> values_;
28 };
SymbolicValue
Definition: symbolic_value.h:24
ConstRef< Inst >
SymbolicSummary
Definition: symbolic_summary.h:17