Home | History | Annotate | Download | only in portable

Lines Matching full:llvm

25 #include "llvm/compiler_llvm.h"
26 #include "llvm/ir_builder.h"
27 #include "llvm/llvm_compilation_unit.h"
28 #include "llvm/runtime_support_llvm_func.h"
29 #include "llvm/utils_llvm.h"
35 #include <llvm/ADT/SmallVector.h>
36 #include <llvm/IR/BasicBlock.h>
37 #include <llvm/IR/DerivedTypes.h>
38 #include <llvm/IR/Function.h>
39 #include <llvm/IR/Type.h>
42 namespace llvm {
44 using ::art::llvm::runtime_support::JniMethodEnd;
45 using ::art::llvm::runtime_support::JniMethodEndSynchronized;
46 using ::art::llvm::runtime_support::JniMethodEndWithReference;
47 using ::art::llvm::runtime_support::JniMethodEndWithReferenceSynchronized;
48 using ::art::llvm::runtime_support::JniMethodStart;
49 using ::art::llvm::runtime_support::JniMethodStartSynchronized;
50 using ::art::llvm::runtime_support::RuntimeId;
70 ::llvm::Value* this_object_or_class_object;
78 ::llvm::Function::arg_iterator arg_begin(func_->arg_begin());
79 ::llvm::Function::arg_iterator arg_end(func_->arg_end());
80 ::llvm::Function::arg_iterator arg_iter(arg_begin);
84 ::llvm::Value* method_object_addr = arg_iter++;
114 ::llvm::StructType* shadow_frame_type = irb_.getShadowFrameTy(handle_scope_size);
115 ::llvm::AllocaInst* shadow_frame_ = irb_.CreateAlloca(shadow_frame_type);
124 ::llvm::Value* shadow_frame_upcast = irb_.CreateConstGEP2_32(shadow_frame_, 0, 0);
125 ::llvm::Value* old_shadow_frame =
129 ::llvm::Value* jni_env_object_addr =
135 ::llvm::Value* code_addr =
143 std::vector< ::llvm::Value*> args;
149 ::llvm::Value* gep_index[] = {
159 ::llvm::Value* handle_scope_field_addr = irb_.CreateBitCast(irb_.CreateGEP(shadow_frame_, gep_index),
170 ::llvm::Value* handle_scope_field_addr = irb_.CreateBitCast(irb_.CreateGEP(shadow_frame_, gep_index),
175 ::llvm::Value* equal_null = irb_.CreateICmpEQ(arg_iter, irb_.getJNull());
176 ::llvm::Value* arg =
186 ::llvm::Value* saved_local_ref_cookie;
190 ::llvm::SmallVector< ::llvm::Value*, 2> args;
200 ::llvm::Value* retval = irb_.CreateCall(code_addr, args);
209 ::llvm::SmallVector< ::llvm::Value*, 4> args;
219 ::llvm::Value* decoded_jobject =
265 ::llvm::FunctionType* func_type =
269 func_ = ::llvm::Function::Create(func_type, ::llvm::Function::InternalLinkage,
273 ::llvm::BasicBlock* basic_block = ::llvm::BasicBlock::Create(*context_, "B0", func_);
280 ::llvm::FunctionType* JniCompiler::GetFunctionType(uint32_t method_idx,
288 ::llvm::Type* ret_type = NULL;
303 std::vector< ::llvm::Type*> args_type;
317 return ::llvm::FunctionType::get(ret_type, args_type, false);
320 } // namespace llvm