GNU Octave
3.8.0
A high-level interpreted language, primarily intended for numerical computations, mostly compatible with Matlab
|
#include "jit-ir.h"
Static Public Member Functions | |
static void | reset_ids (void) |
Protected Member Functions | |
void | do_construct_ssa (size_t start, size_t end) |
std::ostream & | print_indent (std::ostream &os, size_t indent=0) const |
Protected Attributes | |
std::vector< jit_type * > | already_infered |
llvm::Value * | llvm_value |
Private Attributes | |
jit_variable * | mdest |
|
inline |
|
inline |
|
inline |
|
pure virtualinherited |
Implemented in jit_return, jit_store_argument, jit_extract_argument, jit_magic_end, jit_error_check, jit_call, jit_cond_branch, jit_branch, jit_phi, jit_assign, jit_variable, jit_block, jit_const< T, EXTRACT_T, PASS_T, QUOTE >, and jit_argument.
Referenced by jit_convert_llvm::visit().
Definition at line 369 of file jit-ir.h.
References jit_instruction::marguments.
Referenced by jit_instruction::argument_llvm(), jit_instruction::argument_type(), jit_instruction::argument_type_llvm(), jit_error_check::check_for(), jit_cond_branch::cond(), jit_instruction::do_construct_ssa(), jit_assign::overwrite(), jit_phi::print(), jit_instruction::print_argument(), jit_phi::prune(), jit_infer::release_dead_phi(), jit_infer::release_temp(), jit_magic_end::resolve_context(), jit_store_argument::result(), jit_return::result(), jit_infer::simplify_phi(), jit_assign::src(), jit_terminator::successor(), and jit_convert_llvm::visit().
Definition at line 411 of file jit-ir.h.
References jit_instruction::marguments.
Referenced by jit_instruction::construct_ssa(), jit_convert_llvm::finish_phi(), jit_error_check::has_check_for(), jit_phi::infer(), jit_call::infer(), jit_phi::print(), jit_call::print(), jit_phi::prune(), jit_infer::release_dead_phi(), jit_infer::release_temp(), jit_return::result(), jit_infer::simplify_phi(), and jit_convert_llvm::visit().
|
inlineinherited |
Definition at line 374 of file jit-ir.h.
References jit_instruction::argument(), and jit_value::to_llvm().
Referenced by jit_convert_llvm::finish_phi().
Definition at line 380 of file jit-ir.h.
References jit_instruction::argument(), and jit_value::type().
Referenced by jit_instruction::argument_type_llvm(), jit_phi::infer(), and jit_call::infer().
|
inlineinherited |
Definition at line 385 of file jit-ir.h.
References jit_instruction::argument(), jit_instruction::argument_type(), and jit_type::to_llvm().
Definition at line 430 of file jit-ir.h.
References jit_instruction::already_infered.
Referenced by jit_call::overload().
Definition at line 427 of file jit-ir.h.
References jit_instruction::marguments.
Referenced by jit_convert_llvm::visit().
Reimplemented in jit_phi.
Definition at line 437 of file jit-ir.h.
References jit_instruction::argument_count(), and jit_instruction::do_construct_ssa().
Referenced by jit_infer::do_construct_ssa().
|
inline |
Definition at line 878 of file jit-ir.h.
Referenced by jit_infer::do_construct_ssa(), and jit_infer::simplify_phi().
Definition at line 226 of file jit-ir.cc.
References arg(), jit_instruction::argument(), jit_variable::has_top(), jit_instruction::stash_argument(), and jit_variable::top().
Referenced by jit_instruction::construct_ssa().
|
inlineinherited |
Reimplemented in jit_block.
Definition at line 113 of file jit-util.h.
Referenced by jit_block::first_use(), jit_value::first_use_block(), jit_call::needs_release(), jit_value::replace_with(), and jit_variable::use_blocks().
Definition at line 153 of file jit-ir.cc.
References jit_internal_list< jit_value, jit_use >::first_use(), jit_internal_node< LIST_T, NODE_T >::next(), jit_use::user(), and jit_use::user_parent().
Referenced by jit_infer::release_temp().
Definition at line 250 of file jit-ir.h.
References jit_value::llvm_value.
Definition at line 464 of file jit-ir.h.
References jit_instruction::mid.
Referenced by jit_typeinfo::create_identity(), short_print(), and jit_magic_end::short_print().
Definition at line 196 of file jit-ir.h.
References jit_value::min_worklist.
Referenced by jit_infer::push_worklist().
Reimplemented in jit_magic_end, jit_call, jit_terminator, jit_phi, and jit_assign.
Definition at line 442 of file jit-ir.h.
Referenced by jit_infer::infer(), and jit_infer::simplify_phi().
|
inlineinherited |
Reimplemented in jit_variable.
Definition at line 234 of file jit-ir.h.
References jit_value::mlast_use.
|
inlineinherited |
Definition at line 450 of file jit-ir.h.
References jit_instruction::mlocation.
Referenced by jit_block::insert_after(), and jit_block::insert_before().
Reimplemented in jit_call.
Definition at line 241 of file jit-ir.h.
Referenced by jit_infer::release_dead_phi(), and jit_infer::release_temp().
Definition at line 448 of file jit-ir.h.
References jit_instruction::mparent.
Referenced by jit_function::call(), jit_phi::infer(), jit_terminator::infer(), jit_phi::prune(), jit_infer::simplify_phi(), jit_use::user_parent(), and jit_phi_incomming::user_parent().
|
inherited |
Definition at line 212 of file jit-ir.cc.
References jit_instruction::mparent, and jit_block::to_llvm().
Reimplemented from jit_instruction.
|
pure virtualinherited |
Implemented in jit_return, jit_store_argument, jit_extract_argument, jit_magic_end, jit_error_check, jit_call, jit_cond_branch, jit_branch, jit_phi, jit_assign, jit_variable, jit_block, jit_const< T, EXTRACT_T, PASS_T, QUOTE >, and jit_argument.
Referenced by jit_print(), jit_block::print(), jit_value::print_string(), and jit_value::short_print().
|
inlineinherited |
Definition at line 391 of file jit-ir.h.
References jit_instruction::argument(), and jit_value::short_print().
Referenced by jit_call::print().
|
inlineprotectedinherited |
Definition at line 267 of file jit-ir.h.
Referenced by jit_argument::print(), jit_const< T, EXTRACT_T, PASS_T, QUOTE >::print(), jit_block::print(), jit_variable::print(), jit_assign::print(), jit_phi::print(), jit_branch::print(), jit_cond_branch::print(), jit_call::print(), jit_error_check::print(), jit_magic_end::print(), jit_extract_argument::print(), jit_store_argument::print(), and jit_return::print().
|
inlineinherited |
Definition at line 227 of file jit-ir.h.
References jit_value::print().
Definition at line 404 of file jit-ir.h.
References jit_instruction::already_infered, arg(), jit_instruction::marguments, and jit_instruction::stash_argument().
Referenced by jit_phi::add_incomming().
Reimplemented from jit_instruction.
Definition at line 204 of file jit-ir.cc.
References jit_instruction::mlocation, jit_instruction::mparent, jit_block::remove(), and jit_instruction::resize_arguments().
Referenced by jit_infer::do_construct_ssa(), jit_block::merge(), jit_infer::release_dead_phi(), and jit_infer::remove_dead().
Reimplemented in jit_block.
Definition at line 168 of file jit-ir.cc.
References jit_internal_list< jit_value, jit_use >::first_use(), jit_use::index(), jit_instruction::stash_argument(), and jit_use::user().
Referenced by jit_phi::prune(), and jit_infer::release_dead_phi().
Definition at line 364 of file jit-ir.h.
References jit_instruction::next_id().
Referenced by jit_convert::initialize().
Definition at line 416 of file jit-ir.h.
References jit_instruction::already_infered, jit_instruction::marguments, and jit_instruction::stash_argument().
Referenced by jit_magic_end::jit_magic_end(), jit_phi::prune(), and jit_instruction::remove().
|
inlinevirtual |
Reimplemented from jit_instruction.
Definition at line 890 of file jit-ir.h.
References jit_instruction::id(), and jit_print().
Definition at line 399 of file jit-ir.h.
References jit_instruction::marguments.
Referenced by jit_instruction::do_construct_ssa(), jit_instruction::jit_instruction(), jit_magic_end::jit_magic_end(), jit_block::maybe_split(), jit_phi::prune(), jit_instruction::push_argument(), jit_value::replace_with(), jit_instruction::resize_arguments(), and jit_infer::simplify_phi().
Definition at line 201 of file jit-ir.h.
References jit_value::min_worklist.
Referenced by jit_infer::infer(), and jit_infer::push_worklist().
|
inlineinherited |
Reimplemented in jit_variable.
Definition at line 236 of file jit-ir.h.
References jit_value::mlast_use.
|
inlineinherited |
Definition at line 261 of file jit-ir.h.
References jit_value::llvm_value.
Referenced by jit_convert_llvm::convert(), jit_argument::jit_argument(), and jit_convert_llvm::visit().
|
inlineinherited |
Definition at line 457 of file jit-ir.h.
References jit_instruction::mlocation, and jit_instruction::mparent.
Referenced by jit_block::insert_after(), jit_block::insert_before(), jit_block::internal_append(), jit_block::merge(), jit_block::prepend(), and jit_block::remove().
Definition at line 225 of file jit-ir.h.
References jit_value::ty.
Referenced by jit_assign::infer(), jit_phi::infer(), jit_call::infer(), jit_magic_end::infer(), jit_argument::jit_argument(), jit_call::jit_call(), jit_const< T, EXTRACT_T, PASS_T, QUOTE >::jit_const(), and jit_extract_argument::jit_extract_argument().
|
inlineinherited |
Reimplemented in jit_terminator, jit_phi, and jit_block.
Definition at line 255 of file jit-ir.h.
References jit_value::llvm_value.
Referenced by jit_instruction::argument_llvm(), and jit_convert_llvm::visit().
Definition at line 213 of file jit-ir.h.
References jit_value::ty.
Referenced by jit_instruction::argument_type(), jit_typeinfo::do_end(), jit_phi::infer(), jit_call::infer(), jit_magic_end::infer(), jit_call::needs_release(), jit_return::result_type(), jit_instruction::short_print(), jit_infer::simplify_phi(), jit_factory::track_value(), and jit_convert_llvm::visit().
|
inlineinherited |
Definition at line 215 of file jit-ir.h.
References jit_type::to_llvm(), and jit_value::ty.
Referenced by jit_convert_llvm::visit().
|
inlineinherited |
Definition at line 220 of file jit-ir.h.
References jit_type::name(), and jit_value::ty.
|
inlineinherited |
Reimplemented in jit_block.
Definition at line 115 of file jit-util.h.
Referenced by jit_call::infer(), jit_call::print(), and jit_block::use_count().
|
protectedinherited |
Definition at line 470 of file jit-ir.h.
Referenced by jit_instruction::argument_types(), jit_call::infer(), jit_instruction::jit_instruction(), jit_instruction::push_argument(), and jit_instruction::resize_arguments().
|
protectedinherited |
Definition at line 274 of file jit-ir.h.
Referenced by jit_value::has_llvm(), jit_value::stash_llvm(), jit_value::to_llvm(), and jit_block::to_llvm().
|
private |