libTriton version 1.0 build 1590
Loading...
Searching...
No Matches
liftingToLLVM.hpp
Go to the documentation of this file.
1
2/*
3** Copyright (C) - Triton
4**
5** This program is under the terms of the Apache License 2.0.
6*/
7
8#ifndef TRITON_LIFTINGTOLLVM_HPP
9#define TRITON_LIFTINGTOLLVM_HPP
10
11#include <map>
12#include <memory>
13#include <ostream>
14
15#include <triton/ast.hpp>
16#include <triton/dllexport.hpp>
18
19
20
22namespace triton {
29 namespace engines {
37 namespace lifters {
45
47 public:
49 TRITON_EXPORT LiftingToLLVM();
50
52 TRITON_EXPORT std::ostream& liftToLLVM(std::ostream& stream, const triton::engines::symbolic::SharedSymbolicExpression& expr, const char* fname="__triton", bool optimize=false);
53
55 TRITON_EXPORT std::ostream& liftToLLVM(std::ostream& stream, const triton::ast::SharedAbstractNode& node, const char* fname="__triton", bool optimize=false);
56
59 };
60
62 };
64 };
66};
67
68#endif /* TRITON_LIFTINGTOLLVM_HPP */
TRITON_EXPORT triton::ast::SharedAbstractNode simplifyAstViaLLVM(const triton::ast::SharedAbstractNode &node) const
Lifts and simplify an AST using LLVM.
TRITON_EXPORT LiftingToLLVM()
Constructor.
TRITON_EXPORT std::ostream & liftToLLVM(std::ostream &stream, const triton::engines::symbolic::SharedSymbolicExpression &expr, const char *fname="__triton", bool optimize=false)
Lifts a symbolic expression and all its references to LLVM format. fname represents the name of the L...
std::shared_ptr< triton::ast::AbstractNode > SharedAbstractNode
Shared Abstract Node.
Definition ast.hpp:59
std::shared_ptr< triton::engines::symbolic::SymbolicExpression > SharedSymbolicExpression
Shared Symbolic Expression.
Definition ast.hpp:40
The Triton namespace.