Lines Matching full:llvm
20 #include <llvm/ADT/ArrayRef.h>
21 #include <llvm/IR/BasicBlock.h>
22 #include <llvm/IR/IRBuilder.h>
23 #include <llvm/IR/LLVMContext.h>
24 #include <llvm/IR/Module.h>
31 #include "llvm/intrinsic_helper.h"
32 #include "llvm/llvm_compilation_unit.h"
48 llvm::LlvmCompilationUnit* const llvm_compilation_unit);
54 llvm::LlvmCompilationUnit* llvm_compilation_unit)
86 ::llvm::BasicBlock* GetLLVMBlock(int id);
87 ::llvm::Value* GetLLVMValue(int s_reg);
88 void SetVregOnValue(::llvm::Value* val, int s_reg);
89 void DefineValueOnly(::llvm::Value* val, int s_reg);
90 void DefineValue(::llvm::Value* val, int s_reg);
91 ::llvm::Type* LlvmTypeFromLocRec(RegLocation loc);
93 ::llvm::BasicBlock* FindCaseTarget(uint32_t vaddr);
99 art::llvm::IntrinsicHelper::IntrinsicId id, RegLocation rl_dest);
101 art::llvm::IntrinsicHelper::IntrinsicId id, RegLocation rl_src);
103 ::llvm::Value* EmitConst(::llvm::ArrayRef< ::llvm::Value*> src,
106 ::llvm::Value* EmitCopy(::llvm::ArrayRef< ::llvm::Value*> src,
111 art::llvm::IntrinsicHelper::IntrinsicId id, RegLocation rl_src);
115 ::llvm::Value* ConvertCompare(ConditionCode cc,
116 ::llvm::Value* src1, ::llvm::Value* src2);
121 ::llvm::Value* GenDivModOp(bool is_div, bool is_long, ::llvm::Value* src1,
122 ::llvm::Value* src2);
123 ::llvm::Value* GenArithOp(OpKind op, bool is_long, ::llvm::Value* src1,
124 ::llvm::Value* src2);
127 void ConvertShift(art::llvm::IntrinsicHelper::IntrinsicId id,
129 void ConvertShiftLit(art::llvm::IntrinsicHelper::IntrinsicId id,
138 art::llvm::IntrinsicHelper::IntrinsicId id, RegLocation rl_dest);
143 void ConvertAget(int opt_flags, art::llvm::IntrinsicHelper::IntrinsicId id,
145 void ConvertAput(int opt_flags, art::llvm::IntrinsicHelper::IntrinsicId id,
147 void ConvertIget(int opt_flags, art::llvm::IntrinsicHelper::IntrinsicId id,
149 void ConvertIput(int opt_flags, art::llvm::IntrinsicHelper::IntrinsicId id,
157 void ConvertWideComparison(art::llvm::IntrinsicHelper::IntrinsicId id,
160 art::llvm::IntrinsicHelper::IntrinsicId id);
162 void ConvertIntToFP(::llvm::Type* ty, RegLocation rl_dest, RegLocation rl_src);
163 void ConvertFPToInt(art::llvm::IntrinsicHelper::IntrinsicId id,
168 bool ConvertMIRNode(MIR* mir, BasicBlock* bb, ::llvm::BasicBlock* llvm_bb);
171 void HandlePhiNodes(BasicBlock* bb, ::llvm::BasicBlock* llvm_bb);
172 void ConvertExtendedMIR(BasicBlock* bb, MIR* mir, ::llvm::BasicBlock* llvm_bb);
174 ::llvm::FunctionType* GetFunctionType();
181 llvm::LlvmCompilationUnit* const llvm_compilation_unit_;
184 ::llvm::LLVMContext* context_;
185 ::llvm::Module* module_;
186 ::llvm::Function* func_;
187 art::llvm::IntrinsicHelper* intrinsic_helper_;
188 art::llvm::IRBuilder* irb_;
189 ::llvm::BasicBlock* placeholder_bb_;
190 ::llvm::BasicBlock* entry_bb_;
191 ::llvm::BasicBlock* entry_target_bb_;
193 GrowableArray< ::llvm::Value*> llvm_values_;
195 SafeMap<int32_t, ::llvm::BasicBlock*> id_to_block_map_; // block id -> llvm bb.