annotate libinterp/template-inst/Array-jit.cc @ 20654:b65888ec820e draft default tip gccjit

dmalcom gcc jit import
author Stefan Mahr <dac922@gmx.de>
date Fri, 27 Feb 2015 16:59:36 +0100
parents 4197fc428c7d
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
14903
54ea692b8ab5 Reworking JIT implementation
Max Brister <max@2bass.com>
parents:
diff changeset
1 /*
54ea692b8ab5 Reworking JIT implementation
Max Brister <max@2bass.com>
parents:
diff changeset
2
19731
4197fc428c7d maint: Update copyright notices for 2015.
John W. Eaton <jwe@octave.org>
parents: 17744
diff changeset
3 Copyright (C) 2012-2015 Max Brister
14903
54ea692b8ab5 Reworking JIT implementation
Max Brister <max@2bass.com>
parents:
diff changeset
4
54ea692b8ab5 Reworking JIT implementation
Max Brister <max@2bass.com>
parents:
diff changeset
5 This file is part of Octave.
54ea692b8ab5 Reworking JIT implementation
Max Brister <max@2bass.com>
parents:
diff changeset
6
54ea692b8ab5 Reworking JIT implementation
Max Brister <max@2bass.com>
parents:
diff changeset
7 Octave is free software; you can redistribute it and/or modify it
54ea692b8ab5 Reworking JIT implementation
Max Brister <max@2bass.com>
parents:
diff changeset
8 under the terms of the GNU General Public License as published by the
54ea692b8ab5 Reworking JIT implementation
Max Brister <max@2bass.com>
parents:
diff changeset
9 Free Software Foundation; either version 3 of the License, or (at your
54ea692b8ab5 Reworking JIT implementation
Max Brister <max@2bass.com>
parents:
diff changeset
10 option) any later version.
54ea692b8ab5 Reworking JIT implementation
Max Brister <max@2bass.com>
parents:
diff changeset
11
54ea692b8ab5 Reworking JIT implementation
Max Brister <max@2bass.com>
parents:
diff changeset
12 Octave is distributed in the hope that it will be useful, but WITHOUT
54ea692b8ab5 Reworking JIT implementation
Max Brister <max@2bass.com>
parents:
diff changeset
13 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
54ea692b8ab5 Reworking JIT implementation
Max Brister <max@2bass.com>
parents:
diff changeset
14 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
54ea692b8ab5 Reworking JIT implementation
Max Brister <max@2bass.com>
parents:
diff changeset
15 for more details.
54ea692b8ab5 Reworking JIT implementation
Max Brister <max@2bass.com>
parents:
diff changeset
16
54ea692b8ab5 Reworking JIT implementation
Max Brister <max@2bass.com>
parents:
diff changeset
17 You should have received a copy of the GNU General Public License
54ea692b8ab5 Reworking JIT implementation
Max Brister <max@2bass.com>
parents:
diff changeset
18 along with Octave; see the file COPYING. If not, see
54ea692b8ab5 Reworking JIT implementation
Max Brister <max@2bass.com>
parents:
diff changeset
19 <http://www.gnu.org/licenses/>.
54ea692b8ab5 Reworking JIT implementation
Max Brister <max@2bass.com>
parents:
diff changeset
20
54ea692b8ab5 Reworking JIT implementation
Max Brister <max@2bass.com>
parents:
diff changeset
21 */
54ea692b8ab5 Reworking JIT implementation
Max Brister <max@2bass.com>
parents:
diff changeset
22
16768
e2de3c8882be copyright notice fixes
John W. Eaton <jwe@octave.org>
parents: 15865
diff changeset
23 // Author: Max Brister <max@2bass.com>
e2de3c8882be copyright notice fixes
John W. Eaton <jwe@octave.org>
parents: 15865
diff changeset
24
14903
54ea692b8ab5 Reworking JIT implementation
Max Brister <max@2bass.com>
parents:
diff changeset
25 #ifdef HAVE_CONFIG_H
54ea692b8ab5 Reworking JIT implementation
Max Brister <max@2bass.com>
parents:
diff changeset
26 #include <config.h>
54ea692b8ab5 Reworking JIT implementation
Max Brister <max@2bass.com>
parents:
diff changeset
27 #endif
54ea692b8ab5 Reworking JIT implementation
Max Brister <max@2bass.com>
parents:
diff changeset
28
14972
457eb974310b src/TEMPLATE-INST/Array-jit.cc: Check for LLVM presence
Max Brister <max@2bass.com>
parents: 14903
diff changeset
29 #ifdef HAVE_LLVM
457eb974310b src/TEMPLATE-INST/Array-jit.cc: Check for LLVM presence
Max Brister <max@2bass.com>
parents: 14903
diff changeset
30
14903
54ea692b8ab5 Reworking JIT implementation
Max Brister <max@2bass.com>
parents:
diff changeset
31 #include "Array.h"
54ea692b8ab5 Reworking JIT implementation
Max Brister <max@2bass.com>
parents:
diff changeset
32 #include "Array.cc"
54ea692b8ab5 Reworking JIT implementation
Max Brister <max@2bass.com>
parents:
diff changeset
33
14992
fd8d1a616be1 Compile JIT on msvc
Michael Goffioul
parents: 14983
diff changeset
34 extern template class OCTAVE_API Array<octave_idx_type>;
fd8d1a616be1 Compile JIT on msvc
Michael Goffioul
parents: 14983
diff changeset
35
15864
20f4a2399be0 Array-jit.cc: Be more conservative on header inclusion
Max Brister <max@2bass.com>
parents: 15195
diff changeset
36 #include "jit-ir.h"
14903
54ea692b8ab5 Reworking JIT implementation
Max Brister <max@2bass.com>
parents:
diff changeset
37
15014
094bc0a145a1 Take into account different calling conventions
Max Brister <max@2bass.com>
parents: 14992
diff changeset
38 NO_INSTANTIATE_ARRAY_SORT (jit_function);
14903
54ea692b8ab5 Reworking JIT implementation
Max Brister <max@2bass.com>
parents:
diff changeset
39
15014
094bc0a145a1 Take into account different calling conventions
Max Brister <max@2bass.com>
parents: 14992
diff changeset
40 INSTANTIATE_ARRAY (jit_function, OCTINTERP_API);
14972
457eb974310b src/TEMPLATE-INST/Array-jit.cc: Check for LLVM presence
Max Brister <max@2bass.com>
parents: 14903
diff changeset
41
15865
500650d6ddf5 Array-jit.cc: Ensure Cell.h is never included
Max Brister <max@2bass.com>
parents: 15864
diff changeset
42 #ifdef Cell_h
500650d6ddf5 Array-jit.cc: Ensure Cell.h is never included
Max Brister <max@2bass.com>
parents: 15864
diff changeset
43 #error Must not include Cell.h in Array-jit.h
500650d6ddf5 Array-jit.cc: Ensure Cell.h is never included
Max Brister <max@2bass.com>
parents: 15864
diff changeset
44 #error This causes problems on MSVC
14972
457eb974310b src/TEMPLATE-INST/Array-jit.cc: Check for LLVM presence
Max Brister <max@2bass.com>
parents: 14903
diff changeset
45 #endif
15865
500650d6ddf5 Array-jit.cc: Ensure Cell.h is never included
Max Brister <max@2bass.com>
parents: 15864
diff changeset
46
500650d6ddf5 Array-jit.cc: Ensure Cell.h is never included
Max Brister <max@2bass.com>
parents: 15864
diff changeset
47 #endif