Jlm
LlvmInstructionConversion.hpp
Go to the documentation of this file.
1 /*
2  * Copyright 2014 2015 Nico Reißmann <nico.reissmann@gmail.com>
3  * See COPYING for terms of redistribution.
4  */
5 
6 #ifndef JLM_LLVM_FRONTEND_LLVMINSTRUCTIONCONVERSION_HPP
7 #define JLM_LLVM_FRONTEND_LLVMINSTRUCTIONCONVERSION_HPP
8 
9 #include <jlm/llvm/ir/tac.hpp>
10 
11 namespace llvm
12 {
13 class Constant;
14 class Instruction;
15 class Value;
16 }
17 
18 namespace jlm::llvm
19 {
20 
21 class Context;
22 class Variable;
23 
24 const Variable *
25 ConvertValue(::llvm::Value * v, tacsvector_t & tacs, Context & ctx);
26 
27 const Variable *
29  ::llvm::Instruction * i,
30  std::vector<std::unique_ptr<llvm::ThreeAddressCode>> & tacs,
31  Context & ctx);
32 
33 std::vector<std::unique_ptr<llvm::ThreeAddressCode>>
34 ConvertConstant(::llvm::Constant * constant, Context & ctx);
35 
36 const Variable *
38  ::llvm::Constant * constant,
39  std::vector<std::unique_ptr<llvm::ThreeAddressCode>> & tacs,
40  Context & ctx);
41 
42 }
43 
44 #endif
Global memory state passed between functions.
std::vector< std::unique_ptr< llvm::ThreeAddressCode > > tacsvector_t
Definition: tac.hpp:202
const Variable * ConvertConstant(::llvm::Constant *, std::vector< std::unique_ptr< llvm::ThreeAddressCode >> &, Context &)
const Variable * ConvertValue(::llvm::Value *v, tacsvector_t &tacs, Context &ctx)
const Variable * ConvertInstruction(::llvm::Instruction *i, std::vector< std::unique_ptr< llvm::ThreeAddressCode >> &tacs, Context &ctx)
@ Value
Designate a value type.