/external/tensorflow/tensorflow/compiler/xla/service/llvm_ir/ |
tuple_ops.cc | 34 llvm::Value* on_false, llvm::IRBuilder<>* ir_builder, 39 ir_builder->CreateLoad(pred.GetBasePointer(), "load_predicate_value"); 40 llvm::Value* pred_cond = ir_builder->CreateICmpNE( 50 std::vector<llvm::Value*> element_index = {ir_builder->getInt64(0), 51 ir_builder->getInt64(i)}; 53 ir_builder->CreateInBoundsGEP(on_true, element_index); 54 llvm::Value* on_true_element = ir_builder->CreateLoad( 58 ir_builder->CreateInBoundsGEP(on_false, element_index); 59 llvm::Value* on_false_element = ir_builder->CreateLoad( 64 ir_builder->CreateInBoundsGEP(select.GetBasePointer(), element_index) [all...] |
tuple_ops.h | 63 llvm::Value* on_false, llvm::IRBuilder<>* ir_builder, 70 llvm::IRBuilder<>* ir_builder, llvm::Module* module); 78 llvm::IRBuilder<>* ir_builder,
|
llvm_loop.cc | 50 llvm::Value* end_index, llvm::Value* step, llvm::IRBuilder<>* ir_builder, 55 loop->Emit(ir_builder); 59 void ForLoop::Emit(llvm::IRBuilder<>* ir_builder) { 62 preheader_bb_ = ir_builder->GetInsertBlock(); 64 llvm::BasicBlock::iterator insert_point = ir_builder->GetInsertPoint(); 70 exit_bb_ = CreateLoopBB("loop_exit", ir_builder); 89 header_bb_ = CreateLoopBB("loop_header", ir_builder); 90 body_bb_ = CreateLoopBB("loop_body", ir_builder); 97 ir_builder->SetInsertPoint(&func->getEntryBlock(), 100 ir_builder->CreateAlloca(ir_builder->getInt64Ty(), nullptr [all...] |
loop_emitter.h | 45 llvm::IRBuilder<>* ir_builder); 49 const IrArray& target_array, llvm::IRBuilder<>* ir_builder); 58 llvm::IRBuilder<>* ir_builder);
|
ops.cc | 43 tensorflow::StringPiece name, llvm::IRBuilder<>* ir_builder) { 50 IrArray::Index dim_index({ir_builder->getInt64(i)}); 64 llvm::Value* start_index0 = ir_builder->CreateZExtOrBitCast( 66 output_index[i] = ir_builder->CreateURem( 67 ir_builder->CreateAdd(start_index0, update_index[i]), dim_size); 73 output_array.EmitWriteArrayElement(output_index, update_data, ir_builder); 79 *launch_dimensions, ir_builder) 82 return LoopEmitter(loop_body_emitter, update_shape, ir_builder) 89 llvm::IRBuilder<>* ir_builder) { 100 return start_indices_array.EmitReadArrayElement(index, ir_builder); [all...] |
loop_emitter.cc | 36 llvm::IRBuilder<>* ir_builder) 37 : body_emitter_(body_emitter), shape_(shape), ir_builder_(ir_builder) {} 41 llvm::IRBuilder<>* ir_builder) 48 ir_builder); 52 ir_builder_(ir_builder) {} 56 const std::vector<IrArray>& target_arrays, llvm::IRBuilder<>* ir_builder) { 68 array_index, ir_builder->CreateExtractValue(target_element, i), 69 ir_builder); 77 llvm::IRBuilder<>* ir_builder) 81 ir_builder)), [all...] |
llvm_util.cc | 49 llvm::Module* ModuleFromIRBuilder(llvm::IRBuilder<>* ir_builder) { 50 auto block = CHECK_NOTNULL(ir_builder->GetInsertBlock()); 88 llvm::IRBuilder<>* ir_builder) { 93 llvm::Module* module = ModuleFromIRBuilder(ir_builder); 100 return ir_builder->CreateCall(intrinsic, operands_vec); 104 llvm::IRBuilder<>* ir_builder) { 105 if (ir_builder->getFastMathFlags().noNaNs()) { 106 auto cmp = ir_builder->CreateFCmpUGE(lhs_value, rhs_value); 107 return ir_builder->CreateSelect(cmp, lhs_value, rhs_value); 110 {lhs_value->getType()}, ir_builder); [all...] |
ir_array.cc | 33 llvm::IRBuilder<>* ir_builder) 56 auto* quot = ir_builder->CreateUDiv(linear, ir_builder->getInt64(divisor)); 58 multidim_[dimension] = ir_builder->CreateURem( 59 quot, ir_builder->getInt64(size_of_current_dimension)); 80 const Shape& shape, llvm::IRBuilder<>* ir_builder) 86 linear_ = Linearize(AsInt64Slice(shape.dimensions()), ir_builder); 224 const IrArray::Index& index, llvm::IRBuilder<>* ir_builder, 241 actual_index.push_back(dim == 1 ? ir_builder->getInt64(0) : index[i]); 247 ir_builder->GetInsertBlock()->getParent()->getParent() [all...] |
kernel_support_library.cc | 69 llvm::IRBuilder<>* ir_builder, tensorflow::StringPiece kernel_name, 73 llvm::Module* module = ir_builder->GetInsertBlock()->getModule(); 97 ir_builder->getVoidTy(), arg_types, /*isVarArg=*/false); 104 llvm::IRBuilder<>::InsertPointGuard guard(*ir_builder); 107 llvm::BasicBlock::Create(ir_builder->getContext(), "entry", function); 108 auto* return_inst = llvm::ReturnInst::Create(ir_builder->getContext(), 111 ir_builder->SetInsertPoint(return_inst); 131 ir_builder->CreateCall(function, llvm_ir::AsArrayRef(sanitized_args));
|
llvm_loop.h | 76 llvm::Value* end_index, llvm::Value* step, llvm::IRBuilder<>* ir_builder, 134 void Emit(llvm::IRBuilder<>* ir_builder); 137 llvm::IRBuilder<>* ir_builder); 145 std::vector<llvm::Metadata*> GetLoopMetadata(llvm::IRBuilder<>* ir_builder); 173 explicit ForLoopNest(llvm::IRBuilder<>* ir_builder) 174 : ForLoopNest(/*name=*/"", ir_builder) {} 176 ForLoopNest(tensorflow::StringPiece name, llvm::IRBuilder<>* ir_builder) 181 ir_builder_(ir_builder) {}
|
llvm_util.h | 108 llvm::IRBuilder<>* ir_builder); 113 llvm::IRBuilder<>* ir_builder); 118 llvm::IRBuilder<>* ir_builder); 125 llvm::IRBuilder<>* ir_builder); 127 llvm::IRBuilder<>* ir_builder); 143 const Shape& shape, int32* shape_size, llvm::IRBuilder<>* ir_builder); 167 llvm::IRBuilder<>* ir_builder, 174 llvm::IRBuilder<>* ir_builder, int alignment = 0); 181 llvm::IRBuilder<>* ir_builder); 213 llvm::IRBuilder<>* ir_builder, bool emit_else = true) [all...] |
ops.h | 69 llvm::IRBuilder<>* ir_builder); 79 llvm::IRBuilder<>* ir_builder); 88 llvm::IRBuilder<>* ir_builder);
|
kernel_support_library.h | 32 // `ir_builder` is the llvm::IRBuilder instance used to generate LLVM IR. 35 explicit KernelSupportLibrary(llvm::IRBuilder<>* ir_builder, 38 : ir_builder_(ir_builder), 143 llvm::IRBuilder<>* ir_builder, tensorflow::StringPiece kernel_name, 150 llvm::IRBuilder<>* ir_builder, tensorflow::StringPiece kernel_name, 155 enable_fast_math, optimize_for_size, ir_builder, kernel_name, 163 llvm::IRBuilder<>* ir_builder, tensorflow::StringPiece kernel_name, 169 enable_fast_math, optimize_for_size, ir_builder, kernel_name,
|
ir_array.h | 70 // multi-dimensional index from "linear" and "shape". "ir_builder" is the IR 76 llvm::IRBuilder<>* ir_builder); 84 const Shape& shape, llvm::IRBuilder<>* ir_builder); 195 llvm::IRBuilder<>* ir_builder, 210 llvm::IRBuilder<>* ir_builder, 215 llvm::IRBuilder<>* ir_builder) const; 220 llvm::IRBuilder<>* ir_builder) const; 266 int64 addend, llvm::IRBuilder<>* ir_builder);
|
/external/tensorflow/tensorflow/compiler/xla/service/cpu/ |
vector_support_library.cc | 26 llvm::IRBuilder<>* ir_builder, 30 ir_builder_(ir_builder), 66 return ir_builder()->CreateFMul(lhs, rhs, name()); 68 return ir_builder()->CreateMul(lhs, rhs, name()); 79 return ir_builder()->CreateFSub(lhs, rhs); 94 {a->getType()}, ir_builder()); 100 return ir_builder()->CreateFDiv(lhs, rhs, name()); 121 return I1ToFloat(ir_builder()->CreateFCmpOEQ(lhs, rhs, name())); 127 return I1ToFloat(ir_builder()->CreateFCmpOLT(lhs, rhs, name())); 133 return I1ToFloat(ir_builder()->CreateFCmpULE(lhs, rhs, name())) [all...] |
ir_function.cc | 52 llvm::IRBuilder<>* ir_builder, 54 : ir_builder_(ir_builder), 56 caller_insert_point_guard_(*ir_builder), 198 llvm::IRBuilder<>* ir_builder, tensorflow::StringPiece name, 203 ir_builder->getInt8PtrTy(), 204 ir_builder->getInt32(parameter_addresses.size()), 206 ir_builder); 208 llvm::Value* parameter_as_i8ptr = ir_builder->CreateBitCast( 209 parameter_addresses[i], ir_builder->getInt8PtrTy(), 212 llvm::Value* slot_in_param_addresses = ir_builder->CreateInBoundsGEP [all...] |
parallel_loop_emitter.h | 57 llvm::IRBuilder<>* ir_builder);
|
llvm_ir_runtime.cc | 55 llvm::IRBuilder<> ir_builder(vector_tanh_body); 58 ir_builder.setFastMathFlags(fast_math_flags); 60 VectorSupportLibrary vsl(F32, vector_width, &ir_builder, "tanh_f32"); 94 ir_builder.CreateRet(result); 116 llvm::IRBuilder<> ir_builder(vector_exp_body); 119 ir_builder.setFastMathFlags(fast_math_flags); 121 VectorSupportLibrary vsl(F32, vector_width, &ir_builder, "exp_f32"); 163 ir_builder.CreateVectorSplat(vector_width, ir_builder.getInt32(0x7f)); 165 ir_builder.CreateVectorSplat(vector_width, ir_builder.getInt32(23)) [all...] |
ir_function.h | 57 llvm::IRBuilder<>* ir_builder, int64 num_dynamic_loop_bounds); 119 llvm::IRBuilder<>* ir_builder, tensorflow::StringPiece name, 128 llvm::IRBuilder<>* ir_builder, llvm::Function* parallel_function,
|
elemental_ir_emitter.h | 34 : ElementalIrEmitter(module_config, module, ir_emitter->ir_builder()),
|
vector_support_library.h | 48 llvm::IRBuilder<>* ir_builder, std::string name); 52 return Mul(ir_builder()->getInt64(lhs), rhs); 65 return Add(ir_builder()->getInt64(lhs), rhs); 149 ir_builder()->getInt64(offset_elements)); 160 return LoadVector(base_pointer, ir_builder()->getInt64(offset_elements)); 171 return LoadScalar(base_pointer, ir_builder()->getInt64(offset_elements)); 183 StoreVector(value, base_pointer, ir_builder()->getInt64(offset_elements)); 194 StoreScalar(base_pointer, ir_builder()->getInt64(offset_elements)); 203 return LoadBroadcast(base_pointer, ir_builder()->getInt64(offset_elements)); 216 llvm::IRBuilder<>* ir_builder() const { return ir_builder_; function in class:xla::cpu::VectorSupportLibrary [all...] |
dot_op_emitter.h | 62 llvm::Value* executable_run_options_value, llvm::IRBuilder<>* ir_builder, 73 llvm::IRBuilder<>* ir_builder,
|
/external/tensorflow/tensorflow/compiler/xla/service/gpu/ |
parallel_loop_emitter.h | 37 llvm::IRBuilder<>* ir_builder); 43 llvm::IRBuilder<>* ir_builder); 53 const LaunchDimensions& launch_dimensions, llvm::IRBuilder<>* ir_builder);
|
parallel_loop_emitter.cc | 35 const LaunchDimensions& launch_dimensions, llvm::IRBuilder<>* ir_builder) 36 : LoopEmitter(body_emitter, shape, ir_builder), 42 const LaunchDimensions& launch_dimensions, llvm::IRBuilder<>* ir_builder) 43 : LoopEmitter(target_element_generator, target_arrays, ir_builder), 49 const LaunchDimensions& launch_dimensions, llvm::IRBuilder<>* ir_builder) 50 : LoopEmitter(target_element_generator, target_array, ir_builder),
|
/external/mesa3d/src/compiler/glsl/ |
opt_flatten_nested_if_blocks.cpp | 43 #include "ir_builder.h" 45 using namespace ir_builder;
|