annotate src/jit-util.cc @ 15016:005cb78e1dd1

Split pt-jit into multiple files. * src/Makefile: Add jit-util.h, jit-typeinfo.h, jit-ir.h, jit-util.cc, jit-typeinfo.cc, and jit-ir.cc. * src/jit-ir.cc: New file. * src/jit-ir.h: New file. * src/jit-typeinfo.cc: New file. * src/jit-typeinfo.h: New file. * src/jit-util.h: New file. * src/jit-util.cc: New file. * src/pt-jit.cc: (jit_fail_exception): Move to jit-ir.h. (fail): Removed function. (jit_print, jit_use, jit_value, jit_instruction, jit_block, jit_phi_incomming, jit_phi, jit_terminator, jit_call): Moved to jit-ir.cc. (octave_jit_print_any, octave_jit_print_double, octave_jit_binary_any_any, octave_jit_compute_nelem, octave_jit_release_any, octave_jit_release_matrix, octave_jit_grab_any, octave_jit_grab_matrix, octave_jit_cast_any_matrix, octave_jit_cast_matrix_any, octave_jit_cast_scalar_any, octave_jit_cast_any_scalar, octave_jit_cast_complex_any, octave_jit_cast_any_complex, octave_jit_gripe_nan_to_logical_conversion, octave_jit_ginvalid_index, octave_jit_gindex_range, octave_jit_paren_subsasgn_impl, octave_jit_paren_subsasgn_matrix_range, octave_jit_complex_div, octave_jit_pow_scalar_scalar, octave_jit_pow_complex_complex, octave_jit_pow_scalar_scalar, octave_jit_pow_complex_scalar, octave_jit_pow_scalar_scalar, octave_jit_pow_scalar_complex, octave_jit_pow_scalar_scalar, octave_jit_print_matrix, octave_jit_call, jit_type, jit_function, jit_operation, jit_typeinfo): Moved to jit-typeinfo.cc * src/pt-jit.h (jit_print, jit_use, jit_value, jit_instruction, jit_block, jit_phi_incomming, jit_phi, jit_terminator, jit_call): Moved to jit-ir.h. (jit_internal_list, jit_internal_node, jit_range, jit_array): Moved to jit-util.h. (jit_type, jit_function, jit_operation, jit_typeinfo): Moved to jit-typeinfo.h
author Max Brister <max@2bass.com>
date Wed, 25 Jul 2012 21:12:47 -0500
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
15016
005cb78e1dd1 Split pt-jit into multiple files.
Max Brister <max@2bass.com>
parents:
diff changeset
1 /*
005cb78e1dd1 Split pt-jit into multiple files.
Max Brister <max@2bass.com>
parents:
diff changeset
2
005cb78e1dd1 Split pt-jit into multiple files.
Max Brister <max@2bass.com>
parents:
diff changeset
3 Copyright (C) 2012 Max Brister <max@2bass.com>
005cb78e1dd1 Split pt-jit into multiple files.
Max Brister <max@2bass.com>
parents:
diff changeset
4
005cb78e1dd1 Split pt-jit into multiple files.
Max Brister <max@2bass.com>
parents:
diff changeset
5 This file is part of Octave.
005cb78e1dd1 Split pt-jit into multiple files.
Max Brister <max@2bass.com>
parents:
diff changeset
6
005cb78e1dd1 Split pt-jit into multiple files.
Max Brister <max@2bass.com>
parents:
diff changeset
7 Octave is free software; you can redistribute it and/or modify it
005cb78e1dd1 Split pt-jit into multiple files.
Max Brister <max@2bass.com>
parents:
diff changeset
8 under the terms of the GNU General Public License as published by the
005cb78e1dd1 Split pt-jit into multiple files.
Max Brister <max@2bass.com>
parents:
diff changeset
9 Free Software Foundation; either version 3 of the License, or (at your
005cb78e1dd1 Split pt-jit into multiple files.
Max Brister <max@2bass.com>
parents:
diff changeset
10 option) any later version.
005cb78e1dd1 Split pt-jit into multiple files.
Max Brister <max@2bass.com>
parents:
diff changeset
11
005cb78e1dd1 Split pt-jit into multiple files.
Max Brister <max@2bass.com>
parents:
diff changeset
12 Octave is distributed in the hope that it will be useful, but WITHOUT
005cb78e1dd1 Split pt-jit into multiple files.
Max Brister <max@2bass.com>
parents:
diff changeset
13 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
005cb78e1dd1 Split pt-jit into multiple files.
Max Brister <max@2bass.com>
parents:
diff changeset
14 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
005cb78e1dd1 Split pt-jit into multiple files.
Max Brister <max@2bass.com>
parents:
diff changeset
15 for more details.
005cb78e1dd1 Split pt-jit into multiple files.
Max Brister <max@2bass.com>
parents:
diff changeset
16
005cb78e1dd1 Split pt-jit into multiple files.
Max Brister <max@2bass.com>
parents:
diff changeset
17 You should have received a copy of the GNU General Public License
005cb78e1dd1 Split pt-jit into multiple files.
Max Brister <max@2bass.com>
parents:
diff changeset
18 along with Octave; see the file COPYING. If not, see
005cb78e1dd1 Split pt-jit into multiple files.
Max Brister <max@2bass.com>
parents:
diff changeset
19 <http://www.gnu.org/licenses/>.
005cb78e1dd1 Split pt-jit into multiple files.
Max Brister <max@2bass.com>
parents:
diff changeset
20
005cb78e1dd1 Split pt-jit into multiple files.
Max Brister <max@2bass.com>
parents:
diff changeset
21 */
005cb78e1dd1 Split pt-jit into multiple files.
Max Brister <max@2bass.com>
parents:
diff changeset
22
005cb78e1dd1 Split pt-jit into multiple files.
Max Brister <max@2bass.com>
parents:
diff changeset
23 // defines required by llvm
005cb78e1dd1 Split pt-jit into multiple files.
Max Brister <max@2bass.com>
parents:
diff changeset
24 #define __STDC_LIMIT_MACROS
005cb78e1dd1 Split pt-jit into multiple files.
Max Brister <max@2bass.com>
parents:
diff changeset
25 #define __STDC_CONSTANT_MACROS
005cb78e1dd1 Split pt-jit into multiple files.
Max Brister <max@2bass.com>
parents:
diff changeset
26
005cb78e1dd1 Split pt-jit into multiple files.
Max Brister <max@2bass.com>
parents:
diff changeset
27 #ifdef HAVE_CONFIG_H
005cb78e1dd1 Split pt-jit into multiple files.
Max Brister <max@2bass.com>
parents:
diff changeset
28 #include <config.h>
005cb78e1dd1 Split pt-jit into multiple files.
Max Brister <max@2bass.com>
parents:
diff changeset
29 #endif
005cb78e1dd1 Split pt-jit into multiple files.
Max Brister <max@2bass.com>
parents:
diff changeset
30
005cb78e1dd1 Split pt-jit into multiple files.
Max Brister <max@2bass.com>
parents:
diff changeset
31 #ifdef HAVE_LLVM
005cb78e1dd1 Split pt-jit into multiple files.
Max Brister <max@2bass.com>
parents:
diff changeset
32
005cb78e1dd1 Split pt-jit into multiple files.
Max Brister <max@2bass.com>
parents:
diff changeset
33 #include <llvm/Value.h>
005cb78e1dd1 Split pt-jit into multiple files.
Max Brister <max@2bass.com>
parents:
diff changeset
34 #include <llvm/Support/raw_os_ostream.h>
005cb78e1dd1 Split pt-jit into multiple files.
Max Brister <max@2bass.com>
parents:
diff changeset
35
005cb78e1dd1 Split pt-jit into multiple files.
Max Brister <max@2bass.com>
parents:
diff changeset
36 std::ostream&
005cb78e1dd1 Split pt-jit into multiple files.
Max Brister <max@2bass.com>
parents:
diff changeset
37 operator<< (std::ostream& os, const llvm::Value& v)
005cb78e1dd1 Split pt-jit into multiple files.
Max Brister <max@2bass.com>
parents:
diff changeset
38 {
005cb78e1dd1 Split pt-jit into multiple files.
Max Brister <max@2bass.com>
parents:
diff changeset
39 llvm::raw_os_ostream llvm_out (os);
005cb78e1dd1 Split pt-jit into multiple files.
Max Brister <max@2bass.com>
parents:
diff changeset
40 v.print (llvm_out);
005cb78e1dd1 Split pt-jit into multiple files.
Max Brister <max@2bass.com>
parents:
diff changeset
41 return os;
005cb78e1dd1 Split pt-jit into multiple files.
Max Brister <max@2bass.com>
parents:
diff changeset
42 }
005cb78e1dd1 Split pt-jit into multiple files.
Max Brister <max@2bass.com>
parents:
diff changeset
43
005cb78e1dd1 Split pt-jit into multiple files.
Max Brister <max@2bass.com>
parents:
diff changeset
44 #endif