annotate gcc/jit/ChangeLog @ 158:494b0b89df80 default tip

...
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Mon, 25 May 2020 18:13:55 +0900
parents 1830386684a0
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
145
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1 2020-01-01 Jakub Jelinek <jakub@redhat.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3 Update copyright years.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
4
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
5 2019-11-29 Julian Brown <julian@codesourcery.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
6
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
7 * jit-builtins.c (BT_DFLOAT32_PTR, BT_DFLOAT64_PTR, BT_DFLOAT128_PTR):
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
8 Remove commented-out cases.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
9
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
10 2019-11-20 David Malcolm <dmalcolm@redhat.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
11
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
12 PR jit/92483
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
13 * jit-playback.c (gcc::jit::playback::context::make_fake_args):
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
14 Update GCC_JIT_BOOL_OPTION_SELFCHECK_GC for new --param syntax.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
15
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
16 2019-08-13 Richard Sandiford <richard.sandiford@arm.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
17
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
18 PR middle-end/91421
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
19 * jit-playback.c (new_function): Use set_decl_built_in_function.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
20
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
21 2019-07-22 Andrea Corallo <andrea.corallo@arm.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
22
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
23 * jit-recording.c (unary_op_reproducer_strings): Make it extern.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
24 (binary_op_reproducer_strings): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
25 * jit-recording.h (unary_op_reproducer_strings): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
26 (binary_op_reproducer_strings): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
27 * libgccjit.c (gcc_jit_context_new_unary_op): Check result_type to be a
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
28 numeric type.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
29 * libgccjit.c (gcc_jit_context_new_binary_op): Improve error message.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
30
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
31 2019-07-04 Andrea Corallo <andrea.corallo@arm.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
32
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
33 * libgccjit.c (gcc_jit_context_new_binary_op): Check result_type to be a
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
34 numeric type.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
35
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
36 2019-07-04 Andrea Corallo <andrea.corallo@arm.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
37
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
38 * docs/topics/compatibility.rst (LIBGCCJIT_ABI_12): New ABI tag.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
39 * docs/topics/types.rst: Add gcc_jit_context_new_bitfield.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
40 * jit-common.h (namespace recording): Add class bitfield.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
41 * jit-playback.c:
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
42 (DECL_C_BIT_FIELD, SET_DECL_C_BIT_FIELD): Add macros.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
43 (playback::context::new_bitfield): New method.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
44 (playback::compound_type::set_fields): Add bitfield support.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
45 (playback::lvalue::mark_addressable): Was jit_mark_addressable make this
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
46 a method of lvalue plus return a bool to communicate success.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
47 (playback::lvalue::get_address): Check for jit_mark_addressable return
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
48 value.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
49 * jit-playback.h (new_bitfield): New method.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
50 (class bitfield): New class.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
51 (class lvalue): Add jit_mark_addressable method.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
52 * jit-recording.c (recording::context::new_bitfield): New method.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
53 (recording::bitfield::replay_into): New method.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
54 (recording::bitfield::write_to_dump): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
55 (recording::bitfield::make_debug_string): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
56 (recording::bitfield::write_reproducer): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
57 * jit-recording.h (class context): Add new_bitfield method.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
58 (class field): Make it derivable by class bitfield.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
59 (class bitfield): Add new class.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
60 * libgccjit++.h (class context): Add new_bitfield method.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
61 * libgccjit.c (struct gcc_jit_bitfield): New structure.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
62 (gcc_jit_context_new_bitfield): New function.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
63 * libgccjit.h
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
64 (LIBGCCJIT_HAVE_gcc_jit_context_new_bitfield) New macro.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
65 (gcc_jit_context_new_bitfield): New function.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
66 * libgccjit.map (LIBGCCJIT_ABI_12) New ABI tag.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
67
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
68 2019-03-21 Jakub Jelinek <jakub@redhat.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
69
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
70 * jit-recording.c (reproducer::m_set_identifiers): Use false as Lazy
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
71 in hash_set template param.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
72
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
73 2019-02-05 Andrea Corallo <andrea.corallo@arm.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
74
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
75 * docs/topics/compatibility.rst (LIBGCCJIT_ABI_11): New ABI tag.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
76 * docs/topics/contexts.rst (Additional driver options): New
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
77 section.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
78 * jit-playback.c (invoke_driver): Add call to append_driver_options.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
79 * jit-recording.c: Within namespace gcc::jit...
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
80 (recording::context::~context): Free the optnames within
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
81 m_driver_options.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
82 (recording::context::add_driver_option): New method.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
83 (recording::context::append_driver_options): New method.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
84 (recording::context::dump_reproducer_to_file): Add driver
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
85 options.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
86 * jit-recording.h: Within namespace gcc::jit...
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
87 (recording::context::add_driver_option): New method.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
88 (recording::context::append_driver_options): New method.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
89 (recording::context::m_driver_options): New field.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
90 * libgccjit++.h (gccjit::context::add_driver_option): New
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
91 method.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
92 * libgccjit.c (gcc_jit_context_add_driver_option): New API
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
93 entrypoint.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
94 * libgccjit.h (gcc_jit_context_add_driver_option): New API
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
95 entrypoint.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
96 (LIBGCCJIT_HAVE_gcc_jit_context_add_driver_option): New
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
97 macro.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
98 * libgccjit.map (LIBGCCJIT_ABI_11): New ABI tag.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
99
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
100 2019-01-01 Jakub Jelinek <jakub@redhat.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
101
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
102 Update copyright years.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
103
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
104 2018-11-15 David Malcolm <dmalcolm@redhat.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
105
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
106 PR other/19165
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
107 * dummy-frontend.c (jit_begin_diagnostic): Add diagnostic_t param.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
108
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
109 2018-11-13 David Malcolm <dmalcolm@redhat.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
110
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
111 * jit-playback.c: Replace "source_location" with "location_t".
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
112
131
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
113 2018-10-17 David Malcolm <dmalcolm@redhat.com>
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
114
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
115 * Make-lang.in (selftest-jit): New.
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
116
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
117 2018-06-28 Martin Liska <mliska@suse.cz>
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
118
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
119 * jit-playback.c: Include opt-suggestions.h.
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
120
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
121 2018-06-28 Martin Liska <mliska@suse.cz>
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
122
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
123 * jit-playback.c (class auto_argvec): Moved to vec.h.
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
124 (auto_argvec::~auto_argvec): Likewise.
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
125 (compile): Use the renamed name.
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
126 (invoke_driver): Likewise.
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
127
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
128 2018-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
129
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
130 PR jit/84288
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
131 * Make-lang.in ($(LIBGCCJIT_FILENAME)): Add $(EXTRA_GCC_LIBS).
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
132
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
133 2018-03-09 David Malcolm <dmalcolm@redhat.com>
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
134 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
135
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
136 PR jit/64089
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
137 PR jit/84288
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
138 * Make-lang.in (COMMA): New.
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
139 (LIBGCCJIT_VERSION_SCRIPT_OPTION): New.
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
140 (LIBGCCJIT_SONAME_OPTION): New.
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
141 (jit): Move --version-script and -soname linker options to the
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
142 above.
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
143
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
144 2018-01-25 David Malcolm <dmalcolm@redhat.com>
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
145
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
146 PR jit/81672
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
147 * jit-recording.h (gcc::jit::recording::union_): Remove fields
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
148 "m_loc" and "m_name".
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
149
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
150 2018-01-03 Jakub Jelinek <jakub@redhat.com>
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
151
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
152 Update copyright years.
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
153
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
154 2017-12-19 Jakub Jelinek <jakub@redhat.com>
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
155
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
156 * jit-playback.c (get_type, playback::compile_to_file::copy_file,
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
157 playback::context::acquire_mutex): Replace Yoda conditions with
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
158 typical order conditions.
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
159 * libgccjit.c (gcc_jit_context_new_struct_type,
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
160 gcc_jit_struct_set_fields, gcc_jit_context_new_union_type,
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
161 gcc_jit_context_new_function, gcc_jit_timer_pop): Likewise.
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
162 * jit-builtins.c (matches_builtin): Likewise.
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
163 * jit-recording.c (recording::compound_type::set_fields,
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
164 recording::fields::write_reproducer, recording::rvalue::set_scope,
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
165 recording::function::validate): Likewise.
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
166 * jit-logging.c (logger::decref): Likewise.
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
167
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
168 2017-11-30 Jakub Jelinek <jakub@redhat.com>
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
169
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
170 * jit-recording.c
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
171 (recording::memento_of_new_rvalue_from_const <long>::write_reproducer):
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
172 Use ; instead of ;;.
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
173
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
174 2017-11-28 Jakub Jelinek <jakub@redhat.com>
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
175
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
176 * jit-playback.c (add_switch): Build SWITCH_EXPR using build2 instead
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
177 of build3. Formatting fixes. Adjust funciton comment.
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
178
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
179 2017-11-23 Tom de Vries <tom@codesourcery.com>
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
180
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
181 * libgccjit.c (RETURN_NULL_IF_FAIL_NONNULL_NUMERIC_TYPE): Wrap in
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
182 JIT_{BEGIN,END}_STMT.
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
183
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
184 2017-10-31 David Malcolm <dmalcolm@redhat.com>
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
185
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
186 * docs/internals/index.rst (Running the test suite): Document
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
187 PRESERVE_EXECUTABLES.
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
188 (Running under valgrind): Add markup to RUN_UNDER_VALGRIND.
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
189 * docs/_build/texinfo/libgccjit.texi: Regenerate.
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
190
111
kono
parents:
diff changeset
191 2017-10-04 David Malcolm <dmalcolm@redhat.com>
kono
parents:
diff changeset
192
kono
parents:
diff changeset
193 * docs/cp/topics/expressions.rst (Vector expressions): New
kono
parents:
diff changeset
194 section.
kono
parents:
diff changeset
195 * docs/topics/compatibility.rst (LIBGCCJIT_ABI_10): New ABI tag.
kono
parents:
diff changeset
196 * docs/topics/expressions.rst (Vector expressions): New section.
kono
parents:
diff changeset
197 * docs/topics/types.rst (gcc_jit_type_get_vector): Add link to
kono
parents:
diff changeset
198 gcc_jit_context_new_rvalue_from_vector.
kono
parents:
diff changeset
199 * docs/_build/texinfo/libgccjit.texi: Regenerate.
kono
parents:
diff changeset
200 * jit-common.h (gcc::jit:recording::vector_type): New forward
kono
parents:
diff changeset
201 decl.
kono
parents:
diff changeset
202 * jit-playback.c
kono
parents:
diff changeset
203 (gcc::jit::playback::context::new_rvalue_from_vector): New method.
kono
parents:
diff changeset
204 * jit-playback.h
kono
parents:
diff changeset
205 (gcc::jit::playback::context::new_rvalue_from_vector): New method.
kono
parents:
diff changeset
206 * jit-recording.c: In namespace gcc::jit::
kono
parents:
diff changeset
207 (class comma_separated_string): New class.
kono
parents:
diff changeset
208 (comma_separated_string::comma_separated_string): New ctor,
kono
parents:
diff changeset
209 adapted from recording::call::make_debug_string.
kono
parents:
diff changeset
210 (comma_separated_string::~comma_separated_string): New dtor.
kono
parents:
diff changeset
211 In namespace gcc::jit::recording::
kono
parents:
diff changeset
212 (context::new_rvalue_from_vector): New method.
kono
parents:
diff changeset
213 (type::get_vector): Update for renaming of memento_of_get_vector.
kono
parents:
diff changeset
214 (class memento_of_get_vector): Rename to...
kono
parents:
diff changeset
215 (class vector_type): ..this.
kono
parents:
diff changeset
216 (memento_of_new_rvalue_from_vector::memento_of_new_rvalue_from_vector):
kono
parents:
diff changeset
217 New ctor.
kono
parents:
diff changeset
218 (memento_of_new_rvalue_from_vector::replay_into): New method.
kono
parents:
diff changeset
219 (memento_of_new_rvalue_from_vector::visit_children): New method.
kono
parents:
diff changeset
220 (memento_of_new_rvalue_from_vector::make_debug_string): New
kono
parents:
diff changeset
221 method.
kono
parents:
diff changeset
222 (memento_of_new_rvalue_from_vector::write_reproducer): New method.
kono
parents:
diff changeset
223 (call::make_debug_string): Split out arg-printing code into ctor
kono
parents:
diff changeset
224 for comma_separated_string.
kono
parents:
diff changeset
225 * jit-recording.h: In namespace gcc::jit::recording::
kono
parents:
diff changeset
226 (context::new_rvalue_from_vector): New method.
kono
parents:
diff changeset
227 (type::dyn_cast_vector_type): New virtual function.
kono
parents:
diff changeset
228 (class memento_of_get_vector): Rename to...
kono
parents:
diff changeset
229 (class vector_type): ...this.
kono
parents:
diff changeset
230 (vector_type::unqualified): Remove this vfunc override in favor
kono
parents:
diff changeset
231 of...
kono
parents:
diff changeset
232 (vector_type::get_element_type): ...this new method.
kono
parents:
diff changeset
233 (vector_type::get_num_units): New method.
kono
parents:
diff changeset
234 (vector_type::dyn_cast_vector_type): New vfunc override.
kono
parents:
diff changeset
235 (class memento_of_new_rvalue_from_vector): New class.
kono
parents:
diff changeset
236 * libgccjit++.h (gccjit::context::new_rvalue): Add overload for
kono
parents:
diff changeset
237 vector of rvalue.
kono
parents:
diff changeset
238 * libgccjit.c (gcc_jit_context_new_binary_op): Strip off type
kono
parents:
diff changeset
239 qualifications when checking that both operands have same type.
kono
parents:
diff changeset
240 (gcc_jit_context_new_rvalue_from_vector): New API entrypoint.
kono
parents:
diff changeset
241 * libgccjit.h
kono
parents:
diff changeset
242 (LIBGCCJIT_HAVE_gcc_jit_context_new_rvalue_from_vector): New
kono
parents:
diff changeset
243 macro.
kono
parents:
diff changeset
244 (gcc_jit_context_new_rvalue_from_vector): New API entrypoint.
kono
parents:
diff changeset
245 * libgccjit.map (LIBGCCJIT_ABI_10): New ABI tag.
kono
parents:
diff changeset
246
kono
parents:
diff changeset
247 2017-09-28 David Malcolm <dmalcolm@redhat.com>
kono
parents:
diff changeset
248
kono
parents:
diff changeset
249 * docs/topics/expressions.rst (Function calls): Add link to
kono
parents:
diff changeset
250 gcc_jit_context_new_function_ptr_type.
kono
parents:
diff changeset
251 (Function pointers): Convert to cross-references to
kono
parents:
diff changeset
252 function-pointers.rst, moving material there.
kono
parents:
diff changeset
253 * docs/topics/function-pointers.rst: New page.
kono
parents:
diff changeset
254 * docs/topics/index.rst: Add function-pointers.rst.
kono
parents:
diff changeset
255 * docs/topics/types.rst (Function pointer types): New section.
kono
parents:
diff changeset
256 * docs/_build/texinfo/libgccjit.texi: Regenerate.
kono
parents:
diff changeset
257
kono
parents:
diff changeset
258 2017-09-28 David Malcolm <dmalcolm@redhat.com>
kono
parents:
diff changeset
259
kono
parents:
diff changeset
260 * jit-recording.c
kono
parents:
diff changeset
261 (gcc::jit::recording::function_type::is_same_type_as): New function.
kono
parents:
diff changeset
262 * jit-recording.h: In namespace gcc::jit::recording::
kono
parents:
diff changeset
263 (type::accepts_writes_from): Use is_same_type_as rather than pointer
kono
parents:
diff changeset
264 equality.
kono
parents:
diff changeset
265 (type::is_same_type_as): New virtual function.
kono
parents:
diff changeset
266 (function_type::is_same_type_as): New override.
kono
parents:
diff changeset
267
kono
parents:
diff changeset
268 2017-09-27 David Malcolm <dmalcolm@redhat.com>
kono
parents:
diff changeset
269
kono
parents:
diff changeset
270 * docs/cp/topics/expressions.rst (Function pointers): New section.
kono
parents:
diff changeset
271 * docs/topics/compatibility.rst (LIBGCCJIT_ABI_9): New tag.
kono
parents:
diff changeset
272 * docs/topics/expressions.rst (Function pointers): New section.
kono
parents:
diff changeset
273 * docs/_build/texinfo/libgccjit.texi: Regenerate.
kono
parents:
diff changeset
274 * jit-common.h (class gcc::jit::recording::function_pointer): New
kono
parents:
diff changeset
275 forward decl.
kono
parents:
diff changeset
276 * jit-playback.c (gcc::jit::playback::function::get_address): New
kono
parents:
diff changeset
277 method.
kono
parents:
diff changeset
278 * jit-playback.h (gcc::jit::playback::function::get_address): New
kono
parents:
diff changeset
279 method decl.
kono
parents:
diff changeset
280 * jit-recording.c: Within namespace gcc::jit::recording...
kono
parents:
diff changeset
281 (function::function): Initialize new field "m_fn_ptr_type".
kono
parents:
diff changeset
282 (function::get_address): New method.
kono
parents:
diff changeset
283 (function_pointer::replay_into): New method.
kono
parents:
diff changeset
284 (function_pointer::visit_children): New method.
kono
parents:
diff changeset
285 (function_pointer::make_debug_string): New method.
kono
parents:
diff changeset
286 (function_pointer::write_reproducer): New method.
kono
parents:
diff changeset
287 * jit-recording.h: Within namespace gcc::jit::recording...
kono
parents:
diff changeset
288 (function::get_address): New method.
kono
parents:
diff changeset
289 (function): Add field "m_fn_ptr_type".
kono
parents:
diff changeset
290 (class function_pointer): New subclass of rvalue.
kono
parents:
diff changeset
291 * libgccjit++.h (gccjit::function::get_address): New method.
kono
parents:
diff changeset
292 * libgccjit.c (gcc_jit_function_get_address): New function.
kono
parents:
diff changeset
293 * libgccjit.h (LIBGCCJIT_HAVE_gcc_jit_function_get_address): New
kono
parents:
diff changeset
294 macro.
kono
parents:
diff changeset
295 (gcc_jit_function_get_address): New API entrypoint.
kono
parents:
diff changeset
296 * libgccjit.map (LIBGCCJIT_ABI_9): New tag.
kono
parents:
diff changeset
297
kono
parents:
diff changeset
298 2017-09-14 David Malcolm <dmalcolm@redhat.com>
kono
parents:
diff changeset
299
kono
parents:
diff changeset
300 PR jit/82174
kono
parents:
diff changeset
301 * jit-builtins.c (matches_builtin): Ignore entries with a NULL
kono
parents:
diff changeset
302 name.
kono
parents:
diff changeset
303
kono
parents:
diff changeset
304 2017-08-18 David Malcolm <dmalcolm@redhat.com>
kono
parents:
diff changeset
305
kono
parents:
diff changeset
306 PR tree-optimization/46805
kono
parents:
diff changeset
307 * dummy-frontend.c (jit_langhook_parse_file): Handle vector types.
kono
parents:
diff changeset
308
kono
parents:
diff changeset
309 2017-08-18 David Malcolm <dmalcolm@redhat.com>
kono
parents:
diff changeset
310
kono
parents:
diff changeset
311 * jit-recording.c (class gcc::jit::reproducer): Rename field
kono
parents:
diff changeset
312 "m_identifiers" to "m_map_memento_to_identifier". Add field
kono
parents:
diff changeset
313 "m_set_identifiers" and struct hash_traits for it.
kono
parents:
diff changeset
314 (gcc::jit::reproducer::reproducer): Update for above.
kono
parents:
diff changeset
315 (convert_to_identifier): New function.
kono
parents:
diff changeset
316 (gcc::jit::reproducer::ensure_identifier_is_unique): New method.
kono
parents:
diff changeset
317 (gcc::jit::reproducer::make_identifier): Avoid appending the %p
kono
parents:
diff changeset
318 unless necessary for uniqueness. Update for field renaming.
kono
parents:
diff changeset
319 (gcc::jit::reproducer::get_identifier): Update for field renaming.
kono
parents:
diff changeset
320
kono
parents:
diff changeset
321 2017-08-09 David Malcolm <dmalcolm@redhat.com>
kono
parents:
diff changeset
322
kono
parents:
diff changeset
323 * docs/cp/topics/types.rst (Vector types): New section.
kono
parents:
diff changeset
324 * docs/topics/compatibility.rst (LIBGCCJIT_ABI_8): New tag.
kono
parents:
diff changeset
325 * docs/topics/types.rst (gcc_jit_context_get_type): Fix typo in
kono
parents:
diff changeset
326 example.
kono
parents:
diff changeset
327 (Vector types): New section.
kono
parents:
diff changeset
328 * docs/_build/texinfo/libgccjit.texi: Regenerate.
kono
parents:
diff changeset
329 * jit-playback.c (gcc::jit::playback::type::get_vector): New
kono
parents:
diff changeset
330 method.
kono
parents:
diff changeset
331 * jit-playback.h (gcc::jit::playback::type::get_vector): New
kono
parents:
diff changeset
332 method.
kono
parents:
diff changeset
333 * jit-recording.c: In namespace gcc::jit::recording::
kono
parents:
diff changeset
334 (type::get_vector): New method.
kono
parents:
diff changeset
335 (memento_of_get_aligned::write_reproducer): Fix typo
kono
parents:
diff changeset
336 in leading comment.
kono
parents:
diff changeset
337 (memento_of_get_vector::replay_into): New method.
kono
parents:
diff changeset
338 (memento_of_get_vector::make_debug_string): New method.
kono
parents:
diff changeset
339 (memento_of_get_vector::write_reproducer): New method.
kono
parents:
diff changeset
340 * jit-recording.h: In namespace gcc::jit::recording::
kono
parents:
diff changeset
341 (type::get_vector): New
kono
parents:
diff changeset
342 method.
kono
parents:
diff changeset
343 (class memento_of_get_vector): New class.
kono
parents:
diff changeset
344 * libgccjit++.h (gccjit::type::get_vector): New method.
kono
parents:
diff changeset
345 * libgccjit.c (gcc_jit_type_get_vector): New public entrypoint.
kono
parents:
diff changeset
346 * libgccjit.h (LIBGCCJIT_HAVE_gcc_jit_type_get_vector): New
kono
parents:
diff changeset
347 define.
kono
parents:
diff changeset
348 (gcc_jit_type_get_vector): New decl.
kono
parents:
diff changeset
349 * libgccjit.map (LIBGCCJIT_ABI_8): New ABI tag.
kono
parents:
diff changeset
350
kono
parents:
diff changeset
351 2017-07-05 Richard Sandiford <richard.sandiford@linaro.org>
kono
parents:
diff changeset
352 Alan Hayward <alan.hayward@arm.com>
kono
parents:
diff changeset
353 David Sherwood <david.sherwood@arm.com>
kono
parents:
diff changeset
354
kono
parents:
diff changeset
355 * dummy-frontend.c (jit_langhook_type_for_mode): Remove "enum" before
kono
parents:
diff changeset
356 "machine_mode".
kono
parents:
diff changeset
357
kono
parents:
diff changeset
358 2017-04-24 David Malcolm <dmalcolm@redhat.com>
kono
parents:
diff changeset
359
kono
parents:
diff changeset
360 * docs/cp/topics/types.rst (gccjit::type::get_const): Remove
kono
parents:
diff changeset
361 comment.
kono
parents:
diff changeset
362 (gccjit::type::get_aligned): Add.
kono
parents:
diff changeset
363 * docs/topics/compatibility.rst: Add LIBGCCJIT_ABI_7.
kono
parents:
diff changeset
364 * docs/topics/types.rst: Add gcc_jit_type_get_aligned.
kono
parents:
diff changeset
365 * docs/_build/texinfo/libgccjit.texi: Regenerate.
kono
parents:
diff changeset
366 * jit-playback.c (gcc::jit::playback::type::get_aligned): New
kono
parents:
diff changeset
367 method.
kono
parents:
diff changeset
368 * jit-playback.h (gcc::jit::playback::type::get_aligned): New
kono
parents:
diff changeset
369 method.
kono
parents:
diff changeset
370 * jit-recording.c: Within namespace gcc::jit::recording...
kono
parents:
diff changeset
371 (type::get_aligned): New method.
kono
parents:
diff changeset
372 (memento_of_get_aligned::replay_into): New method.
kono
parents:
diff changeset
373 (memento_of_get_aligned::make_debug_string): New method.
kono
parents:
diff changeset
374 (memento_of_get_aligned::write_reproducer): New method.
kono
parents:
diff changeset
375 * jit-recording.h: Within namespace gcc::jit::recording...
kono
parents:
diff changeset
376 (type::get_aligned): New method.
kono
parents:
diff changeset
377 (type::accepts_writes_from): Strip off qualifications from
kono
parents:
diff changeset
378 this when comparing pointer equality.
kono
parents:
diff changeset
379 (decorated_type): New subclass of type, subsuming the
kono
parents:
diff changeset
380 commonality between memento_of_get_const and
kono
parents:
diff changeset
381 memento_of_get_volatile.
kono
parents:
diff changeset
382 (memento_of_get_const): Make a subclass of decorated_type,
kono
parents:
diff changeset
383 rather than type.
kono
parents:
diff changeset
384 (memento_of_get_volatile): Likewise.
kono
parents:
diff changeset
385 (memento_of_get_aligned): Likewise.
kono
parents:
diff changeset
386 * libgccjit++.h: Within namespace gccjit...
kono
parents:
diff changeset
387 (type::get_const): New method.
kono
parents:
diff changeset
388 (type::get_aligned): New method.
kono
parents:
diff changeset
389 * libgccjit.c (gcc_jit_type_get_aligned): New function.
kono
parents:
diff changeset
390 * libgccjit.h (gcc_jit_type_get_aligned): New decl.
kono
parents:
diff changeset
391 * libgccjit.map (LIBGCCJIT_ABI_7): New
kono
parents:
diff changeset
392 (gcc_jit_type_get_aligned): Add.
kono
parents:
diff changeset
393
kono
parents:
diff changeset
394 2017-01-19 David Malcolm <dmalcolm@redhat.com>
kono
parents:
diff changeset
395
kono
parents:
diff changeset
396 * dummy-frontend.c (jit_langhook_type_for_size): Delete.
kono
parents:
diff changeset
397 (LANG_HOOKS_TYPE_FOR_SIZE): Don't redefine.
kono
parents:
diff changeset
398
kono
parents:
diff changeset
399 2017-01-18 David Malcolm <dmalcolm@redhat.com>
kono
parents:
diff changeset
400
kono
parents:
diff changeset
401 * dummy-frontend.c (jit_langhook_type_for_size): Implement, using
kono
parents:
diff changeset
402 lto's lto_type_for_size.
kono
parents:
diff changeset
403
kono
parents:
diff changeset
404 2017-01-01 Jakub Jelinek <jakub@redhat.com>
kono
parents:
diff changeset
405
kono
parents:
diff changeset
406 Update copyright years.
kono
parents:
diff changeset
407
kono
parents:
diff changeset
408 2016-05-20 David Malcolm <dmalcolm@redhat.com>
kono
parents:
diff changeset
409
kono
parents:
diff changeset
410 * docs/topics/compatibility.rst: Add LIBGCCJIT_ABI_6.
kono
parents:
diff changeset
411 * docs/topics/expressions.rst (Function calls): Add documentation
kono
parents:
diff changeset
412 of gcc_jit_rvalue_set_bool_require_tail_call.
kono
parents:
diff changeset
413 * docs/_build/texinfo/libgccjit.texi: Regenerate.
kono
parents:
diff changeset
414 * jit-common.h (gcc::jit::recording::base_call): Add forward decl.
kono
parents:
diff changeset
415 * jit-playback.c: Within namespace gcc::jit::playback...
kono
parents:
diff changeset
416 (context::build_call) Add "require_tail_call" param and use it
kono
parents:
diff changeset
417 to set CALL_EXPR_MUST_TAIL_CALL.
kono
parents:
diff changeset
418 (context::new_call): Add "require_tail_call" param.
kono
parents:
diff changeset
419 (context::new_call_through_ptr): Likewise.
kono
parents:
diff changeset
420 * jit-playback.h: Within namespace gcc::jit::playback...
kono
parents:
diff changeset
421 (context::new_call: Add "require_tail_call" param.
kono
parents:
diff changeset
422 (context::new_call_through_ptr): Likewise.
kono
parents:
diff changeset
423 (context::build_call): Likewise.
kono
parents:
diff changeset
424 * jit-recording.c: Within namespace gcc::jit::recording...
kono
parents:
diff changeset
425 (base_call::base_call): New constructor.
kono
parents:
diff changeset
426 (base_call::write_reproducer_tail_call): New method.
kono
parents:
diff changeset
427 (call::call): Update for inheritance from base_call.
kono
parents:
diff changeset
428 (call::replay_into): Provide m_require_tail_call to call
kono
parents:
diff changeset
429 to new_call.
kono
parents:
diff changeset
430 (call::write_reproducer): Call write_reproducer_tail_call.
kono
parents:
diff changeset
431 (call_through_ptr::call_through_ptr): Update for inheritance from
kono
parents:
diff changeset
432 base_call.
kono
parents:
diff changeset
433 (call_through_ptr::replay_into): Provide m_require_tail_call to call
kono
parents:
diff changeset
434 to new_call_through_ptr.
kono
parents:
diff changeset
435 (recording::call_through_ptr::write_reproducer): Call
kono
parents:
diff changeset
436 write_reproducer_tail_call.
kono
parents:
diff changeset
437 * jit-recording.h: Within namespace gcc::jit::recording...
kono
parents:
diff changeset
438 (rvalue::dyn_cast_base_call): New virtual function.
kono
parents:
diff changeset
439 (class base_call): New subclass of class rvalue.
kono
parents:
diff changeset
440 (class call): Inherit from base_call rather than directly from
kono
parents:
diff changeset
441 rvalue, moving get_precedence and m_args to base_call.
kono
parents:
diff changeset
442 (class call_through_ptr): Likewise.
kono
parents:
diff changeset
443 * libgccjit.c (gcc_jit_rvalue_set_bool_require_tail_call): New
kono
parents:
diff changeset
444 function.
kono
parents:
diff changeset
445 * libgccjit.h
kono
parents:
diff changeset
446 (LIBGCCJIT_HAVE_gcc_jit_rvalue_set_bool_require_tail_call): New
kono
parents:
diff changeset
447 macro.
kono
parents:
diff changeset
448 (gcc_jit_rvalue_set_bool_require_tail_call): New function.
kono
parents:
diff changeset
449 * libgccjit.map (LIBGCCJIT_ABI_6): New.
kono
parents:
diff changeset
450 (gcc_jit_rvalue_set_bool_require_tail_call): Add.
kono
parents:
diff changeset
451
kono
parents:
diff changeset
452 2016-05-17 David Malcolm <dmalcolm@redhat.com>
kono
parents:
diff changeset
453
kono
parents:
diff changeset
454 * dummy-frontend.c: Include diagnostic.h.
kono
parents:
diff changeset
455 (jit_begin_diagnostic): New function.
kono
parents:
diff changeset
456 (jit_end_diagnostic): New function.
kono
parents:
diff changeset
457 (jit_langhook_init): Register jit_begin_diagnostic
kono
parents:
diff changeset
458 and jit_end_diagnostic with the global_dc.
kono
parents:
diff changeset
459 * jit-playback.c: Include diagnostic.h.
kono
parents:
diff changeset
460 (gcc::jit::playback::context::add_diagnostic): New method.
kono
parents:
diff changeset
461 * jit-playback.h (struct diagnostic_context): Add forward
kono
parents:
diff changeset
462 declaration.
kono
parents:
diff changeset
463 (gcc::jit::playback::context::add_diagnostic): New method.
kono
parents:
diff changeset
464
kono
parents:
diff changeset
465 2016-05-17 David Malcolm <dmalcolm@redhat.com>
kono
parents:
diff changeset
466
kono
parents:
diff changeset
467 * docs/topics/expressions.rst (Function calls): Document
kono
parents:
diff changeset
468 gcc_jit_context_new_call_through_ptr.
kono
parents:
diff changeset
469 * docs/_build/texinfo/libgccjit.texi: Regenerate.
kono
parents:
diff changeset
470
kono
parents:
diff changeset
471 2016-05-13 David Malcolm <dmalcolm@redhat.com>
kono
parents:
diff changeset
472
kono
parents:
diff changeset
473 * jit-playback.h: Within namespace gcc:jit::playback...
kono
parents:
diff changeset
474 (compile_to_memory::postprocess): Mark with FINAL OVERRIDE.
kono
parents:
diff changeset
475 (compile_to_file::postprocess): Likewise.
kono
parents:
diff changeset
476 (function::finalizer): Likewise.
kono
parents:
diff changeset
477 (block::finalizer): Likewise.
kono
parents:
diff changeset
478 (source_file::finalizer): Likewise.
kono
parents:
diff changeset
479 (source_line::finalizer): Likewise.
kono
parents:
diff changeset
480 * jit-recording.c (gcc::jit::rvalue_usage_validator):: Likewise.
kono
parents:
diff changeset
481 * jit-recording.h: Within namespace gcc::jit::recording...
kono
parents:
diff changeset
482 (string::replay_into): Mark with FINAL OVERRIDE.
kono
parents:
diff changeset
483 (string::make_debug_string): Likewise.
kono
parents:
diff changeset
484 (string::write_reproducer): Likewise.
kono
parents:
diff changeset
485 (location::replay_into): Likewise.
kono
parents:
diff changeset
486 (location::dyn_cast_location): Likewise.
kono
parents:
diff changeset
487 (location::make_debug_string): Likewise.
kono
parents:
diff changeset
488 (location::write_reproducer): Likewise.
kono
parents:
diff changeset
489 (memento_of_get_type::dereference): Likewise.
kono
parents:
diff changeset
490 (memento_of_get_type::accepts_writes_from): Likewise.
kono
parents:
diff changeset
491 (memento_of_get_type::is_int): Likewise.
kono
parents:
diff changeset
492 (memento_of_get_type::is_float): Likewise.
kono
parents:
diff changeset
493 (memento_of_get_type::is_bool): Likewise.
kono
parents:
diff changeset
494 (memento_of_get_type::is_pointer): Likewise.
kono
parents:
diff changeset
495 (memento_of_get_type::is_array): Likewise.
kono
parents:
diff changeset
496 (memento_of_get_type::is_void): Likewise.
kono
parents:
diff changeset
497 (memento_of_get_type::replay_into): Likewise.
kono
parents:
diff changeset
498 (memento_of_get_type::make_debug_string): Likewise.
kono
parents:
diff changeset
499 (memento_of_get_type::write_reproducer): Likewise.
kono
parents:
diff changeset
500 (memento_of_get_pointer::dereference): Likewise.
kono
parents:
diff changeset
501 (memento_of_get_pointer::accepts_writes_from): Likewise.
kono
parents:
diff changeset
502 (memento_of_get_pointer::replay_into): Likewise.
kono
parents:
diff changeset
503 (memento_of_get_pointer::is_int): Likewise.
kono
parents:
diff changeset
504 (memento_of_get_pointer::is_float): Likewise.
kono
parents:
diff changeset
505 (memento_of_get_pointer::is_bool): Likewise.
kono
parents:
diff changeset
506 (memento_of_get_pointer::is_pointer): Likewise.
kono
parents:
diff changeset
507 (memento_of_get_pointer::is_array): Likewise.
kono
parents:
diff changeset
508 (memento_of_get_pointer::make_debug_string): Likewise.
kono
parents:
diff changeset
509 (memento_of_get_pointer::write_reproducer): Likewise.
kono
parents:
diff changeset
510 (memento_of_get_const::dereference): Likewise.
kono
parents:
diff changeset
511 (memento_of_get_const::accepts_writes_from): Likewise.
kono
parents:
diff changeset
512 (memento_of_get_const::unqualified): Likewise.
kono
parents:
diff changeset
513 (memento_of_get_const::is_int): Likewise.
kono
parents:
diff changeset
514 (memento_of_get_const::is_float): Likewise.
kono
parents:
diff changeset
515 (memento_of_get_const::is_bool): Likewise.
kono
parents:
diff changeset
516 (memento_of_get_const::is_pointer): Likewise.
kono
parents:
diff changeset
517 (memento_of_get_const::is_array): Likewise.
kono
parents:
diff changeset
518 (memento_of_get_const::void replay_into): Likewise;
kono
parents:
diff changeset
519 (memento_of_get_const::make_debug_string): Likewise.
kono
parents:
diff changeset
520 (memento_of_get_const::write_reproducer): Likewise.
kono
parents:
diff changeset
521 (memento_of_get_volatile::dereference): Likewise.
kono
parents:
diff changeset
522 (memento_of_get_volatile::unqualified): Likewise.
kono
parents:
diff changeset
523 (memento_of_get_volatile::is_int): Likewise.
kono
parents:
diff changeset
524 (memento_of_get_volatile::is_float): Likewise.
kono
parents:
diff changeset
525 (memento_of_get_volatile::is_bool): Likewise.
kono
parents:
diff changeset
526 (memento_of_get_volatile::is_pointer): Likewise.
kono
parents:
diff changeset
527 (memento_of_get_volatile::is_array): Likewise.
kono
parents:
diff changeset
528 (memento_of_get_volatile::replay_into): Likewise;
kono
parents:
diff changeset
529 (memento_of_get_volatile::make_debug_string): Likewise.
kono
parents:
diff changeset
530 (memento_of_get_volatile::write_reproducer): Likewise.
kono
parents:
diff changeset
531 (array_type::dereference): Likewise.
kono
parents:
diff changeset
532 (array_type::is_int): Likewise.
kono
parents:
diff changeset
533 (array_type::is_float): Likewise.
kono
parents:
diff changeset
534 (array_type::is_bool): Likewise.
kono
parents:
diff changeset
535 (array_type::is_pointer): Likewise.
kono
parents:
diff changeset
536 (array_type::is_array): Likewise.
kono
parents:
diff changeset
537 (array_type::replay_into): Likewise;
kono
parents:
diff changeset
538 (array_type::make_debug_string): Likewise.
kono
parents:
diff changeset
539 (array_type::write_reproducer): Likewise.
kono
parents:
diff changeset
540 (function_type::dereference): Likewise.
kono
parents:
diff changeset
541 (function_type::function_dyn_cast_function_type): Likewise.
kono
parents:
diff changeset
542 (function_type::function_as_a_function_type): Likewise.
kono
parents:
diff changeset
543 (function_type::is_int): Likewise.
kono
parents:
diff changeset
544 (function_type::is_float): Likewise.
kono
parents:
diff changeset
545 (function_type::is_bool): Likewise.
kono
parents:
diff changeset
546 (function_type::is_pointer): Likewise.
kono
parents:
diff changeset
547 (function_type::is_array): Likewise.
kono
parents:
diff changeset
548 (function_type::replay_into): Likewise;
kono
parents:
diff changeset
549 (function_type::make_debug_string): Likewise.
kono
parents:
diff changeset
550 (function_type::write_reproducer): Likewise.
kono
parents:
diff changeset
551 (field::replay_into): Likewise;
kono
parents:
diff changeset
552 (field::write_to_dump): Likewise.
kono
parents:
diff changeset
553 (field::make_debug_string): Likewise.
kono
parents:
diff changeset
554 (field::write_reproducer): Likewise.
kono
parents:
diff changeset
555 (compound_type::dereference): Likewise.
kono
parents:
diff changeset
556 (compound_type::is_int): Likewise.
kono
parents:
diff changeset
557 (compound_type::is_float): Likewise.
kono
parents:
diff changeset
558 (compound_type::is_bool): Likewise.
kono
parents:
diff changeset
559 (compound_type::is_pointer): Likewise.
kono
parents:
diff changeset
560 (compound_type::is_array): Likewise.
kono
parents:
diff changeset
561 (compound_type::has_known_size): Likewise.
kono
parents:
diff changeset
562 (struct_::dyn_cast_struct): Likewise.
kono
parents:
diff changeset
563 (struct_::replay_into): Likewise.
kono
parents:
diff changeset
564 (struct_::access_as_type): Likewise.
kono
parents:
diff changeset
565 (struct_::make_debug_string): Likewise.
kono
parents:
diff changeset
566 (struct_::write_reproducer): Likewise.
kono
parents:
diff changeset
567 (fields::replay_into): Likewise.
kono
parents:
diff changeset
568 (fields::write_to_dump): Likewise.
kono
parents:
diff changeset
569 (fields::make_debug_string): Likewise.
kono
parents:
diff changeset
570 (fields::write_reproducer): Likewise.
kono
parents:
diff changeset
571 (union_::replay_into): Likewise.
kono
parents:
diff changeset
572 (union_::make_debug_string): Likewise.
kono
parents:
diff changeset
573 (union_::write_reproducer): Likewise.
kono
parents:
diff changeset
574 (lvalue::access_as_rvalue): Mark with OVERRIDE.
kono
parents:
diff changeset
575 (param::replay_into): Mark with FINAL OVERRIDE.
kono
parents:
diff changeset
576 (param::visit_children): Likewise.
kono
parents:
diff changeset
577 (param::dyn_cast_param): Likewise.
kono
parents:
diff changeset
578 (param::access_as_rvalue): Likewise.
kono
parents:
diff changeset
579 (param::access_as_lvalue): Likewise.
kono
parents:
diff changeset
580 (param::make_debug_string): Likewise.
kono
parents:
diff changeset
581 (param::write_reproducer): Likewise.
kono
parents:
diff changeset
582 (param::get_precedence): Likewise.
kono
parents:
diff changeset
583 (function::replay_into): Likewise.
kono
parents:
diff changeset
584 (function::write_to_dump): Likewise.
kono
parents:
diff changeset
585 (function::make_debug_string): Likewise.
kono
parents:
diff changeset
586 (function::write_reproducer): Likewise.
kono
parents:
diff changeset
587 (block::write_to_dump): Likewise.
kono
parents:
diff changeset
588 (block::make_debug_string): Likewise.
kono
parents:
diff changeset
589 (block::write_reproducer): Likewise.
kono
parents:
diff changeset
590 (block::replay_into): Likewise.
kono
parents:
diff changeset
591 (global::replay_into): Likewise;
kono
parents:
diff changeset
592 (global::visit_children): Likewise.
kono
parents:
diff changeset
593 (global::write_to_dump): Likewise.
kono
parents:
diff changeset
594 (global::make_debug_string): Likewise.
kono
parents:
diff changeset
595 (global::write_reproducer): Likewise.
kono
parents:
diff changeset
596 (global::get_precedence): Likewise.
kono
parents:
diff changeset
597 (memento_of_new_rvalue_from_const::replay_into): Likewise.
kono
parents:
diff changeset
598 (memento_of_new_rvalue_from_const::visit_children): Likewise.
kono
parents:
diff changeset
599 (memento_of_new_rvalue_from_const::is_constant): Likewise.
kono
parents:
diff changeset
600 (memento_of_new_rvalue_from_const::get_wide_int): Likewise.
kono
parents:
diff changeset
601 (memento_of_new_rvalue_from_const::make_debug_string): Likewise.
kono
parents:
diff changeset
602 (memento_of_new_rvalue_from_const::write_reproducer): Likewise.
kono
parents:
diff changeset
603 (memento_of_new_rvalue_from_const::get_precedence): Likewise.
kono
parents:
diff changeset
604 (memento_of_new_string_literal::replay_into): Likewise.
kono
parents:
diff changeset
605 (memento_of_new_string_literal::visit_children): Likewise.
kono
parents:
diff changeset
606 (memento_of_new_string_literal::make_debug_string): Likewise.
kono
parents:
diff changeset
607 (memento_of_new_string_literal::write_reproducer): Likewise.
kono
parents:
diff changeset
608 (memento_of_new_string_literal::get_precedence): Likewise.
kono
parents:
diff changeset
609 (unary_op::replay_into): Likewise.
kono
parents:
diff changeset
610 (unary_op::visit_children): Likewise.
kono
parents:
diff changeset
611 (unary_op::make_debug_string): Likewise.
kono
parents:
diff changeset
612 (unary_op::write_reproducer): Likewise.
kono
parents:
diff changeset
613 (unary_op::get_precedence): Likewise.
kono
parents:
diff changeset
614 (binary_op::replay_into): Likewise.
kono
parents:
diff changeset
615 (binary_op::visit_children): Likewise.
kono
parents:
diff changeset
616 (binary_op::make_debug_string): Likewise.
kono
parents:
diff changeset
617 (binary_op::write_reproducer): Likewise.
kono
parents:
diff changeset
618 (binary_op::get_precedence): Likewise.
kono
parents:
diff changeset
619 (comparison::replay_into): Likewise.
kono
parents:
diff changeset
620 (comparison::visit_children): Likewise.
kono
parents:
diff changeset
621 (comparison::make_debug_string): Likewise.
kono
parents:
diff changeset
622 (comparison::write_reproducer): Likewise.
kono
parents:
diff changeset
623 (comparison::get_precedence): Likewise.
kono
parents:
diff changeset
624 (cast::replay_into): Likewise.
kono
parents:
diff changeset
625 (cast::visit_children): Likewise.
kono
parents:
diff changeset
626 (cast::make_debug_string): Likewise.
kono
parents:
diff changeset
627 (cast::write_reproducer): Likewise.
kono
parents:
diff changeset
628 (cast::get_precedence): Likewise.
kono
parents:
diff changeset
629 (call::replay_into): Likewise.
kono
parents:
diff changeset
630 (call::visit_children): Likewise.
kono
parents:
diff changeset
631 (call::make_debug_string): Likewise.
kono
parents:
diff changeset
632 (call::write_reproducer): Likewise.
kono
parents:
diff changeset
633 (call::get_precedence): Likewise.
kono
parents:
diff changeset
634 (call_through_ptr::replay_into): Likewise.
kono
parents:
diff changeset
635 (call_through_ptr::visit_children): Likewise.
kono
parents:
diff changeset
636 (call_through_ptr::make_debug_string): Likewise.
kono
parents:
diff changeset
637 (call_through_ptr::write_reproducer): Likewise.
kono
parents:
diff changeset
638 (call_through_ptr::get_precedence): Likewise.
kono
parents:
diff changeset
639 (array_access::replay_into): Likewise.
kono
parents:
diff changeset
640 (array_access::visit_children): Likewise.
kono
parents:
diff changeset
641 (array_access::make_debug_string): Likewise.
kono
parents:
diff changeset
642 (array_access::write_reproducer): Likewise.
kono
parents:
diff changeset
643 (array_access::get_precedence): Likewise.
kono
parents:
diff changeset
644 (access_field_of_lvalue::replay_into): Likewise.
kono
parents:
diff changeset
645 (access_field_of_lvalue::visit_children): Likewise.
kono
parents:
diff changeset
646 (access_field_of_lvalue::make_debug_string): Likewise.
kono
parents:
diff changeset
647 (access_field_of_lvalue::write_reproducer): Likewise.
kono
parents:
diff changeset
648 (access_field_of_lvalue::get_precedence): Likewise.
kono
parents:
diff changeset
649 (access_field_rvalue::replay_into): Likewise.
kono
parents:
diff changeset
650 (access_field_rvalue::visit_children): Likewise.
kono
parents:
diff changeset
651 (access_field_rvalue::make_debug_string): Likewise.
kono
parents:
diff changeset
652 (access_field_rvalue::write_reproducer): Likewise.
kono
parents:
diff changeset
653 (access_field_rvalue::get_precedence): Likewise.
kono
parents:
diff changeset
654 (dereference_field_rvalue::replay_into): Likewise.
kono
parents:
diff changeset
655 (dereference_field_rvalue::visit_children): Likewise.
kono
parents:
diff changeset
656 (dereference_field_rvalue::make_debug_string): Likewise.
kono
parents:
diff changeset
657 (dereference_field_rvalue::write_reproducer): Likewise.
kono
parents:
diff changeset
658 (dereference_field_rvalue::get_precedence): Likewise.
kono
parents:
diff changeset
659 (dereference_rvalue::replay_into): Likewise.
kono
parents:
diff changeset
660 (dereference_rvalue::visit_children): Likewise.
kono
parents:
diff changeset
661 (dereference_rvalue::make_debug_string): Likewise.
kono
parents:
diff changeset
662 (dereference_rvalue::write_reproducer): Likewise.
kono
parents:
diff changeset
663 (dereference_rvalue::get_precedence): Likewise.
kono
parents:
diff changeset
664 (get_address_of_lvalue::replay_into): Likewise.
kono
parents:
diff changeset
665 (get_address_of_lvalue::visit_children): Likewise.
kono
parents:
diff changeset
666 (get_address_of_lvalue::make_debug_string): Likewise.
kono
parents:
diff changeset
667 (get_address_of_lvalue::write_reproducer): Likewise.
kono
parents:
diff changeset
668 (get_address_of_lvalue::get_precedence): Likewise.
kono
parents:
diff changeset
669 (local::replay_into): Likewise.
kono
parents:
diff changeset
670 (local::visit_children): Likewise.
kono
parents:
diff changeset
671 (local::write_to_dump): Likewise.
kono
parents:
diff changeset
672 (local::make_debug_string): Likewise.
kono
parents:
diff changeset
673 (local::write_reproducer): Likewise.
kono
parents:
diff changeset
674 (local::get_precedence): Likewise.
kono
parents:
diff changeset
675 (statement::write_to_dump): Likewise.
kono
parents:
diff changeset
676 (eval::replay_into): Likewise.
kono
parents:
diff changeset
677 (eval::make_debug_string): Likewise.
kono
parents:
diff changeset
678 (eval::write_reproducer): Likewise.
kono
parents:
diff changeset
679 (assignment::replay_into): Likewise.
kono
parents:
diff changeset
680 (assignment::make_debug_string): Likewise.
kono
parents:
diff changeset
681 (assignment::write_reproducer): Likewise.
kono
parents:
diff changeset
682 (assignment_op::replay_into): Likewise.
kono
parents:
diff changeset
683 (assignment_op::make_debug_string): Likewise.
kono
parents:
diff changeset
684 (assignment_op::write_reproducer): Likewise.
kono
parents:
diff changeset
685 (comment::replay_into): Likewise.
kono
parents:
diff changeset
686 (comment::make_debug_string): Likewise.
kono
parents:
diff changeset
687 (comment::write_reproducer): Likewise.
kono
parents:
diff changeset
688 (conditional::replay_into): Likewise.
kono
parents:
diff changeset
689 (conditional::get_successor_blocks): Likewise.
kono
parents:
diff changeset
690 (conditional::make_debug_string): Likewise.
kono
parents:
diff changeset
691 (conditional::write_reproducer): Likewise.
kono
parents:
diff changeset
692 (jump::replay_into): Likewise.
kono
parents:
diff changeset
693 (jump::get_successor_blocks): Likewise.
kono
parents:
diff changeset
694 (jump::make_debug_string): Likewise.
kono
parents:
diff changeset
695 (jump::write_reproducer): Likewise.
kono
parents:
diff changeset
696 (return_::replay_into): Likewise.
kono
parents:
diff changeset
697 (return_::get_successor_blocks): Likewise.
kono
parents:
diff changeset
698 (return_::make_debug_string): Likewise.
kono
parents:
diff changeset
699 (return_::write_reproducer): Likewise.
kono
parents:
diff changeset
700 (case_::replay_into): Likewise.
kono
parents:
diff changeset
701 (case_::write_reproducer): Likewise.
kono
parents:
diff changeset
702 (case_::make_debug_string): Likewise.
kono
parents:
diff changeset
703 (switch_::replay_into): Likewise.
kono
parents:
diff changeset
704 (switch_::get_successor_blocks): Likewise.
kono
parents:
diff changeset
705 (switch_::make_debug_string): Likewise.
kono
parents:
diff changeset
706 (switch_::write_reproducer): Likewise.
kono
parents:
diff changeset
707
kono
parents:
diff changeset
708 2016-02-08 David Malcolm <dmalcolm@redhat.com>
kono
parents:
diff changeset
709
kono
parents:
diff changeset
710 * dummy-frontend.c (jit_langhook_init): Remove
kono
parents:
diff changeset
711 second argument to build_common_tree_nodes to
kono
parents:
diff changeset
712 track r233218.
kono
parents:
diff changeset
713
kono
parents:
diff changeset
714 2016-01-23 Iain Buclaw <ibuclaw@gdcproject.org>
kono
parents:
diff changeset
715
kono
parents:
diff changeset
716 * jit-playback.c: Include pthread.h.
kono
parents:
diff changeset
717
kono
parents:
diff changeset
718 2016-01-19 David Malcolm <dmalcolm@redhat.com>
kono
parents:
diff changeset
719
kono
parents:
diff changeset
720 PR jit/69144
kono
parents:
diff changeset
721 * jit-playback.c (gcc::jit::playback::compile_to_file::postprocess):
kono
parents:
diff changeset
722 Potentially add the temporary artifact to the tempdir's list of
kono
parents:
diff changeset
723 tempfiles needing additional cleanup.
kono
parents:
diff changeset
724 (gcc::jit::playback::context::extract_any_requested_dumps): Likewise
kono
parents:
diff changeset
725 for the dumpfile.
kono
parents:
diff changeset
726 * jit-tempdir.c (gcc::jit::tempdir::~tempdir): Clean up additional
kono
parents:
diff changeset
727 tempfiles.
kono
parents:
diff changeset
728 * jit-tempdir.h (gcc::jit::tempdir::add_temp_file): New method.
kono
parents:
diff changeset
729 (gcc::jit::tempdir::m_tempfiles): New field.
kono
parents:
diff changeset
730 * docs/cp/intro/tutorial04.rst: Update for changes to toyvm.cc.
kono
parents:
diff changeset
731 * docs/examples/tut04-toyvm/toyvm.cc (class compilation_result):
kono
parents:
diff changeset
732 New.
kono
parents:
diff changeset
733 (toyvm_function::compile): Change return type from function ptr
kono
parents:
diff changeset
734 to a compilation_result.
kono
parents:
diff changeset
735 (toyvm_function::get_function_name): New accessor.
kono
parents:
diff changeset
736 (toyvm_function::m_funcname): New field.
kono
parents:
diff changeset
737 (get_function_name): Convert to...
kono
parents:
diff changeset
738 (toyvm_function::make_function_name): ...this new method.
kono
parents:
diff changeset
739 (toyvm_function::parse): Call make_function_name.
kono
parents:
diff changeset
740 (toyvm_function::compile): Convert return type from function ptr
kono
parents:
diff changeset
741 to a compilation_result. Use get_function_name.
kono
parents:
diff changeset
742 (compilation_state::compile): Convert return type from
kono
parents:
diff changeset
743 gcc_jit_result * to a compilation_result.
kono
parents:
diff changeset
744 (test_script): Update for above changes, extracting the code from
kono
parents:
diff changeset
745 the compilation_result.
kono
parents:
diff changeset
746 (main): Likewise.
kono
parents:
diff changeset
747 * docs/_build/texinfo/libgccjit.texi: Regenerate.
kono
parents:
diff changeset
748
kono
parents:
diff changeset
749 2016-01-04 Jakub Jelinek <jakub@redhat.com>
kono
parents:
diff changeset
750
kono
parents:
diff changeset
751 Update copyright years.
kono
parents:
diff changeset
752
kono
parents:
diff changeset
753 2015-11-11 Andrew MacLeod <amacleod@redhat.com>
kono
parents:
diff changeset
754
kono
parents:
diff changeset
755 * dummy-frontend.c: Remove unused header files.
kono
parents:
diff changeset
756 * jit-builtins.c: Likewise.
kono
parents:
diff changeset
757 * jit-playback.c: Likewise.
kono
parents:
diff changeset
758 * jit-recording.c: Likewise.
kono
parents:
diff changeset
759 * jit-spec.c: Likewise.
kono
parents:
diff changeset
760 * libgccjit.c: Likewise.
kono
parents:
diff changeset
761
kono
parents:
diff changeset
762 2015-11-07 Richard Sandiford <richard.sandiford@arm.com>
kono
parents:
diff changeset
763
kono
parents:
diff changeset
764 * jit-builtins.c: Don't undef DEF_BUILTIN.
kono
parents:
diff changeset
765
kono
parents:
diff changeset
766 2015-10-29 Andrew MacLeod <amacleod@redhat.com>
kono
parents:
diff changeset
767
kono
parents:
diff changeset
768 * dummy-frontend.c: Reorder #include's and remove duplicates.
kono
parents:
diff changeset
769 * jit-builtins.c: Likewise.
kono
parents:
diff changeset
770 * jit-playback.c: Likewise.
kono
parents:
diff changeset
771 * jit-recording.c: Likewise.
kono
parents:
diff changeset
772 * libgccjit.c: Likewise.
kono
parents:
diff changeset
773
kono
parents:
diff changeset
774 2015-10-13 Jakub Jelinek <jakub@redhat.com>
kono
parents:
diff changeset
775
kono
parents:
diff changeset
776 * jit-builtins.c (DEF_FUNCTION_TYPE_9, DEF_FUNCTION_TYPE_10,
kono
parents:
diff changeset
777 DEF_FUNCTION_TYPE_11): Define.
kono
parents:
diff changeset
778 * jit-builtins.h (DEF_FUNCTION_TYPE_9, DEF_FUNCTION_TYPE_10,
kono
parents:
diff changeset
779 DEF_FUNCTION_TYPE_11): Define.
kono
parents:
diff changeset
780
kono
parents:
diff changeset
781 2015-09-30 Thomas Schwinge <thomas@codesourcery.com>
kono
parents:
diff changeset
782 Ulrich Drepper <drepper@gmail.com>
kono
parents:
diff changeset
783
kono
parents:
diff changeset
784 * jit-builtins.h: Undefine DEF_FUNCTION_TYPE_VAR_6 after use.
kono
parents:
diff changeset
785
kono
parents:
diff changeset
786 2015-09-30 Matthias Klose <doko@ubuntu.com>
kono
parents:
diff changeset
787
kono
parents:
diff changeset
788 * jit-builtins.h Define DEF_FUNCTION_TYPE_VAR_6,
kono
parents:
diff changeset
789 remove DEF_FUNCTION_TYPE_VAR_11.
kono
parents:
diff changeset
790 * jit-builtins.c (builtins_manager::make_type): Define and handle
kono
parents:
diff changeset
791 DEF_FUNCTION_TYPE_VAR_6, remove DEF_FUNCTION_TYPE_VAR_11.
kono
parents:
diff changeset
792
kono
parents:
diff changeset
793 2015-08-25 David Malcolm <dmalcolm@redhat.com>
kono
parents:
diff changeset
794
kono
parents:
diff changeset
795 * docs/cp/topics/contexts.rst
kono
parents:
diff changeset
796 (gccjit::context::set_bool_use_external_driver): New.
kono
parents:
diff changeset
797 * docs/internals/test-hello-world.exe.log.txt: Update.
kono
parents:
diff changeset
798 * docs/topics/compatibility.rst (LIBGCCJIT_ABI_5): New.
kono
parents:
diff changeset
799 * docs/topics/contexts.rst
kono
parents:
diff changeset
800 (gcc_jit_context_set_bool_use_external_driver): New.
kono
parents:
diff changeset
801 * jit-common.h (enum inner_bool_option): Add
kono
parents:
diff changeset
802 INNER_BOOL_OPTION_USE_EXTERNAL_DRIVER.
kono
parents:
diff changeset
803 * jit-playback.c (gcc_driver_name): New global.
kono
parents:
diff changeset
804 (gcc:jit::playback::context::invoke_driver): Split out second
kono
parents:
diff changeset
805 half into...
kono
parents:
diff changeset
806 (gcc::jit::playback::context::invoke_embedded_driver): ...this new
kono
parents:
diff changeset
807 function, and...
kono
parents:
diff changeset
808 (gcc::jit::playback::context::invoke_external_driver): ...this new
kono
parents:
diff changeset
809 function.
kono
parents:
diff changeset
810 * jit-playback.h
kono
parents:
diff changeset
811 (gcc::jit::playback::context::get_inner_bool_option): New.
kono
parents:
diff changeset
812 (gcc::jit::playback::context::invoke_embedded_driver): New.
kono
parents:
diff changeset
813 (gcc::jit::playback::context::invoke_external_driver): New.
kono
parents:
diff changeset
814 * jit-recording.c (inner_bool_option_reproducer_strings):
kono
parents:
diff changeset
815 Add entry for INNER_BOOL_OPTION_USE_EXTERNAL_DRIVER.
kono
parents:
diff changeset
816 * libgccjit++.h
kono
parents:
diff changeset
817 (gccjit::context::set_bool_use_external_driver): New.
kono
parents:
diff changeset
818 * libgccjit.c (gcc_jit_context_set_bool_use_external_driver): New.
kono
parents:
diff changeset
819 * libgccjit.h (gcc_jit_context_set_bool_use_external_driver): New.
kono
parents:
diff changeset
820 (LIBGCCJIT_HAVE_gcc_jit_context_set_bool_use_external_driver):
kono
parents:
diff changeset
821 New.
kono
parents:
diff changeset
822 * libgccjit.map (LIBGCCJIT_ABI_5): New.
kono
parents:
diff changeset
823 * notes.txt: Show invocation of embedded copy of driver.
kono
parents:
diff changeset
824 * docs/internals/test-hello-world.exe.log.txt: Update
kono
parents:
diff changeset
825
kono
parents:
diff changeset
826 2015-08-13 David Malcolm <dmalcolm@redhat.com>
kono
parents:
diff changeset
827
kono
parents:
diff changeset
828 * jit-playback.c (invoke_driver): On OS X, add
kono
parents:
diff changeset
829 "-Wl,-undefined,dynamic_lookup" to the driver arguments.
kono
parents:
diff changeset
830
kono
parents:
diff changeset
831 2015-08-03 David Malcolm <dmalcolm@redhat.com>
kono
parents:
diff changeset
832
kono
parents:
diff changeset
833 * docs/topics/compatibility.rst (LIBGCCJIT_ABI_4): New.
kono
parents:
diff changeset
834 * docs/topics/contexts.rst (GCC_JIT_BOOL_OPTION_DUMP_SUMMARY):
kono
parents:
diff changeset
835 We no longer show a profile.
kono
parents:
diff changeset
836 * docs/topics/index.rst (Topic Reference): Add performance.rst.
kono
parents:
diff changeset
837 * docs/topics/performance.rst: New file.
kono
parents:
diff changeset
838 * docs/_build/texinfo/libgccjit.texi: Regenerate.
kono
parents:
diff changeset
839 * jit-playback.c (gcc::jit::playback::context::compile): Add timer
kono
parents:
diff changeset
840 param when constructing the "toplev" instance.
kono
parents:
diff changeset
841 (gcc::jit::playback::context::acquire_mutex): Add timer param when
kono
parents:
diff changeset
842 constructing auto_timevar instance.
kono
parents:
diff changeset
843 (gcc::jit::playback::context::make_fake_args): If we have a timer,
kono
parents:
diff changeset
844 add "-ftime-report".
kono
parents:
diff changeset
845 (gcc::jit::playback::context::invoke_driver): Add timer param when
kono
parents:
diff changeset
846 constructing auto_timevar instance.
kono
parents:
diff changeset
847 (gcc::jit::playback::context::dlopen_built_dso): Likewise.
kono
parents:
diff changeset
848 * jit-playback.h (gcc::jit::playback::context::get_timer): New accessor.
kono
parents:
diff changeset
849 * jit-recording.c: Include timevar.h.
kono
parents:
diff changeset
850 (gcc::jit::recording::context::context): Initialize field "m_timer".
kono
parents:
diff changeset
851 * jit-recording.h: Add forward declaration of class timer.
kono
parents:
diff changeset
852 (gcc::jit::recording::context::set_timer): New method.
kono
parents:
diff changeset
853 (gcc::jit::recording::context::get_timer): New method.
kono
parents:
diff changeset
854 (gcc::jit::recording::context::m_timer): New field.
kono
parents:
diff changeset
855 * libgccjit++.h (gccjit::timer): New class.
kono
parents:
diff changeset
856 (gccjit::auto_time): New class.
kono
parents:
diff changeset
857 (gccjit::context::set_timer): New method.
kono
parents:
diff changeset
858 (gccjit::context::get_timer): New.
kono
parents:
diff changeset
859 (gccjit::timer::timer): New.
kono
parents:
diff changeset
860 (gccjit::timer::push): New.
kono
parents:
diff changeset
861 (gccjit::timer::pop): New.
kono
parents:
diff changeset
862 (timer::print): New.
kono
parents:
diff changeset
863 (timer::get_inner_timer): New.
kono
parents:
diff changeset
864 (timer::release): New.
kono
parents:
diff changeset
865 (auto_time::auto_time): New.
kono
parents:
diff changeset
866 (auto_time::~auto_time): New.
kono
parents:
diff changeset
867 * libgccjit.c: Include timevar.h.
kono
parents:
diff changeset
868 (struct gcc_jit_timer): New.
kono
parents:
diff changeset
869 (gcc_jit_timer_new): New function.
kono
parents:
diff changeset
870 (gcc_jit_timer_release): New function.
kono
parents:
diff changeset
871 (gcc_jit_context_set_timer): New function.
kono
parents:
diff changeset
872 (gcc_jit_context_get_timer): New function.
kono
parents:
diff changeset
873 (gcc_jit_timer_push): New function.
kono
parents:
diff changeset
874 (gcc_jit_timer_pop): New function.
kono
parents:
diff changeset
875 (gcc_jit_timer_print): New function.
kono
parents:
diff changeset
876 * libgccjit.h (LIBGCCJIT_HAVE_TIMING_API): New macro.
kono
parents:
diff changeset
877 (gcc_jit_timer): New typedef.
kono
parents:
diff changeset
878 (gcc_jit_timer_new): New function.
kono
parents:
diff changeset
879 (gcc_jit_timer_release): New function.
kono
parents:
diff changeset
880 (gcc_jit_context_set_timer): New function.
kono
parents:
diff changeset
881 (gcc_jit_context_get_timer): New function.
kono
parents:
diff changeset
882 (gcc_jit_timer_push): New function.
kono
parents:
diff changeset
883 (gcc_jit_timer_pop): New function.
kono
parents:
diff changeset
884 (gcc_jit_timer_print): New function.
kono
parents:
diff changeset
885 * libgccjit.map (LIBGCCJIT_ABI_4): New.
kono
parents:
diff changeset
886 (gcc_jit_timer_new): New function.
kono
parents:
diff changeset
887 (gcc_jit_timer_release): New function.
kono
parents:
diff changeset
888 (gcc_jit_context_set_timer): New function.
kono
parents:
diff changeset
889 (gcc_jit_context_get_timer): New function.
kono
parents:
diff changeset
890 (gcc_jit_timer_push): New function.
kono
parents:
diff changeset
891 (gcc_jit_timer_pop): New function.
kono
parents:
diff changeset
892 (gcc_jit_timer_print): New function.
kono
parents:
diff changeset
893
kono
parents:
diff changeset
894 2015-07-23 David Malcolm <dmalcolm@redhat.com>
kono
parents:
diff changeset
895
kono
parents:
diff changeset
896 * jit-playback.c (invoke_driver): Convert local "argvec"
kono
parents:
diff changeset
897 to an auto_argvec, so that it owns copies of the strings,
kono
parents:
diff changeset
898 rather than borrows them, updating ADD_ARG to use xstrdup
kono
parents:
diff changeset
899 and special-casing the NULL terminator to avoid
kono
parents:
diff changeset
900 xstrdup (NULL). Call add_multilib_driver_arguments at the front
kono
parents:
diff changeset
901 of the arguments.
kono
parents:
diff changeset
902 (MULTILIB_DEFAULTS): Provide a default definition.
kono
parents:
diff changeset
903 (multilib_defaults_raw): New constant array.
kono
parents:
diff changeset
904 (gcc::jit::playback::context::add_multilib_driver_arguments): New
kono
parents:
diff changeset
905 method.
kono
parents:
diff changeset
906 * jit-playback.h
kono
parents:
diff changeset
907 (gcc::jit::playback::context::add_multilib_driver_arguments): New
kono
parents:
diff changeset
908 method.
kono
parents:
diff changeset
909 * docs/internals/test-hello-world.exe.log.txt: Update.
kono
parents:
diff changeset
910 * docs/_build/texinfo/libgccjit.texi: Regenerate.
kono
parents:
diff changeset
911
kono
parents:
diff changeset
912 2015-07-16 David Malcolm <dmalcolm@redhat.com>
kono
parents:
diff changeset
913
kono
parents:
diff changeset
914 * docs/internals/index.rst (Overview of code structure): Add note
kono
parents:
diff changeset
915 that the implementation is in C++, despite the .c extension.
kono
parents:
diff changeset
916 (Submitting patches): New subsection.
kono
parents:
diff changeset
917 * docs/_build/texinfo/libgccjit.texi: Regenerate.
kono
parents:
diff changeset
918
kono
parents:
diff changeset
919 2015-07-09 Andrew MacLeod <amacleod@redhat.com>
kono
parents:
diff changeset
920
kono
parents:
diff changeset
921 * dummy-frontend.c: Adjust includes for flags.h changes.
kono
parents:
diff changeset
922 * jit-common.h: Likewise.
kono
parents:
diff changeset
923 * jit-playback.c: Likewise.
kono
parents:
diff changeset
924
kono
parents:
diff changeset
925 2015-07-08 David Malcolm <dmalcolm@redhat.com>
kono
parents:
diff changeset
926
kono
parents:
diff changeset
927 PR jit/66783
kono
parents:
diff changeset
928 * libgccjit.c (gcc_jit_context_new_field): Show name of field in
kono
parents:
diff changeset
929 "unknown size" error message.
kono
parents:
diff changeset
930 (gcc_jit_struct_set_fields): Show name of struct in error message.
kono
parents:
diff changeset
931 (gcc_jit_context_new_global): Show name of global in
kono
parents:
diff changeset
932 "unknown size" error message.
kono
parents:
diff changeset
933 (gcc_jit_function_new_local): Likewise for local.
kono
parents:
diff changeset
934
kono
parents:
diff changeset
935 2015-07-07 Andrew MacLeod <amacleod@redhat.com>
kono
parents:
diff changeset
936
kono
parents:
diff changeset
937 * dummy-frontend.c: Adjust includes.
kono
parents:
diff changeset
938 * jit-common.h: Likewise.
kono
parents:
diff changeset
939 * jit-playback.c: Likewise.
kono
parents:
diff changeset
940
kono
parents:
diff changeset
941 2015-07-07 David Malcolm <dmalcolm@redhat.com>
kono
parents:
diff changeset
942
kono
parents:
diff changeset
943 PR jit/66783
kono
parents:
diff changeset
944 * jit-recording.h: Within namespace gcc:jit::recording...
kono
parents:
diff changeset
945 (type::has_known_size): New virtual function.
kono
parents:
diff changeset
946 (struct_has_known_size): New function.
kono
parents:
diff changeset
947 * libgccjit.c (gcc_jit_context_new_field): Verify that the type
kono
parents:
diff changeset
948 has a known size.
kono
parents:
diff changeset
949 (gcc_jit_context_new_global): Likewise.
kono
parents:
diff changeset
950 (gcc_jit_function_new_local): Likewise.
kono
parents:
diff changeset
951
kono
parents:
diff changeset
952 2015-07-07 David Malcolm <dmalcolm@redhat.com>
kono
parents:
diff changeset
953
kono
parents:
diff changeset
954 PR jit/66779
kono
parents:
diff changeset
955 * dummy-frontend.c (jit_langhook_type_for_mode): Ensure that we
kono
parents:
diff changeset
956 handle modes QI, HI, SI, DI, TI.
kono
parents:
diff changeset
957
kono
parents:
diff changeset
958 2015-07-01 David Malcolm <dmalcolm@redhat.com>
kono
parents:
diff changeset
959
kono
parents:
diff changeset
960 PR jit/66700
kono
parents:
diff changeset
961 * jit-playback.c (jit_mark_addressable): New function.
kono
parents:
diff changeset
962 (gcc::jit::playback::lvalue::get_address): Call
kono
parents:
diff changeset
963 jit_mark_addressable on the underlying tree.
kono
parents:
diff changeset
964
kono
parents:
diff changeset
965 2015-07-01 David Malcolm <dmalcolm@redhat.com>
kono
parents:
diff changeset
966
kono
parents:
diff changeset
967 * docs/topics/types.rst (gcc_jit_context_new_union_type): Add
kono
parents:
diff changeset
968 documentation.
kono
parents:
diff changeset
969 * docs/_build/texinfo/libgccjit.texi: Regenerate.
kono
parents:
diff changeset
970
kono
parents:
diff changeset
971 2015-07-01 David Malcolm <dmalcolm@redhat.com>
kono
parents:
diff changeset
972
kono
parents:
diff changeset
973 * docs/topics/contexts.rst (gcc_jit_context_set_bool_option):
kono
parents:
diff changeset
974 Clarify lack of lifetime requirements on (const char *) parameter.
kono
parents:
diff changeset
975 * docs/topics/expressions.rst
kono
parents:
diff changeset
976 (gcc_jit_context_new_string_literal): Likewise.
kono
parents:
diff changeset
977 (gcc_jit_context_new_global): Likewise.
kono
parents:
diff changeset
978 * docs/topics/functions.rst (gcc_jit_context_new_param): Likewise.
kono
parents:
diff changeset
979 (gcc_jit_context_new_function): Likewise.
kono
parents:
diff changeset
980 (gcc_jit_function_new_block): Likewise.
kono
parents:
diff changeset
981 (gcc_jit_block_add_comment): Likewise.
kono
parents:
diff changeset
982 * docs/topics/locations.rst (gcc_jit_context_new_location):
kono
parents:
diff changeset
983 Likewise.
kono
parents:
diff changeset
984 * docs/topics/types.rst (gcc_jit_context_new_field): Likewise.
kono
parents:
diff changeset
985 (gcc_jit_context_new_struct_type): Likewise.
kono
parents:
diff changeset
986 * docs/_build/texinfo/libgccjit.texi: Regenerate.
kono
parents:
diff changeset
987
kono
parents:
diff changeset
988 2015-06-30 David Malcolm <dmalcolm@redhat.com>
kono
parents:
diff changeset
989
kono
parents:
diff changeset
990 * docs/cp/topics/functions.rst (Blocks): Add switch statements to
kono
parents:
diff changeset
991 list of ways to terminate a block.
kono
parents:
diff changeset
992 (gccjit::block::end_with_switch): Add function description.
kono
parents:
diff changeset
993 (gccjit::case_): Add class.
kono
parents:
diff changeset
994 (gccjit::context::new_case): Add function description.
kono
parents:
diff changeset
995 * docs/cp/topics/objects.rst: Add "case_" to class hierarchy.
kono
parents:
diff changeset
996 * docs/topics/compatibility.rst (LIBGCCJIT_ABI_3): New.
kono
parents:
diff changeset
997 * docs/topics/functions.rst (Blocks): Add switch statements to
kono
parents:
diff changeset
998 list of ways to terminate a block.
kono
parents:
diff changeset
999 (gcc_jit_block_end_with_switch): Add function description.
kono
parents:
diff changeset
1000 (gcc_jit_case): Add type.
kono
parents:
diff changeset
1001 (gcc_jit_context_new_case): Add function description.
kono
parents:
diff changeset
1002 (gcc_jit_case_as_object): Add function description.
kono
parents:
diff changeset
1003 * docs/topics/objects.rst: Add gcc_jit_case to class hierarchy.
kono
parents:
diff changeset
1004 * docs/_build/texinfo/libgccjit.texi: Regenerate.
kono
parents:
diff changeset
1005 * jit-common.h (gcc::jit::recording::case_): Add forward decl.
kono
parents:
diff changeset
1006 (gcc::jit::playback::case_): Add forward decl.
kono
parents:
diff changeset
1007 * jit-playback.c (add_case): New function.
kono
parents:
diff changeset
1008 (gcc::jit::playback::block::add_switch): New function.
kono
parents:
diff changeset
1009 * jit-playback.h (gcc::jit::playback::case_): New struct.
kono
parents:
diff changeset
1010 (gcc::jit::playback::block::get_function): New method.
kono
parents:
diff changeset
1011 (gcc::jit::playback::block::add_switch): New method.
kono
parents:
diff changeset
1012 * jit-recording.c: Within namespace gcc::jit...
kono
parents:
diff changeset
1013 (recording::context::new_case): New method.
kono
parents:
diff changeset
1014 (recording::function::validate): Update for change to
kono
parents:
diff changeset
1015 get_successor_blocks.
kono
parents:
diff changeset
1016 (recording::block::end_with_switch): New method.
kono
parents:
diff changeset
1017 (recording::block::get_successor_blocks): Update to support an
kono
parents:
diff changeset
1018 arbitrary number of successor blocks.
kono
parents:
diff changeset
1019 (recording::block::dump_edges_to_dot): Likewise.
kono
parents:
diff changeset
1020 (memento_of_new_rvalue_from_const <int>::get_wide_int): New.
kono
parents:
diff changeset
1021 (memento_of_new_rvalue_from_const <long>::get_wide_int): New.
kono
parents:
diff changeset
1022 (memento_of_new_rvalue_from_const <double>::get_wide_int): New.
kono
parents:
diff changeset
1023 (memento_of_new_rvalue_from_const <void *>::get_wide_int): New.
kono
parents:
diff changeset
1024 (recording::statement::get_successor_blocks): Update to support an
kono
parents:
diff changeset
1025 arbitrary number of successor blocks.
kono
parents:
diff changeset
1026 (recording::conditional::get_successor_blocks): Likewise.
kono
parents:
diff changeset
1027 (recording::jump::get_successor_blocks): Likewise.
kono
parents:
diff changeset
1028 (recording::return_::get_successor_blocks): Likewise.
kono
parents:
diff changeset
1029 (recording::case_::write_reproducer): New.
kono
parents:
diff changeset
1030 (recording::case_::make_debug_string): New.
kono
parents:
diff changeset
1031 (recording::switch_::switch_): New.
kono
parents:
diff changeset
1032 (recording::switch_::replay_into): New.
kono
parents:
diff changeset
1033 (recording::switch_::get_successor_blocks): New.
kono
parents:
diff changeset
1034 (recording::switch_::make_debug_string): New.
kono
parents:
diff changeset
1035 (recording::switch_::write_reproducer): New.
kono
parents:
diff changeset
1036 * jit-recording.h: Within namespace gcc::jit::recording...
kono
parents:
diff changeset
1037 (context::new_case): New.
kono
parents:
diff changeset
1038 (rvalue::is_constant): New.
kono
parents:
diff changeset
1039 (rvalue::get_wide_int): New.
kono
parents:
diff changeset
1040 (block::end_with_switch): New.
kono
parents:
diff changeset
1041 (block::get_successor_blocks): Update to support an arbitrary
kono
parents:
diff changeset
1042 number of successor blocks.
kono
parents:
diff changeset
1043 (memento_of_new_rvalue_from_const::is_constant): New.
kono
parents:
diff changeset
1044 (memento_of_new_rvalue_from_const::get_wide_int): New.
kono
parents:
diff changeset
1045 (statement::get_successor_blocks): Update to support an arbitrary
kono
parents:
diff changeset
1046 number of successor blocks.
kono
parents:
diff changeset
1047 (conditional::get_successor_blocks): Likewise.
kono
parents:
diff changeset
1048 (jump::get_successor_blocks): Likewise.
kono
parents:
diff changeset
1049 (return_::get_successor_blocks): Likewise.
kono
parents:
diff changeset
1050 (case_): New subclass of memento.
kono
parents:
diff changeset
1051 (switch_): New subclass of statement.
kono
parents:
diff changeset
1052 * libgccjit++.h (gccjit::case_): New subclass of gccjit::object.
kono
parents:
diff changeset
1053 (gccjit::context::new_case): New method.
kono
parents:
diff changeset
1054 (gccjit::block::end_with_switch): New method.
kono
parents:
diff changeset
1055 (gccjit::case_::case): New ctors.
kono
parents:
diff changeset
1056 (gccjit::case_::get_inner_case): New method.
kono
parents:
diff changeset
1057 * libgccjit.c: Include "typed-splay-tree.h"
kono
parents:
diff changeset
1058 (struct gcc_jit_case): New.
kono
parents:
diff changeset
1059 (gcc_jit_context_new_case): New function.
kono
parents:
diff changeset
1060 (gcc_jit_case_as_object): New function.
kono
parents:
diff changeset
1061 (valid_dest_for_switch): New function.
kono
parents:
diff changeset
1062 (valid_case_for_switch): New function.
kono
parents:
diff changeset
1063 (class api_call_validator): New class.
kono
parents:
diff changeset
1064 (class case_range_validator): New class.
kono
parents:
diff changeset
1065 (case_range_validator::case_range_validator): New.
kono
parents:
diff changeset
1066 (case_range_validator::validate): New.
kono
parents:
diff changeset
1067 (case_range_validator::case_compare): New.
kono
parents:
diff changeset
1068 (case_range_validator::get_wide_int): new.
kono
parents:
diff changeset
1069 (gcc_jit_block_end_with_switch): New.
kono
parents:
diff changeset
1070 * libgccjit.h: Add gcc_jit_case to class hierarchy comment.
kono
parents:
diff changeset
1071 (gcc_jit_case): New typedef.
kono
parents:
diff changeset
1072 (gcc_jit_context_new_case): New function.
kono
parents:
diff changeset
1073 (gcc_jit_case_as_object): New function.
kono
parents:
diff changeset
1074 (gcc_jit_block_end_with_switch): New function.
kono
parents:
diff changeset
1075 (LIBGCCJIT_HAVE_SWITCH_STATEMENTS): New.
kono
parents:
diff changeset
1076 * libgccjit.map: Add gcc_jit_block_end_with_switch,
kono
parents:
diff changeset
1077 gcc_jit_case_as_object and gcc_jit_context_new_case.
kono
parents:
diff changeset
1078
kono
parents:
diff changeset
1079 2015-06-30 David Malcolm <dmalcolm@redhat.com>
kono
parents:
diff changeset
1080
kono
parents:
diff changeset
1081 PR jit/66546
kono
parents:
diff changeset
1082 * docs/cp/topics/contexts.rst
kono
parents:
diff changeset
1083 (gccjit::context::set_bool_allow_unreachable_blocks): New.
kono
parents:
diff changeset
1084 * docs/topics/compatibility.rst (LIBGCCJIT_ABI_2): New.
kono
parents:
diff changeset
1085 * docs/topics/contexts.rst (Options): Add notes discussing the
kono
parents:
diff changeset
1086 transition from enums to entrypoints for new options.
kono
parents:
diff changeset
1087 (gcc_jit_context_set_bool_allow_unreachable_blocks): New.
kono
parents:
diff changeset
1088 * docs/_build/texinfo/libgccjit.texi: Regenerate.
kono
parents:
diff changeset
1089 * jit-common.h (gcc::jit::inner_bool_option): New enum.
kono
parents:
diff changeset
1090 * jit-recording.c: Within namespace gcc::jit...
kono
parents:
diff changeset
1091 (recording::context::context): Handle m_inner_bool_options.
kono
parents:
diff changeset
1092 (recording::context::set_inner_bool_option): New.
kono
parents:
diff changeset
1093 (inner_bool_option_reproducer_strings): New.
kono
parents:
diff changeset
1094 (recording::context::log_all_options): Log the "inner" bool
kono
parents:
diff changeset
1095 options.
kono
parents:
diff changeset
1096 (recording::context::log_inner_bool_option): New.
kono
parents:
diff changeset
1097 (recording::context::dump_reproducer_to_file): Write initializers
kono
parents:
diff changeset
1098 for "inner" bool options.
kono
parents:
diff changeset
1099 (recording::function::validate): Don't check for block
kono
parents:
diff changeset
1100 reachability if INNER_BOOL_OPTION_ALLOW_UNREACHABLE_BLOCKS is set.
kono
parents:
diff changeset
1101 * jit-recording.h: Within namespace gcc::jit...
kono
parents:
diff changeset
1102 (recording::context::set_inner_bool_option): New.
kono
parents:
diff changeset
1103 (recording::context::get_inner_bool_option): New.
kono
parents:
diff changeset
1104 (recording::context::log_inner_bool_option): New.
kono
parents:
diff changeset
1105 (recording::context::m_inner_bool_options): New.
kono
parents:
diff changeset
1106 * libgccjit++.h
kono
parents:
diff changeset
1107 (gccjit::context::set_bool_allow_unreachable_blocks): New.
kono
parents:
diff changeset
1108 * libgccjit.c
kono
parents:
diff changeset
1109 (gcc_jit_context_set_bool_allow_unreachable_blocks): New.
kono
parents:
diff changeset
1110 * libgccjit.h: Add note about options present in the
kono
parents:
diff changeset
1111 initial release of libgccjit.
kono
parents:
diff changeset
1112 (gcc_jit_context_set_bool_allow_unreachable_blocks): New API
kono
parents:
diff changeset
1113 entrypoint.
kono
parents:
diff changeset
1114 (LIBGCCJIT_HAVE_gcc_jit_context_set_bool_allow_unreachable_blocks):
kono
parents:
diff changeset
1115 New macro.
kono
parents:
diff changeset
1116 * libgccjit.map (LIBGCCJIT_ABI_2): New, containing...
kono
parents:
diff changeset
1117 (gcc_jit_context_set_bool_allow_unreachable_blocks): ...this new
kono
parents:
diff changeset
1118 entrypoint.
kono
parents:
diff changeset
1119
kono
parents:
diff changeset
1120 2015-06-30 David Malcolm <dmalcolm@redhat.com>
kono
parents:
diff changeset
1121
kono
parents:
diff changeset
1122 PR jit/66628
kono
parents:
diff changeset
1123 * docs/cp/topics/contexts.rst (Additional command-line options):
kono
parents:
diff changeset
1124 New section.
kono
parents:
diff changeset
1125 * docs/topics/compatibility.rst: New file.
kono
parents:
diff changeset
1126 * docs/topics/contexts.rst (Additional command-line options): New
kono
parents:
diff changeset
1127 section.
kono
parents:
diff changeset
1128 * docs/topics/index.rst: Add compatibility.rst.
kono
parents:
diff changeset
1129 * docs/_build/texinfo/libgccjit.texi: Regenerate.
kono
parents:
diff changeset
1130 * jit-playback.c (make_fake_args): Add call to
kono
parents:
diff changeset
1131 append_command_line_options.
kono
parents:
diff changeset
1132 * jit-recording.c: Within namespace gcc::jit...
kono
parents:
diff changeset
1133 (recording::context::~context): Free the optnames within
kono
parents:
diff changeset
1134 m_command_line_options.
kono
parents:
diff changeset
1135 (recording::context::set_bool_option): Likewise.
kono
parents:
diff changeset
1136 (recording::context::add_command_line_option): New method.
kono
parents:
diff changeset
1137 (recording::context::append_command_line_options): New method.
kono
parents:
diff changeset
1138 (recording::context::dump_reproducer_to_file): Add command-line
kono
parents:
diff changeset
1139 options.
kono
parents:
diff changeset
1140 * jit-recording.h: Within namespace gcc::jit...
kono
parents:
diff changeset
1141 (recording::context::add_command_line_option): New method.
kono
parents:
diff changeset
1142 (recording::context::append_command_line_options): New method.
kono
parents:
diff changeset
1143 (recording::context::m_command_line_options): New field.
kono
parents:
diff changeset
1144 * libgccjit++.h (gccjit::context::add_command_line_option): New
kono
parents:
diff changeset
1145 method.
kono
parents:
diff changeset
1146 * libgccjit.c (gcc_jit_context_add_command_line_option): New API
kono
parents:
diff changeset
1147 entrypoint.
kono
parents:
diff changeset
1148 * libgccjit.h (gcc_jit_context_add_command_line_option): New API
kono
parents:
diff changeset
1149 entrypoint.
kono
parents:
diff changeset
1150 (LIBGCCJIT_HAVE_gcc_jit_context_add_command_line_option): New
kono
parents:
diff changeset
1151 macro.
kono
parents:
diff changeset
1152 * libgccjit.map: Put existing symbols within LIBGCCJIT_ABI_0; add
kono
parents:
diff changeset
1153 LIBGCCJIT_ABI_1 and gcc_jit_context_add_command_line_option.
kono
parents:
diff changeset
1154
kono
parents:
diff changeset
1155 2015-06-30 David Malcolm <dmalcolm@redhat.com>
kono
parents:
diff changeset
1156
kono
parents:
diff changeset
1157 * jit-recording.c
kono
parents:
diff changeset
1158 (gcc::jit::recording::context::dump_reproducer_to_file):
kono
parents:
diff changeset
1159 Add pragma to generated reproducers to disable -Wunused-variable.
kono
parents:
diff changeset
1160 Fix handling of NULL string options.
kono
parents:
diff changeset
1161
kono
parents:
diff changeset
1162 2015-06-30 David Malcolm <dmalcolm@redhat.com>
kono
parents:
diff changeset
1163
kono
parents:
diff changeset
1164 * docs/cp/topics/expressions.rst: Remove stray semicolon.
kono
parents:
diff changeset
1165 * docs/cp/topics/functions.rst: Remove stray backslash.
kono
parents:
diff changeset
1166 * docs/_build/texinfo/libgccjit.texi: Regenerate.
kono
parents:
diff changeset
1167
kono
parents:
diff changeset
1168 2015-06-25 Andrew MacLeod <amacleod@redhat.com>
kono
parents:
diff changeset
1169
kono
parents:
diff changeset
1170 * dummy-frontend.c: Remove ipa-ref.h and plugin-api.h from include list.
kono
parents:
diff changeset
1171 * jit-playback.c: Likewise.
kono
parents:
diff changeset
1172
kono
parents:
diff changeset
1173 2015-06-25 Andrew Macleod <amacleod@redhat.com>
kono
parents:
diff changeset
1174
kono
parents:
diff changeset
1175 * jit-common.h: Don't include alias.h.
kono
parents:
diff changeset
1176
kono
parents:
diff changeset
1177 2015-06-17 David Malcolm <dmalcolm@redhat.com>
kono
parents:
diff changeset
1178
kono
parents:
diff changeset
1179 * libgccjit.c (gcc_jit_lvalue_access_field): Verify that the field
kono
parents:
diff changeset
1180 is for the correct struct.
kono
parents:
diff changeset
1181 (gcc_jit_rvalue_access_field): Likewise.
kono
parents:
diff changeset
1182
kono
parents:
diff changeset
1183 2015-06-17 Andrew MacLeod <amacleod@redhat.com>
kono
parents:
diff changeset
1184
kono
parents:
diff changeset
1185 * dummy-frontend.c: Do not include input.h, line-map.h or is-a.h.
kono
parents:
diff changeset
1186 * jit-common.h: Likewise.
kono
parents:
diff changeset
1187 * jit-playback.c: Likewise.
kono
parents:
diff changeset
1188
kono
parents:
diff changeset
1189 2015-06-16 David Malcolm <dmalcolm@redhat.com>
kono
parents:
diff changeset
1190
kono
parents:
diff changeset
1191 PR jit/66539
kono
parents:
diff changeset
1192 * jit-recording.c: Within namespace gcc::jit::recording::
kono
parents:
diff changeset
1193 (rvalue::get_debug_string_parens): New function.
kono
parents:
diff changeset
1194 (binary_op::make_debug_string): Update to mimic C precedence
kono
parents:
diff changeset
1195 rules.
kono
parents:
diff changeset
1196 (binary_op_precedence): New array.
kono
parents:
diff changeset
1197 (binary_op::get_precedence): New function.
kono
parents:
diff changeset
1198 (comparison::make_debug_string): Update to mimic C precedence
kono
parents:
diff changeset
1199 rules.
kono
parents:
diff changeset
1200 (comparison_precedence): New array.
kono
parents:
diff changeset
1201 (comparison::get_precedence): New function.
kono
parents:
diff changeset
1202 (cast::make_debug_string): Update to mimic C precedence rules.
kono
parents:
diff changeset
1203 (call::make_debug_string): Likewise.
kono
parents:
diff changeset
1204 (call_through_ptr::make_debug_string): Likewise.
kono
parents:
diff changeset
1205 (array_access::make_debug_string): Likewise.
kono
parents:
diff changeset
1206 (access_field_of_lvalue::make_debug_string): Likewise.
kono
parents:
diff changeset
1207 (access_field_rvalue::make_debug_string): Likewise.
kono
parents:
diff changeset
1208 (dereference_field_rvalue::make_debug_string): Likewise.
kono
parents:
diff changeset
1209 (dereference_rvalue::make_debug_string): Likewise.
kono
parents:
diff changeset
1210 (get_address_of_lvalue::make_debug_string): Likewise.
kono
parents:
diff changeset
1211 * jit-recording.h: Within namespace gcc::jit::recording::
kono
parents:
diff changeset
1212 (precedence): New enum.
kono
parents:
diff changeset
1213 (rvalue::rvalue): Initialize field "m_parenthesized_string".
kono
parents:
diff changeset
1214 (rvalue::get_debug_string_parens): New method.
kono
parents:
diff changeset
1215 (rvalue::get_precedence): New pure virtual function.
kono
parents:
diff changeset
1216 (rvalue::m_parenthesized_string): New field.
kono
parents:
diff changeset
1217 (param::get_precedence): New function.
kono
parents:
diff changeset
1218 (global::get_precedence): New function.
kono
parents:
diff changeset
1219 (memento_of_new_rvalue_from_const::get_precedence): New function.
kono
parents:
diff changeset
1220 (memento_of_new_string_literal::get_precedence): New function.
kono
parents:
diff changeset
1221 (unary_op::get_precedence): New function.
kono
parents:
diff changeset
1222 (binary_op::get_precedence): New function.
kono
parents:
diff changeset
1223 (comparison::get_precedence): New function.
kono
parents:
diff changeset
1224 (cast::get_precedence): New function.
kono
parents:
diff changeset
1225 (call::get_precedence): New function.
kono
parents:
diff changeset
1226 (call_through_ptr::get_precedence): New function.
kono
parents:
diff changeset
1227 (array_access::get_precedence): New function.
kono
parents:
diff changeset
1228 (access_field_of_lvalue::get_precedence): New function.
kono
parents:
diff changeset
1229 (access_field_rvalue::get_precedence): New function.
kono
parents:
diff changeset
1230 (dereference_field_rvalue::get_precedence): New function.
kono
parents:
diff changeset
1231 (dereference_rvalue::get_precedence): New function.
kono
parents:
diff changeset
1232 (get_address_of_lvalue::get_precedence): New function.
kono
parents:
diff changeset
1233 (local::get_precedence): New function.
kono
parents:
diff changeset
1234
kono
parents:
diff changeset
1235 2015-06-09 Matthias Klose <doko@ubuntu.com>
kono
parents:
diff changeset
1236
kono
parents:
diff changeset
1237 * Make-lang.in (jit.install-common): Install headers using INSTALL_DATA.
kono
parents:
diff changeset
1238
kono
parents:
diff changeset
1239 2015-06-08 Andrew MacLeod <amacleod@redhat.com>
kono
parents:
diff changeset
1240
kono
parents:
diff changeset
1241 * dummy-frontend.c : Adjust include files.
kono
parents:
diff changeset
1242 * jit-common.h : Likewise.
kono
parents:
diff changeset
1243 * jit-playback.c : Likewise.
kono
parents:
diff changeset
1244
kono
parents:
diff changeset
1245 2015-06-05 David Malcolm <dmalcolm@redhat.com>
kono
parents:
diff changeset
1246
kono
parents:
diff changeset
1247 * dummy-frontend.c
kono
parents:
diff changeset
1248 (jit_langhook_post_compilation_parsing_cleanups): Remove.
kono
parents:
diff changeset
1249 (LANG_HOOKS_POST_COMPILATION_PARSING_CLEANUPS): Remove
kono
parents:
diff changeset
1250 * jit-playback.c (gcc::jit::playback::context::new_global): Add
kono
parents:
diff changeset
1251 call to varpool_node::finalize_decl.
kono
parents:
diff changeset
1252 (gcc::jit::playback::context::finalize_global_decls): Remove.
kono
parents:
diff changeset
1253 * jit-playback.h
kono
parents:
diff changeset
1254 (gcc::jit::playback::context::finalize_global_decls): Remove.
kono
parents:
diff changeset
1255
kono
parents:
diff changeset
1256 2015-06-05 David Malcolm <dmalcolm@redhat.com>
kono
parents:
diff changeset
1257
kono
parents:
diff changeset
1258 * dummy-frontend.c (jit_langhook_write_globals): Rename to...
kono
parents:
diff changeset
1259 (jit_langhook_post_compilation_parsing_cleanups): ...this, and
kono
parents:
diff changeset
1260 eliminate calls to finalize_compilation_unit and
kono
parents:
diff changeset
1261 write_global_decls_2.
kono
parents:
diff changeset
1262 (LANG_HOOKS_WRITE_GLOBALS): Rename to...
kono
parents:
diff changeset
1263 (LANG_HOOKS_POST_COMPILATION_PARSING_CLEANUPS): ...this and
kono
parents:
diff changeset
1264 redirect from jit_langhook_write_globals to
kono
parents:
diff changeset
1265 jit_langhook_post_compilation_parsing_cleanups.
kono
parents:
diff changeset
1266 * jit-playback.c
kono
parents:
diff changeset
1267 (gcc::jit::playback::context::write_global_decls_1): Rename to...
kono
parents:
diff changeset
1268 (gcc::jit::playback::context::finalize_global_decls): ...this.
kono
parents:
diff changeset
1269 (gcc::jit::playback::context::write_global_decls_1): Delete.
kono
parents:
diff changeset
1270 * jit-playback.h
kono
parents:
diff changeset
1271 (gcc::jit::playback::context::write_global_decls_1): Rename to...
kono
parents:
diff changeset
1272 (gcc::jit::playback::context::finalize_global_decls): ...this.
kono
parents:
diff changeset
1273 (gcc::jit::playback::context::write_global_decls_1): Delete.
kono
parents:
diff changeset
1274
kono
parents:
diff changeset
1275 2015-06-04 Andrew MacLeod <amacleod@redhat.com>
kono
parents:
diff changeset
1276
kono
parents:
diff changeset
1277 * dummy-frontend.c: Adjust includes for restructured coretypes.h.
kono
parents:
diff changeset
1278 * jit-common.h: Likewise.
kono
parents:
diff changeset
1279 * jit-playback.c: Likewise.
kono
parents:
diff changeset
1280
kono
parents:
diff changeset
1281 2015-05-12 David Malcolm <dmalcolm@redhat.com>
kono
parents:
diff changeset
1282
kono
parents:
diff changeset
1283 * jit-builtins.c: Include vec.h before target.h.
kono
parents:
diff changeset
1284
kono
parents:
diff changeset
1285 2015-04-27 Jim Wilson <jim.wilson@linaro.org>
kono
parents:
diff changeset
1286
kono
parents:
diff changeset
1287 * Make-lang.in (jit.mostlyclean): Remove shared libraries and object
kono
parents:
diff changeset
1288 files.
kono
parents:
diff changeset
1289
kono
parents:
diff changeset
1290 2015-04-09 David Malcolm <dmalcolm@redhat.com>
kono
parents:
diff changeset
1291
kono
parents:
diff changeset
1292 PR jit/65691
kono
parents:
diff changeset
1293 * docs/cp/topics/expressions.rst (Simple expressions): Fix copy
kono
parents:
diff changeset
1294 and paste error in description of gccjit::context::one.
kono
parents:
diff changeset
1295 * docs/topics/expressions.rst (Simple expressions): Likewise in
kono
parents:
diff changeset
1296 description of gcc_jit_context_one.
kono
parents:
diff changeset
1297 * docs/_build/texinfo/libgccjit.texi: Regenerate.
kono
parents:
diff changeset
1298
kono
parents:
diff changeset
1299 2015-03-13 Uros Bizjak <ubizjak@gmail.com>
kono
parents:
diff changeset
1300
kono
parents:
diff changeset
1301 * jit-recording.c (dump::write): Also check vasprintf return value.
kono
parents:
diff changeset
1302 (recording::context::add_error_va): Ditto.
kono
parents:
diff changeset
1303 (recording::string::from_printf): Ditto.
kono
parents:
diff changeset
1304
kono
parents:
diff changeset
1305 2015-03-13 David Malcolm <dmalcolm@redhat.com>
kono
parents:
diff changeset
1306
kono
parents:
diff changeset
1307 * docs/internals/index.rst (Packaging notes): New section.
kono
parents:
diff changeset
1308 * docs/_build/texinfo/libgccjit.texi: Regenerate.
kono
parents:
diff changeset
1309
kono
parents:
diff changeset
1310 2015-03-05 David Malcolm <dmalcolm@redhat.com>
kono
parents:
diff changeset
1311
kono
parents:
diff changeset
1312 * docs/cp/intro/tutorial03.rst: Add missing arguments to
kono
parents:
diff changeset
1313 gccjit::block::end_with_conditional call. Add on_true/on_false
kono
parents:
diff changeset
1314 comments. Tweak the wording.
kono
parents:
diff changeset
1315 * docs/intro/tutorial03.rst: Add missing arguments to
kono
parents:
diff changeset
1316 gcc_jit_block_end_with_conditional call. Add some clarifying
kono
parents:
diff changeset
1317 comments.
kono
parents:
diff changeset
1318 * docs/topics/compilation.rst: Tweak the wording to avoid an
kono
parents:
diff changeset
1319 ambiguous use of "this".
kono
parents:
diff changeset
1320 * docs/topics/contexts.rst: Fix a typo.
kono
parents:
diff changeset
1321 * docs/topics/expressions.rst (GCC_JIT_BINARY_OP_MINUS): Remove
kono
parents:
diff changeset
1322 a stray backtick.
kono
parents:
diff changeset
1323 * docs/_build/texinfo/libgccjit.texi: Regenerate.
kono
parents:
diff changeset
1324
kono
parents:
diff changeset
1325 2015-02-24 Thomas Schwinge <thomas@codesourcery.com>
kono
parents:
diff changeset
1326
kono
parents:
diff changeset
1327 PR libgomp/64625
kono
parents:
diff changeset
1328 * jit-builtins.c (DEF_FUNCTION_TYPE_VAR_8)
kono
parents:
diff changeset
1329 (DEF_FUNCTION_TYPE_VAR_12): Remove macros.
kono
parents:
diff changeset
1330 (DEF_FUNCTION_TYPE_VAR_7, DEF_FUNCTION_TYPE_VAR_11): New macros.
kono
parents:
diff changeset
1331 * jit-builtins.h (DEF_FUNCTION_TYPE_VAR_8)
kono
parents:
diff changeset
1332 (DEF_FUNCTION_TYPE_VAR_12): Remove macros.
kono
parents:
diff changeset
1333 (DEF_FUNCTION_TYPE_VAR_7, DEF_FUNCTION_TYPE_VAR_11): New macros.
kono
parents:
diff changeset
1334
kono
parents:
diff changeset
1335 2015-02-04 David Malcolm <dmalcolm@redhat.com>
kono
parents:
diff changeset
1336
kono
parents:
diff changeset
1337 PR jit/64257
kono
parents:
diff changeset
1338 * docs/conf.py (html_theme): Change from 'pyramid'
kono
parents:
diff changeset
1339 to 'sphinxdoc'.
kono
parents:
diff changeset
1340
kono
parents:
diff changeset
1341 2015-02-04 David Malcolm <dmalcolm@redhat.com>
kono
parents:
diff changeset
1342
kono
parents:
diff changeset
1343 * docs/topics/contexts.rst (gcc_jit_context_acquire): Fix
kono
parents:
diff changeset
1344 typo.
kono
parents:
diff changeset
1345 * docs/_build/texinfo/libgccjit.texi: Regenerate.
kono
parents:
diff changeset
1346
kono
parents:
diff changeset
1347 2015-02-03 David Malcolm <dmalcolm@redhat.com>
kono
parents:
diff changeset
1348
kono
parents:
diff changeset
1349 * jit-logging.h (gcc::jit::log_user::log): Make const.
kono
parents:
diff changeset
1350 * jit-recording.c (gcc::jit::recording::context::set_str_option):
kono
parents:
diff changeset
1351 Log the new value of the option.
kono
parents:
diff changeset
1352 (gcc::jit::recording::context::set_int_option): Likewise.
kono
parents:
diff changeset
1353 (gcc::jit::recording::context::set_bool_option): Likewise.
kono
parents:
diff changeset
1354 (gcc::jit::recording::context::compile): Log the value of all
kono
parents:
diff changeset
1355 options.
kono
parents:
diff changeset
1356 (gcc::jit::recording::context::compile_to_file): Likewise.
kono
parents:
diff changeset
1357 (gcc::jit::recording::context::log_all_options): New function.
kono
parents:
diff changeset
1358 (gcc::jit::recording::context::log_str_option): New function.
kono
parents:
diff changeset
1359 (gcc::jit::recording::context::log_int_option): New function.
kono
parents:
diff changeset
1360 (gcc::jit::recording::context::log_bool_option): New function.
kono
parents:
diff changeset
1361 * jit-recording.h (gcc::jit::recording::context::log_all_options):
kono
parents:
diff changeset
1362 New function.
kono
parents:
diff changeset
1363 (gcc::jit::recording::context::log_str_option): New function.
kono
parents:
diff changeset
1364 (gcc::jit::recording::context::log_int_option): New function.
kono
parents:
diff changeset
1365 (gcc::jit::recording::context::log_bool_option): New function.
kono
parents:
diff changeset
1366 * docs/internals/test-hello-world.exe.log.txt: Update for above
kono
parents:
diff changeset
1367 changes.
kono
parents:
diff changeset
1368 * docs/_build/texinfo/libgccjit.texi: Regenerate.
kono
parents:
diff changeset
1369
kono
parents:
diff changeset
1370 2015-02-03 David Malcolm <dmalcolm@redhat.com>
kono
parents:
diff changeset
1371
kono
parents:
diff changeset
1372 PR jit/64810
kono
parents:
diff changeset
1373 * Make-lang.in (jit_OBJS): Add jit/jit-spec.o and gcc.o.
kono
parents:
diff changeset
1374 (LIBGCCJIT_FILENAME): Add EXTRA_GCC_OBJS.
kono
parents:
diff changeset
1375 * jit-playback.c: Include gcc.h.
kono
parents:
diff changeset
1376 (gcc::jit::playback::context::compile): Move mutex acquisition
kono
parents:
diff changeset
1377 to before the call to make_fake_args.
kono
parents:
diff changeset
1378 (append_arg_from_driver): New function.
kono
parents:
diff changeset
1379 (gcc::jit::playback::context::make_fake_args): On the first call,
kono
parents:
diff changeset
1380 call into driver_get_configure_time_options to get configure-time
kono
parents:
diff changeset
1381 default options and cache them. Add them to the args for
kono
parents:
diff changeset
1382 toplev::main.
kono
parents:
diff changeset
1383 * jit-spec.c: New source file.
kono
parents:
diff changeset
1384 * docs/internals/test-hello-world.exe.log.txt: Update to reflect
kono
parents:
diff changeset
1385 above changes.
kono
parents:
diff changeset
1386 * docs/_build/texinfo/libgccjit.texi: Regenerate.
kono
parents:
diff changeset
1387
kono
parents:
diff changeset
1388 2015-02-02 David Malcolm <dmalcolm@redhat.com>
kono
parents:
diff changeset
1389
kono
parents:
diff changeset
1390 PR jit/64810
kono
parents:
diff changeset
1391 * dummy-frontend.c (jit_langhook_type_for_mode): Support
kono
parents:
diff changeset
1392 TYPE_MODE (long_long_integer_type_node).
kono
parents:
diff changeset
1393
kono
parents:
diff changeset
1394 2015-01-27 David Malcolm <dmalcolm@redhat.com>
kono
parents:
diff changeset
1395
kono
parents:
diff changeset
1396 * docs/internals/test-hello-world.exe.log.txt: Add example version
kono
parents:
diff changeset
1397 lines.
kono
parents:
diff changeset
1398 * docs/_build/texinfo/libgccjit.texi: Regenerate.
kono
parents:
diff changeset
1399 * jit-common.h (gcc::jit::dump::get_file): New accessor.
kono
parents:
diff changeset
1400 * jit-logging.c: Include toplev.h.
kono
parents:
diff changeset
1401 (gcc::jit::logger::logger): Log the GCC version.
kono
parents:
diff changeset
1402 * jit-recording.c: Include toplev.h.
kono
parents:
diff changeset
1403 (gcc:jit::recording::context::dump_reproducer_to_file): Log the
kono
parents:
diff changeset
1404 GCC version.
kono
parents:
diff changeset
1405
kono
parents:
diff changeset
1406 2015-01-26 David Malcolm <dmalcolm@redhat.com>
kono
parents:
diff changeset
1407
kono
parents:
diff changeset
1408 * docs/topics/compilation.rst (gcc_jit_result_get_code): Fix typo.
kono
parents:
diff changeset
1409 * docs/topics/contexts.rst (gcc_jit_context_get_last_error): The
kono
parents:
diff changeset
1410 error buffer is only valid until the next call to the context.
kono
parents:
diff changeset
1411 * docs/_build/texinfo/libgccjit.texi: Regenerate.
kono
parents:
diff changeset
1412 * libgccjit.h (gcc_jit_context_get_first_error): Reword the
kono
parents:
diff changeset
1413 comment to omit mention of compiling.
kono
parents:
diff changeset
1414 (gcc_jit_context_get_last_error): The error buffer is only valid
kono
parents:
diff changeset
1415 until the next call to the context.
kono
parents:
diff changeset
1416
kono
parents:
diff changeset
1417 2015-01-26 David Malcolm <dmalcolm@redhat.com>
kono
parents:
diff changeset
1418
kono
parents:
diff changeset
1419 PR jit/64708
kono
parents:
diff changeset
1420 * config-lang.in (compilers): Drop "libgccjit.so".
kono
parents:
diff changeset
1421
kono
parents:
diff changeset
1422 2015-01-23 David Malcolm <dmalcolm@redhat.com>
kono
parents:
diff changeset
1423
kono
parents:
diff changeset
1424 PR jit/64721
kono
parents:
diff changeset
1425 * jit-playback.c (gcc::jit::playback::context::compile): Construct
kono
parents:
diff changeset
1426 toplev instances with init_signals=false.
kono
parents:
diff changeset
1427
kono
parents:
diff changeset
1428 2015-01-19 David Malcolm <dmalcolm@redhat.com>
kono
parents:
diff changeset
1429
kono
parents:
diff changeset
1430 * docs/cp/topics/results.rst: Rename to...
kono
parents:
diff changeset
1431 * docs/cp/topics/compilation.rst: ...this, and add section on
kono
parents:
diff changeset
1432 ahead-of-time compilation.
kono
parents:
diff changeset
1433 * docs/cp/topics/index.rst: Update for renaming of results.rst
kono
parents:
diff changeset
1434 to compilation.rst.
kono
parents:
diff changeset
1435 * docs/examples/emit-alphabet.bf: New file, a sample "brainf"
kono
parents:
diff changeset
1436 script.
kono
parents:
diff changeset
1437 * docs/examples/tut05-bf.c: New file, implementing a compiler
kono
parents:
diff changeset
1438 for "brainf".
kono
parents:
diff changeset
1439 * docs/internals/test-hello-world.exe.log.txt: Update to reflect
kono
parents:
diff changeset
1440 changes to logger output.
kono
parents:
diff changeset
1441 * docs/intro/index.rst: Add tutorial05.rst
kono
parents:
diff changeset
1442 * docs/intro/tutorial05.rst: New file.
kono
parents:
diff changeset
1443 * docs/topics/results.rst: Rename to...
kono
parents:
diff changeset
1444 * docs/topics/compilation.rst: ...this, and add section on
kono
parents:
diff changeset
1445 ahead-of-time compilation.
kono
parents:
diff changeset
1446 * docs/topics/index.rst: Update for renaming of results.rst to
kono
parents:
diff changeset
1447 compilation.rst.
kono
parents:
diff changeset
1448 * docs/_build/texinfo/libgccjit.texi: Regenerate.
kono
parents:
diff changeset
1449 * jit-playback.c (gcc::jit::playback::context::compile): Convert
kono
parents:
diff changeset
1450 return type from result * to void. Move the code to convert to
kono
parents:
diff changeset
1451 dso and dlopen the result to a new pure virtual "postprocess"
kono
parents:
diff changeset
1452 method.
kono
parents:
diff changeset
1453 (gcc::jit::playback::compile_to_memory::compile_to_memory): New
kono
parents:
diff changeset
1454 function.
kono
parents:
diff changeset
1455 (gcc::jit::playback::compile_to_memory::postprocess): New
kono
parents:
diff changeset
1456 function, based on playback::context::compile.
kono
parents:
diff changeset
1457 (gcc::jit::playback::compile_to_file::compile_to_file): New
kono
parents:
diff changeset
1458 function.
kono
parents:
diff changeset
1459 (gcc::jit::playback::compile_to_file::postprocess): New function.
kono
parents:
diff changeset
1460 (gcc::jit::playback::compile_to_file::copy_file): New function.
kono
parents:
diff changeset
1461 (gcc::jit::playback::context::convert_to_dso): Move internals
kono
parents:
diff changeset
1462 to...
kono
parents:
diff changeset
1463 (gcc::jit::playback::context::invoke_driver): New method. Add
kono
parents:
diff changeset
1464 "-shared" and "-c" options to driver's argv as needed.
kono
parents:
diff changeset
1465 * jit-playback.h: Include "timevar.h".
kono
parents:
diff changeset
1466 (gcc::jit::playback::context::compile): Convert return type from
kono
parents:
diff changeset
1467 result * to void.
kono
parents:
diff changeset
1468 (gcc::jit::playback::context::postprocess): New pure virtual
kono
parents:
diff changeset
1469 function, making this an abstract base class.
kono
parents:
diff changeset
1470 (gcc::jit::playback::context::get_tempdir): New accessor.
kono
parents:
diff changeset
1471 (gcc::jit::playback::context::invoke_driver): New function.
kono
parents:
diff changeset
1472 (class gcc::jit::playback::compile_to_memory): New subclass of
kono
parents:
diff changeset
1473 playback::context.
kono
parents:
diff changeset
1474 (class gcc::jit::playback::compile_to_file): Likewise.
kono
parents:
diff changeset
1475 * jit-recording.c (gcc::jit::recording::context::compile): Use a
kono
parents:
diff changeset
1476 playback::compile_to_memory, and extract its result.
kono
parents:
diff changeset
1477 (gcc::jit::recording::context::compile_to_file): New function.
kono
parents:
diff changeset
1478 * jit-recording.h (gcc::jit::recording::context::compile_to_file):
kono
parents:
diff changeset
1479 New function.
kono
parents:
diff changeset
1480 * libgccjit++.h (gccjit::context::compile_to_file): New method.
kono
parents:
diff changeset
1481 * libgccjit.c (gcc_jit_context_compile): Update log message to
kono
parents:
diff changeset
1482 clarify that this is an in-memory compile.
kono
parents:
diff changeset
1483 (gcc_jit_context_compile_to_file): New function.
kono
parents:
diff changeset
1484 * libgccjit.h (gcc_jit_context): Clarify that you can compile
kono
parents:
diff changeset
1485 a context more than once, and that you can compile to a file
kono
parents:
diff changeset
1486 as well as to memory.
kono
parents:
diff changeset
1487 (gcc_jit_result): Clarify that this is the result of an
kono
parents:
diff changeset
1488 in-memory compilation.
kono
parents:
diff changeset
1489 (gcc_jit_context_compile): Clarify that you can compile, and that
kono
parents:
diff changeset
1490 this is an in-memory compilation.
kono
parents:
diff changeset
1491 (enum gcc_jit_output_kind): New enum.
kono
parents:
diff changeset
1492 (gcc_jit_context_compile_to_file): New function.
kono
parents:
diff changeset
1493 (gcc_jit_context_enable_dump): Clarify comment to cover both forms
kono
parents:
diff changeset
1494 of compilation.
kono
parents:
diff changeset
1495 * libgccjit.map (gcc_jit_context_compile_to_file): New API
kono
parents:
diff changeset
1496 entrypoint.
kono
parents:
diff changeset
1497 * notes.txt: Update to show the playback::context::postprocess
kono
parents:
diff changeset
1498 virtual function.
kono
parents:
diff changeset
1499
kono
parents:
diff changeset
1500 2015-01-19 David Malcolm <dmalcolm@redhat.com>
kono
parents:
diff changeset
1501
kono
parents:
diff changeset
1502 * jit-recording.c
kono
parents:
diff changeset
1503 (gcc::jit::recording::memento_of_new_string_literal::make_debug_string):
kono
parents:
diff changeset
1504 Add missing format string.
kono
parents:
diff changeset
1505
kono
parents:
diff changeset
1506 2015-01-16 David Malcolm <dmalcolm@redhat.com>
kono
parents:
diff changeset
1507
kono
parents:
diff changeset
1508 * Make-lang.in (lang_checks_parallelized): Add "check-jit".
kono
parents:
diff changeset
1509 (check_jit_parallelize): Set this to an arbitrary value (10).
kono
parents:
diff changeset
1510
kono
parents:
diff changeset
1511 2015-01-16 Jakub Jelinek <jakub@redhat.com>
kono
parents:
diff changeset
1512
kono
parents:
diff changeset
1513 * jit-builtins.h (DEF_FUNCTION_TYPE_VAR_5): Fix spelling of
kono
parents:
diff changeset
1514 last argument.
kono
parents:
diff changeset
1515 (DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12): Define and
kono
parents:
diff changeset
1516 undef afterwards.
kono
parents:
diff changeset
1517 * jit-builtins.c (DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12):
kono
parents:
diff changeset
1518 Likewise.
kono
parents:
diff changeset
1519
kono
parents:
diff changeset
1520 2015-01-15 Richard Sandiford <richard.sandiford@arm.com>
kono
parents:
diff changeset
1521
kono
parents:
diff changeset
1522 Update copyright years in docs/.
kono
parents:
diff changeset
1523
kono
parents:
diff changeset
1524 2015-01-15 David Malcolm <dmalcolm@redhat.com>
kono
parents:
diff changeset
1525
kono
parents:
diff changeset
1526 * libgccjit.c (gcc_jit_block_add_assignment_op): Check that the
kono
parents:
diff changeset
1527 lvalue and the rvalue are of compatible type.
kono
parents:
diff changeset
1528
kono
parents:
diff changeset
1529 2015-01-13 David Malcolm <dmalcolm@redhat.com>
kono
parents:
diff changeset
1530
kono
parents:
diff changeset
1531 * docs/cp/topics/contexts.rst (Debugging): Add
kono
parents:
diff changeset
1532 gccjit::context::dump_reproducer_to_file.
kono
parents:
diff changeset
1533 * docs/internals/index.rst (Design notes): New section,
kono
parents:
diff changeset
1534 discussing input validation and
kono
parents:
diff changeset
1535 gcc_jit_context_dump_reproducer_to_file.
kono
parents:
diff changeset
1536 * docs/topics/contexts.rst (Debugging): Add
kono
parents:
diff changeset
1537 gcc_jit_context_dump_reproducer_to_file.
kono
parents:
diff changeset
1538 * docs/_build/texinfo/libgccjit.texi: Regenerate.
kono
parents:
diff changeset
1539 * jit-common.h (gcc::jit::dump::get_context): New accessor.
kono
parents:
diff changeset
1540 * jit-recording.c: Include "hash-map.h".
kono
parents:
diff changeset
1541 Within namespace ::gcc::jit...
kono
parents:
diff changeset
1542 (dump::write): Flush each line.
kono
parents:
diff changeset
1543 (dump::make_location): Pass false for new param "created_by_user".
kono
parents:
diff changeset
1544 (class allocator): New class.
kono
parents:
diff changeset
1545 (allocator::~allocator): New function.
kono
parents:
diff changeset
1546 (allocator::xstrdup_printf): New function.
kono
parents:
diff changeset
1547 (allocator::xstrdup_printf_va): New function.
kono
parents:
diff changeset
1548 (class reproducer): New subclass of dump.
kono
parents:
diff changeset
1549 (reproducer::reproducer): New function.
kono
parents:
diff changeset
1550 (reproducer::write_params): New function.
kono
parents:
diff changeset
1551 (reproducer::write_args): New function.
kono
parents:
diff changeset
1552 (reproducer::make_identifier): New function.
kono
parents:
diff changeset
1553 (reproducer::make_tmp_identifier): New function.
kono
parents:
diff changeset
1554 (reproducer::get_identifier): New pair of functions.
kono
parents:
diff changeset
1555 (reproducer::get_identifier_as_rvalue): New function.
kono
parents:
diff changeset
1556 (reproducer::get_identifier_as_lvalue): New function.
kono
parents:
diff changeset
1557 (reproducer::get_identifier_as_type): New function.
kono
parents:
diff changeset
1558 (reproducer::xstrdup_printf): New function.
kono
parents:
diff changeset
1559 (recording::context::context): Initialize m_toplevel_ctxt.
kono
parents:
diff changeset
1560 (recording::context::new_location): Add param created_by_user.
kono
parents:
diff changeset
1561 (str_option_reproducer_strings): New table of strings.
kono
parents:
diff changeset
1562 (int_option_reproducer_strings): Likewise.
kono
parents:
diff changeset
1563 (bool_option_reproducer_strings): Likewise.
kono
parents:
diff changeset
1564 (get_type_enum_strings): Likewise.
kono
parents:
diff changeset
1565 (names_of_function_kinds): Likewise.
kono
parents:
diff changeset
1566 (global_kind_reproducer_strings): Likewise.
kono
parents:
diff changeset
1567 (unary_op_reproducer_strings): Likewise.
kono
parents:
diff changeset
1568 (binary_op_reproducer_strings): Likewise.
kono
parents:
diff changeset
1569 (comparison_reproducer_strings): Likewise.
kono
parents:
diff changeset
1570 Within namespace ::gcc::jit::recording::...
kono
parents:
diff changeset
1571 (context::dump_reproducer_to_file): New function.
kono
parents:
diff changeset
1572 (string::write_reproducer): Likewise.
kono
parents:
diff changeset
1573 (location::write_reproducer): Likewise.
kono
parents:
diff changeset
1574 (type::access_as_type): Likewise.
kono
parents:
diff changeset
1575 (memento_of_get_type::write_reproducer): Likewise.
kono
parents:
diff changeset
1576 (memento_of_get_pointer::write_reproducer): Likewise.
kono
parents:
diff changeset
1577 (memento_of_get_const::write_reproducer): Likewise.
kono
parents:
diff changeset
1578 (memento_of_get_volatile::write_reproducer): Likewise.
kono
parents:
diff changeset
1579 (array_type::write_reproducer): Likewise.
kono
parents:
diff changeset
1580 (function_type::write_reproducer): Likewise.
kono
parents:
diff changeset
1581 (function_type::write_deferred_reproducer): Likewise.
kono
parents:
diff changeset
1582 (field::write_reproducer): Likewise.
kono
parents:
diff changeset
1583 (struct_::access_as_type): Likewise.
kono
parents:
diff changeset
1584 (struct_::write_reproducer): Likewise.
kono
parents:
diff changeset
1585 (union_::write_reproducer): Likewise.
kono
parents:
diff changeset
1586 (fields::write_reproducer): Likewise.
kono
parents:
diff changeset
1587 (rvalue::access_as_rvalue): Likewise.
kono
parents:
diff changeset
1588 (lvalue::access_as_rvalue): Likewise.
kono
parents:
diff changeset
1589 (lvalue::access_as_lvalue): Likewise.
kono
parents:
diff changeset
1590 (param::access_as_rvalue): Likewise.
kono
parents:
diff changeset
1591 (param::access_as_lvalue): Likewise.
kono
parents:
diff changeset
1592 (param::write_reproducer): Likewise.
kono
parents:
diff changeset
1593 (function::write_reproducer): Likewise.
kono
parents:
diff changeset
1594 (block::write_reproducer): Likewise.
kono
parents:
diff changeset
1595 (global::write_reproducer): Likewise.
kono
parents:
diff changeset
1596 (memento_of_new_rvalue_from_const <int>::write_reproducer):
kono
parents:
diff changeset
1597 Likewise.
kono
parents:
diff changeset
1598 (memento_of_new_rvalue_from_const <long>::write_reproducer):
kono
parents:
diff changeset
1599 Likewise.
kono
parents:
diff changeset
1600 (memento_of_new_rvalue_from_const <double>::write_reproducer):
kono
parents:
diff changeset
1601 Likewise.
kono
parents:
diff changeset
1602 (memento_of_new_rvalue_from_const <void *>::write_reproducer):
kono
parents:
diff changeset
1603 Likewise.
kono
parents:
diff changeset
1604 (memento_of_new_string_literal::write_reproducer): Likewise.
kono
parents:
diff changeset
1605 (unary_op::write_reproducer): Likewise.
kono
parents:
diff changeset
1606 (binary_op::write_reproducer): Likewise.
kono
parents:
diff changeset
1607 (comparison::write_reproducer): Likewise.
kono
parents:
diff changeset
1608 (cast::write_reproducer): Likewise.
kono
parents:
diff changeset
1609 (call::write_reproducer): Likewise.
kono
parents:
diff changeset
1610 (call_through_ptr::write_reproducer): Likewise.
kono
parents:
diff changeset
1611 (array_access::write_reproducer): Likewise.
kono
parents:
diff changeset
1612 (access_field_of_lvalue::write_reproducer): Likewise.
kono
parents:
diff changeset
1613 (access_field_rvalue::write_reproducer): Likewise.
kono
parents:
diff changeset
1614 (dereference_field_rvalue::write_reproducer): Likewise.
kono
parents:
diff changeset
1615 (dereference_rvalue::write_reproducer): Likewise.
kono
parents:
diff changeset
1616 (get_address_of_lvalue::write_reproducer): Likewise.
kono
parents:
diff changeset
1617 (local::write_reproducer): Likewise.
kono
parents:
diff changeset
1618 (eval::write_reproducer): Likewise.
kono
parents:
diff changeset
1619 (assignment::write_reproducer): Likewise.
kono
parents:
diff changeset
1620 (assignment_op::write_reproducer): Likewise.
kono
parents:
diff changeset
1621 (comment::write_reproducer): Likewise.
kono
parents:
diff changeset
1622 (conditional::write_reproducer): Likewise.
kono
parents:
diff changeset
1623 (jump::write_reproducer): Likewise.
kono
parents:
diff changeset
1624 (return_::write_reproducer): Likewise.
kono
parents:
diff changeset
1625 * jit-recording.h (gcc::jit::reproducer): New forward declararion.
kono
parents:
diff changeset
1626 Within namespace ::gcc::jit::recording::...
kono
parents:
diff changeset
1627 (context::new_location): Add "created_by_user" param.
kono
parents:
diff changeset
1628 (context::dump_reproducer_to_file): New method.
kono
parents:
diff changeset
1629 (context::m_toplevel_ctxt): New field.
kono
parents:
diff changeset
1630 (memento::write_reproducer): New pure virtual function.
kono
parents:
diff changeset
1631 (memento::dyn_cast_location): New virtual function.
kono
parents:
diff changeset
1632 (string::write_reproducer):
kono
parents:
diff changeset
1633 (location::location): Add "created_by_user" param.
kono
parents:
diff changeset
1634 (location::dyn_cast_location): New function.
kono
parents:
diff changeset
1635 (location::created_by_user): New accessor.
kono
parents:
diff changeset
1636 (location::write_reproducer): New function.
kono
parents:
diff changeset
1637 (location::m_created_by_user): New field.
kono
parents:
diff changeset
1638 (type::access_as_type): New virtual function.
kono
parents:
diff changeset
1639 (location::write_reproducer): Likewise.
kono
parents:
diff changeset
1640 (type::access_as_type): Likewise.
kono
parents:
diff changeset
1641 (memento_of_get_type::write_reproducer): Likewise.
kono
parents:
diff changeset
1642 (memento_of_get_pointer::write_reproducer): Likewise.
kono
parents:
diff changeset
1643 (memento_of_get_const::write_reproducer): Likewise.
kono
parents:
diff changeset
1644 (memento_of_get_volatile::write_reproducer): Likewise.
kono
parents:
diff changeset
1645 (array_type::write_reproducer): Likewise.
kono
parents:
diff changeset
1646 (function_type::write_reproducer): Likewise.
kono
parents:
diff changeset
1647 (function_type::write_deferred_reproducer): Likewise.
kono
parents:
diff changeset
1648 (field::write_reproducer): Likewise.
kono
parents:
diff changeset
1649 (struct_::access_as_type): Likewise.
kono
parents:
diff changeset
1650 (struct_::write_reproducer): Likewise.
kono
parents:
diff changeset
1651 (union_::write_reproducer): Likewise.
kono
parents:
diff changeset
1652 (union_::m_fields): Remove stray unused field.
kono
parents:
diff changeset
1653 (fields::length): New accessor.
kono
parents:
diff changeset
1654 (fields::get_field): New accessor.
kono
parents:
diff changeset
1655 (fields::write_reproducer): New function.
kono
parents:
diff changeset
1656 (rvalue::access_as_rvalue): Likewise.
kono
parents:
diff changeset
1657 (lvalue::access_as_rvalue): Likewise.
kono
parents:
diff changeset
1658 (lvalue::access_as_lvalue): Likewise.
kono
parents:
diff changeset
1659 (param::access_as_rvalue): Likewise.
kono
parents:
diff changeset
1660 (param::access_as_lvalue): Likewise.
kono
parents:
diff changeset
1661 (param::write_reproducer): Likewise.
kono
parents:
diff changeset
1662 (function::write_reproducer): Likewise.
kono
parents:
diff changeset
1663 (block::write_reproducer): Likewise.
kono
parents:
diff changeset
1664 (global::write_reproducer): Likewise.
kono
parents:
diff changeset
1665 (memento_of_new_rvalue_from_const <HOST_TYPE>::write_reproducer):
kono
parents:
diff changeset
1666 Likewise.
kono
parents:
diff changeset
1667 (memento_of_new_string_literal::write_reproducer): Likewise.
kono
parents:
diff changeset
1668 (unary_op::write_reproducer): Likewise.
kono
parents:
diff changeset
1669 (binary_op::write_reproducer): Likewise.
kono
parents:
diff changeset
1670 (comparison::write_reproducer): Likewise.
kono
parents:
diff changeset
1671 (cast::write_reproducer): Likewise.
kono
parents:
diff changeset
1672 (call::write_reproducer): Likewise.
kono
parents:
diff changeset
1673 (call_through_ptr::write_reproducer): Likewise.
kono
parents:
diff changeset
1674 (array_access::write_reproducer): Likewise.
kono
parents:
diff changeset
1675 (access_field_of_lvalue::write_reproducer): Likewise.
kono
parents:
diff changeset
1676 (access_field_rvalue::write_reproducer): Likewise.
kono
parents:
diff changeset
1677 (dereference_field_rvalue::write_reproducer): Likewise.
kono
parents:
diff changeset
1678 (dereference_rvalue::write_reproducer): Likewise.
kono
parents:
diff changeset
1679 (get_address_of_lvalue::write_reproducer): Likewise.
kono
parents:
diff changeset
1680 (local::write_reproducer): Likewise.
kono
parents:
diff changeset
1681 (eval::write_reproducer): Likewise.
kono
parents:
diff changeset
1682 (assignment::write_reproducer): Likewise.
kono
parents:
diff changeset
1683 (assignment_op::write_reproducer): Likewise.
kono
parents:
diff changeset
1684 (comment::write_reproducer): Likewise.
kono
parents:
diff changeset
1685 (conditional::write_reproducer): Likewise.
kono
parents:
diff changeset
1686 (jump::write_reproducer): Likewise.
kono
parents:
diff changeset
1687 (return_::write_reproducer): Likewise.
kono
parents:
diff changeset
1688 * libgccjit++.h (gccjit::context::dump_reproducer_to_file): New.
kono
parents:
diff changeset
1689 * libgccjit.c (gcc_jit_context_new_location): Pass "true" as
kono
parents:
diff changeset
1690 param "created_by_user".
kono
parents:
diff changeset
1691 (gcc_jit_context_dump_reproducer_to_file): New API entrypoint.
kono
parents:
diff changeset
1692 * libgccjit.h (gcc_jit_context_dump_reproducer_to_file): New API
kono
parents:
diff changeset
1693 entrypoint.
kono
parents:
diff changeset
1694 * libgccjit.map (gcc_jit_context_dump_reproducer_to_file): New API
kono
parents:
diff changeset
1695 entrypoint.
kono
parents:
diff changeset
1696
kono
parents:
diff changeset
1697 2015-01-12 David Malcolm <dmalcolm@redhat.com>
kono
parents:
diff changeset
1698
kono
parents:
diff changeset
1699 * jit-recording.c (class gcc::jit::rvalue_usage_validator): New.
kono
parents:
diff changeset
1700 (gcc::jit::rvalue_usage_validator::rvalue_usage_validator): New
kono
parents:
diff changeset
1701 ctor.
kono
parents:
diff changeset
1702 (gcc::jit::rvalue_usage_validator::visit): New function.
kono
parents:
diff changeset
1703 (gcc::jit::recording::rvalue::verify_valid_within_stmt): New
kono
parents:
diff changeset
1704 function.
kono
parents:
diff changeset
1705 (gcc::jit::recording::rvalue::set_scope): New function.
kono
parents:
diff changeset
1706 (gcc::jit::recording::function::function): Call set_scope on each
kono
parents:
diff changeset
1707 param, issuing errors for any params that already have a function.
kono
parents:
diff changeset
1708 (gcc::jit::recording::block::add_eval): Return the new statement;
kono
parents:
diff changeset
1709 update the comment given that some error-checking now happens after
kono
parents:
diff changeset
1710 this returns.
kono
parents:
diff changeset
1711 (gcc::jit::recording::block::add_assignment): Likewise.
kono
parents:
diff changeset
1712 (gcc::jit::recording::block::add_assignment_op): Likewise.
kono
parents:
diff changeset
1713 (gcc::jit::recording::block::add_comment): Likewise.
kono
parents:
diff changeset
1714 (gcc::jit::recording::block::end_with_conditional): Likewise.
kono
parents:
diff changeset
1715 (gcc::jit::recording::block::end_with_jump): Likewise.
kono
parents:
diff changeset
1716 (gcc::jit::recording::block::end_with_return): Likewise.
kono
parents:
diff changeset
1717 (gcc::jit::recording::block::validate): Add a comment.
kono
parents:
diff changeset
1718 (gcc::jit::recording::unary_op::visit_children): New function.
kono
parents:
diff changeset
1719 (gcc::jit::recording::binary_op::visit_children): New function.
kono
parents:
diff changeset
1720 (gcc::jit::recording::comparison::visit_children): New function.
kono
parents:
diff changeset
1721 (gcc::jit::recording::cast::visit_children): New function.
kono
parents:
diff changeset
1722 (gcc::jit::recording::call::visit_children): New function.
kono
parents:
diff changeset
1723 (gcc::jit::recording::call_through_ptr::visit_children): New function.
kono
parents:
diff changeset
1724 (gcc::jit::recording::array_access::visit_children): New function.
kono
parents:
diff changeset
1725 (gcc::jit::recording::access_field_of_lvalue::visit_children): New
kono
parents:
diff changeset
1726 function.
kono
parents:
diff changeset
1727 (gcc::jit::recording::access_field_rvalue::visit_children): New
kono
parents:
diff changeset
1728 function.
kono
parents:
diff changeset
1729 (gcc::jit::recording::dereference_field_rvalue::visit_children):
kono
parents:
diff changeset
1730 New function.
kono
parents:
diff changeset
1731 (gcc::jit::recording::dereference_rvalue::visit_children): New
kono
parents:
diff changeset
1732 function.
kono
parents:
diff changeset
1733 (gcc::jit::recording::get_address_of_lvalue::visit_children): New
kono
parents:
diff changeset
1734 function.
kono
parents:
diff changeset
1735 * jit-recording.h: Within namespace gcc::jit::recording...
kono
parents:
diff changeset
1736 (class rvalue_visitor): New.
kono
parents:
diff changeset
1737 (rvalue::rvalue): Initialize m_scope.
kono
parents:
diff changeset
1738 (rvalue::get_loc): New accessor.
kono
parents:
diff changeset
1739 (rvalue::verify_valid_within_stmt): New function.
kono
parents:
diff changeset
1740 (rvalue::visit_children): New pure virtual function.
kono
parents:
diff changeset
1741 (rvalue::set_scope): New function.
kono
parents:
diff changeset
1742 (rvalue::get_scope): New function.
kono
parents:
diff changeset
1743 (rvalue::dyn_cast_param): New function.
kono
parents:
diff changeset
1744 (rvalue::m_scope): New field.
kono
parents:
diff changeset
1745 (param::visit_children): New empty function.
kono
parents:
diff changeset
1746 (param::dyn_cast_param): New function.
kono
parents:
diff changeset
1747 (function::get_loc): New function.
kono
parents:
diff changeset
1748 (block::add_eval): Return the new statement.
kono
parents:
diff changeset
1749 (block::add_assignment): Likewise.
kono
parents:
diff changeset
1750 (block::add_assignment_op): Likewise.
kono
parents:
diff changeset
1751 (block::add_comment): Likewise.
kono
parents:
diff changeset
1752 (block::end_with_conditional): Likewise.
kono
parents:
diff changeset
1753 (block::end_with_jump): Likewise.
kono
parents:
diff changeset
1754 (block::end_with_return): Likewise.
kono
parents:
diff changeset
1755 (global::visit_children): New function.
kono
parents:
diff changeset
1756 (memento_of_new_rvalue_from_const<HOST_TYPE>::visit_children):
kono
parents:
diff changeset
1757 New function.
kono
parents:
diff changeset
1758 (memento_of_new_string_literal::visit_children): New function.
kono
parents:
diff changeset
1759 (unary_op::visit_children): New function.
kono
parents:
diff changeset
1760 (binary_op::visit_children): New function.
kono
parents:
diff changeset
1761 (comparison::visit_children): New function.
kono
parents:
diff changeset
1762 (cast::visit_children): New function.
kono
parents:
diff changeset
1763 (call::visit_children): New function.
kono
parents:
diff changeset
1764 (call_through_ptr::visit_children): New function.
kono
parents:
diff changeset
1765 (array_access::visit_children): New function.
kono
parents:
diff changeset
1766 (access_field_of_lvalue::visit_children): New function.
kono
parents:
diff changeset
1767 (access_field_rvalue::visit_children): New function.
kono
parents:
diff changeset
1768 (dereference_field_rvalue::visit_children): New function.
kono
parents:
diff changeset
1769 (dereference_rvalue::visit_children): New function.
kono
parents:
diff changeset
1770 (get_address_of_lvalue::visit_children): New function.
kono
parents:
diff changeset
1771 (local::local): Call set_scope.
kono
parents:
diff changeset
1772 (local::visit_children): New function.
kono
parents:
diff changeset
1773 (statement::get_block): Make public.
kono
parents:
diff changeset
1774 * libgccjit.c (RETURN_VAL_IF_FAIL_PRINTF5): New macro.
kono
parents:
diff changeset
1775 (RETURN_NULL_IF_FAIL_PRINTF5): New macro.
kono
parents:
diff changeset
1776 (gcc_jit_context_new_function): Verify that each param has
kono
parents:
diff changeset
1777 not yet been used for creating another function.
kono
parents:
diff changeset
1778 (gcc_jit_block_add_eval): After creating the stmt, verify
kono
parents:
diff changeset
1779 that the rvalue expression tree is valid to use within it.
kono
parents:
diff changeset
1780 (gcc_jit_block_add_assignment): Likewise for the lvalue and
kono
parents:
diff changeset
1781 rvalue expression trees.
kono
parents:
diff changeset
1782 (gcc_jit_block_add_assignment_op): Likewise.
kono
parents:
diff changeset
1783 (gcc_jit_block_end_with_conditional): Likewise for the boolval
kono
parents:
diff changeset
1784 expression tree.
kono
parents:
diff changeset
1785 (gcc_jit_block_end_with_return): Likewise for the rvalue
kono
parents:
diff changeset
1786 expression tree.
kono
parents:
diff changeset
1787 (gcc_jit_block_end_with_void_return): Remove return of "void",
kono
parents:
diff changeset
1788 now that block::end_with_return is now non-void.
kono
parents:
diff changeset
1789
kono
parents:
diff changeset
1790 2015-01-12 David Malcolm <dmalcolm@redhat.com>
kono
parents:
diff changeset
1791
kono
parents:
diff changeset
1792 * jit-playback.c (gcc::jit::playback::context::read_dump_file):
kono
parents:
diff changeset
1793 Add missing fclose on error-handling path.
kono
parents:
diff changeset
1794
kono
parents:
diff changeset
1795 2015-01-12 David Malcolm <dmalcolm@redhat.com>
kono
parents:
diff changeset
1796
kono
parents:
diff changeset
1797 * docs/cp/topics/expressions.rst (Global variables): Add
kono
parents:
diff changeset
1798 enum gcc_jit_global_kind param to gccjit::context::new_global.
kono
parents:
diff changeset
1799 * docs/topics/expressions.rst (Global variables): Likewise.
kono
parents:
diff changeset
1800 Document the new enum.
kono
parents:
diff changeset
1801 * docs/topics/results.rst (Compilation results): Document
kono
parents:
diff changeset
1802 globals-handling.
kono
parents:
diff changeset
1803 * docs/_build/texinfo/libgccjit.texi: Regenerate.
kono
parents:
diff changeset
1804 * dummy-frontend.c (jit_langhook_write_globals): Call into the
kono
parents:
diff changeset
1805 playback context's write_global_decls_1 and write_global_decls_2
kono
parents:
diff changeset
1806 before and after calling symtab->finalize_compilation_unit ().
kono
parents:
diff changeset
1807 * jit-playback.c: Include "debug.h".
kono
parents:
diff changeset
1808 (gcc::jit::playback::context::new_global): Add "kind" param and
kono
parents:
diff changeset
1809 use it to set TREE_PUBLIC, TREE_STATIC and DECL_EXTERNAL on the
kono
parents:
diff changeset
1810 underlying VAR_DECL. Call varpool_node::get_create on the
kono
parents:
diff changeset
1811 VAR_DECL, and add it to m_globals.
kono
parents:
diff changeset
1812 (gcc::jit::playback::context::write_global_decls_1): New function.
kono
parents:
diff changeset
1813 (gcc::jit::playback::context::write_global_decls_2): New function.
kono
parents:
diff changeset
1814 * jit-playback.h (gcc::jit::playback::context::context): Call
kono
parents:
diff changeset
1815 create on m_globals.
kono
parents:
diff changeset
1816 (gcc::jit::playback::context::new_global): Add "kind" param.
kono
parents:
diff changeset
1817 (gcc::jit::playback::context::write_global_decls_1): New function.
kono
parents:
diff changeset
1818 (gcc::jit::playback::context::write_global_decls_2): New function.
kono
parents:
diff changeset
1819 (gcc::jit::playback::context::m_globals): New field.
kono
parents:
diff changeset
1820 * jit-recording.c (gcc::jit::recording::context::context):
kono
parents:
diff changeset
1821 Initialize m_globals.
kono
parents:
diff changeset
1822 (gcc::jit::recording::context::new_global): Add param "kind".
kono
parents:
diff changeset
1823 Add the new global to m_globals.
kono
parents:
diff changeset
1824 (gcc::jit::recording::context::dump_to_file): Dump the globals.
kono
parents:
diff changeset
1825 (gcc::jit::recording::global::replay_into): Add field m_kind.
kono
parents:
diff changeset
1826 (gcc::jit::recording::global::write_to_dump): New override.
kono
parents:
diff changeset
1827 * jit-recording.h (gcc::jit::recording::context::new_global): Add
kono
parents:
diff changeset
1828 param "kind".
kono
parents:
diff changeset
1829 (gcc::jit::recording::context::m_globals): New field.
kono
parents:
diff changeset
1830 (gcc::jit::recording::global::global): Add param kind.
kono
parents:
diff changeset
1831 (gcc::jit::recording::global::write_to_dump): New override.
kono
parents:
diff changeset
1832 (gcc::jit::recording::global::m_kind): New field.
kono
parents:
diff changeset
1833 * jit-result.c (gcc::jit::result::get_global): New function.
kono
parents:
diff changeset
1834 * jit-result.h (gcc::jit::result::get_global): New function.
kono
parents:
diff changeset
1835 * libgccjit++.h (gccjit::context::new_global): Add "kind" param.
kono
parents:
diff changeset
1836 * libgccjit.c (gcc_jit_context_new_global): Likewise.
kono
parents:
diff changeset
1837 (gcc_jit_result_get_global): New API entrypoint.
kono
parents:
diff changeset
1838 * libgccjit.h (gcc_jit_result_get_global): New API entrypoint.
kono
parents:
diff changeset
1839 (enum gcc_jit_global_kind): New enum.
kono
parents:
diff changeset
1840 (gcc_jit_context_new_global): API change: add "kind" param.
kono
parents:
diff changeset
1841 * libgccjit.map (gcc_jit_result_get_global): New symbol.
kono
parents:
diff changeset
1842
kono
parents:
diff changeset
1843 2015-01-09 David Malcolm <dmalcolm@redhat.com>
kono
parents:
diff changeset
1844
kono
parents:
diff changeset
1845 * dummy-frontend.c: Include "fixed-value.h", "alias.h", "flags.h",
kono
parents:
diff changeset
1846 "symtab.h", "inchash.h". Move include of "hash-set.h" much
kono
parents:
diff changeset
1847 earlier.
kono
parents:
diff changeset
1848 * jit-builtins.c: Remove redundant includes of "opts.h" and
kono
parents:
diff changeset
1849 "tree.h".
kono
parents:
diff changeset
1850 * jit-common.h: Include "hash-set.h", "input.h", "vec.h",
kono
parents:
diff changeset
1851 "double-int.h", "alias.h", "flags.h", "symtab.h", "inchash.h".
kono
parents:
diff changeset
1852 * jit-playback.c: Include "hashtab.h", "machmode.h", "input.h",
kono
parents:
diff changeset
1853 "statistics.h", "vec.h", "double-int.h", "real.h",
kono
parents:
diff changeset
1854 "fixed-value.h", "alias.h", "flags.h", "symtab.h", "tree-core.h",
kono
parents:
diff changeset
1855 "inchash.h", "fold-const.h". Move include of "hash-set.h" to
kono
parents:
diff changeset
1856 earlier.
kono
parents:
diff changeset
1857 * jit-recording.c: Remove redundant includes of "opts.h" and
kono
parents:
diff changeset
1858 "tree.h".
kono
parents:
diff changeset
1859
kono
parents:
diff changeset
1860 2015-01-09 David Malcolm <dmalcolm@redhat.com>
kono
parents:
diff changeset
1861
kono
parents:
diff changeset
1862 * docs/cp/topics/expressions.rst (Simple expressions): Use
kono
parents:
diff changeset
1863 ":c:type:" for C types. Document new overload of
kono
parents:
diff changeset
1864 gcc::jit::context::new_rvalue.
kono
parents:
diff changeset
1865 * docs/topics/expressions.rst (Simple expressions): Use
kono
parents:
diff changeset
1866 ":c:type:" for C types. Document new entrypoint
kono
parents:
diff changeset
1867 gcc_jit_context_new_rvalue_from_long.
kono
parents:
diff changeset
1868 * docs/_build/texinfo/libgccjit.texi: Regenerate.
kono
parents:
diff changeset
1869 * jit-playback.c: Within namespace gcc::jit::playback...
kono
parents:
diff changeset
1870 (context::new_rvalue_from_int): Eliminate in favor of...
kono
parents:
diff changeset
1871 (context::new_rvalue_from_const <int>): ...this.
kono
parents:
diff changeset
1872 (context::new_rvalue_from_double): Eliminate in favor of...
kono
parents:
diff changeset
1873 (context::new_rvalue_from_const <double>): ...this.
kono
parents:
diff changeset
1874 (context::new_rvalue_from_const <long>): New.
kono
parents:
diff changeset
1875 (context::new_rvalue_from_ptr): Eliminate in favor of...
kono
parents:
diff changeset
1876 (context::new_rvalue_from_const <void *>): ...this.
kono
parents:
diff changeset
1877 * jit-playback.h: Within namespace gcc::jit::playback...
kono
parents:
diff changeset
1878 (context::new_rvalue_from_int): Eliminate in favor of...
kono
parents:
diff changeset
1879 (context::new_rvalue_from_const <HOST_TYPE>): ...this.
kono
parents:
diff changeset
1880 (context::new_rvalue_from_double): Likewise.
kono
parents:
diff changeset
1881 (context::new_rvalue_from_ptr): Likewise.
kono
parents:
diff changeset
1882 * jit-recording.c: Within namespace gcc::jit::recording...
kono
parents:
diff changeset
1883 (context::new_rvalue_from_int): Eliminate.
kono
parents:
diff changeset
1884 (context::new_rvalue_from_double): Likewise.
kono
parents:
diff changeset
1885 (context::new_rvalue_from_ptr): Likewise.
kono
parents:
diff changeset
1886 (class memento_of_new_rvalue_from_const <int>):
kono
parents:
diff changeset
1887 Add explicit specialization.
kono
parents:
diff changeset
1888 (class memento_of_new_rvalue_from_const <long>):
kono
parents:
diff changeset
1889 Likewise.
kono
parents:
diff changeset
1890 (class memento_of_new_rvalue_from_const <double>):
kono
parents:
diff changeset
1891 Likewise.
kono
parents:
diff changeset
1892 (class memento_of_new_rvalue_from_const <void *>):
kono
parents:
diff changeset
1893 Likewise.
kono
parents:
diff changeset
1894 (memento_of_new_rvalue_from_int::replay_into):
kono
parents:
diff changeset
1895 Generalize into...
kono
parents:
diff changeset
1896 (memento_of_new_rvalue_from_const <HOST_TYPE>::replay_into):
kono
parents:
diff changeset
1897 ...this...
kono
parents:
diff changeset
1898 (memento_of_new_rvalue_from_double::replay_into):
kono
parents:
diff changeset
1899 ...allowing this...
kono
parents:
diff changeset
1900 (memento_of_new_rvalue_from_ptr::replay_into):
kono
parents:
diff changeset
1901 ...and this to be deleted.
kono
parents:
diff changeset
1902 (memento_of_new_rvalue_from_int::make_debug_string):
kono
parents:
diff changeset
1903 Convert to...
kono
parents:
diff changeset
1904 (memento_of_new_rvalue_from_const <int>::make_debug_string):
kono
parents:
diff changeset
1905 ...this.
kono
parents:
diff changeset
1906 (memento_of_new_rvalue_from_double::make_debug_string):
kono
parents:
diff changeset
1907 Convert to...
kono
parents:
diff changeset
1908 (memento_of_new_rvalue_from_const <double>::make_debug_string):
kono
parents:
diff changeset
1909 ...this.
kono
parents:
diff changeset
1910 (memento_of_new_rvalue_from_ptr::make_debug_string)
kono
parents:
diff changeset
1911 Convert to...
kono
parents:
diff changeset
1912 (memento_of_new_rvalue_from_const <void *>::make_debug_string):
kono
parents:
diff changeset
1913 ...this.
kono
parents:
diff changeset
1914 (memento_of_new_rvalue_from_const <long>::make_debug_string):
kono
parents:
diff changeset
1915 New function.
kono
parents:
diff changeset
1916 * jit-recording.h: Within namespace gcc::jit::recording...
kono
parents:
diff changeset
1917 (context::new_rvalue_from_int): Eliminate.
kono
parents:
diff changeset
1918 (context::new_rvalue_from_double): Likewise.
kono
parents:
diff changeset
1919 (context::new_rvalue_from_ptr): Likewise, all in favor of...
kono
parents:
diff changeset
1920 (context::new_rvalue_from_const <HOST_TYPE>): New family of
kono
parents:
diff changeset
1921 methods.
kono
parents:
diff changeset
1922 (class memento_of_new_rvalue_from_int): Eliminate.
kono
parents:
diff changeset
1923 (class memento_of_new_rvalue_from_double): Likewise.
kono
parents:
diff changeset
1924 (class memento_of_new_rvalue_from_ptr): Likewise.
kono
parents:
diff changeset
1925 (class memento_of_new_rvalue_from_const <HOST_TYPE>): New family
kono
parents:
diff changeset
1926 of rvalue subclasses.
kono
parents:
diff changeset
1927 * libgccjit++.h (gccjit::context::new_rvalue): New overload, for
kono
parents:
diff changeset
1928 "long".
kono
parents:
diff changeset
1929 * libgccjit.c (gcc_jit_context_new_rvalue_from_int): Update for
kono
parents:
diff changeset
1930 rewriting of recording::context::new_rvalue_from_int to
kono
parents:
diff changeset
1931 recording::context::new_rvalue_from_const <int>.
kono
parents:
diff changeset
1932 (gcc_jit_context_new_rvalue_from_long): New API entrypoint.
kono
parents:
diff changeset
1933 (gcc_jit_context_new_rvalue_from_double): Update for
kono
parents:
diff changeset
1934 rewriting of recording::context::new_rvalue_from_double to
kono
parents:
diff changeset
1935 recording::context::new_rvalue_from_const <double>.
kono
parents:
diff changeset
1936 (gcc_jit_context_new_rvalue_from_ptr): Update for
kono
parents:
diff changeset
1937 rewriting of recording::context::new_rvalue_from_ptr to
kono
parents:
diff changeset
1938 recording::context::new_rvalue_from_const <void *>.
kono
parents:
diff changeset
1939 * libgccjit.h (gcc_jit_context_new_rvalue_from_long): New API
kono
parents:
diff changeset
1940 entrypoint.
kono
parents:
diff changeset
1941 * libgccjit.map (gcc_jit_context_new_rvalue_from_long): Likewise.
kono
parents:
diff changeset
1942
kono
parents:
diff changeset
1943 2015-01-09 David Malcolm <dmalcolm@redhat.com>
kono
parents:
diff changeset
1944
kono
parents:
diff changeset
1945 PR jit/64206
kono
parents:
diff changeset
1946 * docs/internals/test-hello-world.exe.log.txt: Update, the log now
kono
parents:
diff changeset
1947 shows tempdir creation/cleanup.
kono
parents:
diff changeset
1948 * docs/_build/texinfo/libgccjit.texi: Regenerate.
kono
parents:
diff changeset
1949 * jit-logging.h (class gcc::jit::log_user): Add gcc::jit::tempdir
kono
parents:
diff changeset
1950 to the list of subclasses in the comment.
kono
parents:
diff changeset
1951 * jit-playback.c (gcc::jit::playback::context::context): Add a
kono
parents:
diff changeset
1952 comment clarifying when the tempdir gets cleaned up.
kono
parents:
diff changeset
1953 (gcc::jit::playback::context::compile): Pass the context's logger,
kono
parents:
diff changeset
1954 if any, to the tempdir.
kono
parents:
diff changeset
1955 (gcc::jit::playback::context::dlopen_built_dso): When creating the
kono
parents:
diff changeset
1956 gcc::jit::result, if GCC_JIT_BOOL_OPTION_DEBUGINFO is set, hand
kono
parents:
diff changeset
1957 over ownership of the tempdir to it.
kono
parents:
diff changeset
1958 * jit-result.c: Include "jit-tempdir.h".
kono
parents:
diff changeset
1959 (gcc::jit::result::result): Add tempdir param, saving it as
kono
parents:
diff changeset
1960 m_tempdir.
kono
parents:
diff changeset
1961 (gcc::jit::result::~result): Delete m_tempdir.
kono
parents:
diff changeset
1962 * jit-result.h (gcc::jit::result::result): Add tempdir param.
kono
parents:
diff changeset
1963 (gcc::jit::result::m_tempdir): New field.
kono
parents:
diff changeset
1964 * jit-tempdir.c (gcc::jit::tempdir::tempdir): Add logger param;
kono
parents:
diff changeset
1965 add JIT_LOG_SCOPE.
kono
parents:
diff changeset
1966 (gcc::jit::tempdir::create): Add JIT_LOG_SCOPE to log entry/exit,
kono
parents:
diff changeset
1967 and log m_path_template and m_path_tempdir.
kono
parents:
diff changeset
1968 (gcc::jit::tempdir::~tempdir): Add JIT_LOG_SCOPE to log
kono
parents:
diff changeset
1969 entry/exit, and log the unlink and rmdir calls.
kono
parents:
diff changeset
1970 * jit-tempdir.h: Include "jit-logging.h".
kono
parents:
diff changeset
1971 (class gcc::jit::tempdir): Make this be a subclass of log_user.
kono
parents:
diff changeset
1972 (gcc::jit::tempdir::tempdir): Add logger param.
kono
parents:
diff changeset
1973 * notes.txt: Update to show the two possible places where the
kono
parents:
diff changeset
1974 tempdir can be cleaned up.
kono
parents:
diff changeset
1975
kono
parents:
diff changeset
1976 2015-01-08 David Malcolm <dmalcolm@redhat.com>
kono
parents:
diff changeset
1977
kono
parents:
diff changeset
1978 * libgccjit.h (struct gcc_jit_context): Rewrite the descriptive
kono
parents:
diff changeset
1979 comment.
kono
parents:
diff changeset
1980
kono
parents:
diff changeset
1981 2015-01-08 David Malcolm <dmalcolm@redhat.com>
kono
parents:
diff changeset
1982
kono
parents:
diff changeset
1983 * docs/topics/contexts.rst (Error-handling): Document new
kono
parents:
diff changeset
1984 entrypoint gcc_jit_context_get_last_error.
kono
parents:
diff changeset
1985 * docs/_build/texinfo/libgccjit.texi: Regenerate.
kono
parents:
diff changeset
1986 * jit-recording.c (gcc::jit::recording::context::context):
kono
parents:
diff changeset
1987 Initialize new fields "m_last_error_str" and
kono
parents:
diff changeset
1988 "m_owns_last_error_str".
kono
parents:
diff changeset
1989 (gcc::jit::recording::context::~context): Clean up
kono
parents:
diff changeset
1990 m_last_error_str, if needed.
kono
parents:
diff changeset
1991 (gcc::jit::recording::context::add_error_va): Update
kono
parents:
diff changeset
1992 m_last_error_str and m_owns_last_error_str, freeing the old
kono
parents:
diff changeset
1993 value if appropriate.
kono
parents:
diff changeset
1994 (gcc::jit::recording::context::get_last_error): New function.
kono
parents:
diff changeset
1995 * jit-recording.h (gcc::jit::recording::context::get_last_error):
kono
parents:
diff changeset
1996 New function.
kono
parents:
diff changeset
1997 (gcc::jit::recording::context): New fields m_last_error_str and
kono
parents:
diff changeset
1998 m_owns_last_error_str.
kono
parents:
diff changeset
1999 * libgccjit.c (gcc_jit_context_get_last_error): New function.
kono
parents:
diff changeset
2000 * libgccjit.h (gcc_jit_context_get_last_error): New declaration.
kono
parents:
diff changeset
2001 * libgccjit.map (gcc_jit_context_get_last_error): New function.
kono
parents:
diff changeset
2002
kono
parents:
diff changeset
2003 2015-01-08 David Malcolm <dmalcolm@redhat.com>
kono
parents:
diff changeset
2004
kono
parents:
diff changeset
2005 * Make-lang.in (jit_OBJS): Add jit/jit-logging.o.
kono
parents:
diff changeset
2006 * docs/internals/index.rst (Overview of code structure): Mention
kono
parents:
diff changeset
2007 gcc_jit_context_set_logfile, and embed the example logfile.
kono
parents:
diff changeset
2008 * docs/internals/test-hello-world.exe.log.txt: New file: example
kono
parents:
diff changeset
2009 of a logfile.
kono
parents:
diff changeset
2010 * docs/topics/contexts.rst (Debugging): Add documentation
kono
parents:
diff changeset
2011 for gcc_jit_context_set_logfile.
kono
parents:
diff changeset
2012 * docs/_build/texinfo/libgccjit.texi: Regenerate.
kono
parents:
diff changeset
2013 * dummy-frontend.c: Include "jit-logging.h".
kono
parents:
diff changeset
2014 (jit_langhook_init): Assert that there is an active playback
kono
parents:
diff changeset
2015 context. If it has a logger, log entry/exit to this function.
kono
parents:
diff changeset
2016 (jit_langhook_write_globals): Likewise.
kono
parents:
diff changeset
2017 * jit-common.h (gcc::jit::logger): New forward declaration.
kono
parents:
diff changeset
2018 * jit-logging.c: New file.
kono
parents:
diff changeset
2019 * jit-logging.h: New file.
kono
parents:
diff changeset
2020 * jit-playback.c: Include "jit-logging.h".
kono
parents:
diff changeset
2021 (gcc::jit::playback::context::context): Initialize the log_user
kono
parents:
diff changeset
2022 base class from the recording context's logger (if any). Use
kono
parents:
diff changeset
2023 JIT_LOG_SCOPE to log entry/exit from the function body.
kono
parents:
diff changeset
2024 (gcc::jit::playback::context::~context): Use JIT_LOG_SCOPE to
kono
parents:
diff changeset
2025 log entry/exit from the function body.
kono
parents:
diff changeset
2026 (gcc::jit::playback::build_stmt_list): Likewise.
kono
parents:
diff changeset
2027 (gcc::jit::playback::function::postprocess): Likewise.
kono
parents:
diff changeset
2028 (gcc::jit::playback::context::compile): Likewise. Log the
kono
parents:
diff changeset
2029 entry/exit to toplev::main and toplev::finalize. Log the
kono
parents:
diff changeset
2030 fake argv passed to toplev::main.
kono
parents:
diff changeset
2031 (gcc::jit::playback::context::acquire_mutex): Use JIT_LOG_SCOPE to
kono
parents:
diff changeset
2032 log entry/exit from the function body.
kono
parents:
diff changeset
2033 (gcc::jit::playback::context::release_mutex): Likewise.
kono
parents:
diff changeset
2034 (gcc::jit::playback::context::make_fake_args): Likewise.
kono
parents:
diff changeset
2035 (gcc::jit::playback::context::extract_any_requested_dumps):
kono
parents:
diff changeset
2036 Likewise.
kono
parents:
diff changeset
2037 (gcc::jit::playback::context::convert_to_dso): Likewise. Also,
kono
parents:
diff changeset
2038 log the arguments that the driver is invoked with.
kono
parents:
diff changeset
2039 (gcc::jit::playback::context::dlopen_built_dso): Likewise. Pass
kono
parents:
diff changeset
2040 the logger to the result object.
kono
parents:
diff changeset
2041 (gcc::jit::playback::context::replay): Use JIT_LOG_SCOPE to
kono
parents:
diff changeset
2042 log entry/exit from the function body.
kono
parents:
diff changeset
2043 (gcc::jit::playback::context::dump_generated_code): Likewise.
kono
parents:
diff changeset
2044 (gcc::jit::playback::context::handle_locations): Likewise.
kono
parents:
diff changeset
2045 * jit-playback.h (gcc::jit::playback::context): Make this be
kono
parents:
diff changeset
2046 a subclass of gcc::jit::log_user.
kono
parents:
diff changeset
2047 * jit-recording.c: Include "jit-logging.h".
kono
parents:
diff changeset
2048 (gcc::jit::recording::context::context: Initialize the logger to
kono
parents:
diff changeset
2049 NULL for root contexts, or to the parent's logger for child
kono
parents:
diff changeset
2050 contexts.
kono
parents:
diff changeset
2051 (gcc::jit::recording::context::~context): Use JIT_LOG_SCOPE to
kono
parents:
diff changeset
2052 log entry/exit from the function body.
kono
parents:
diff changeset
2053 (gcc::jit::recording::context::replay_into): Likewise.
kono
parents:
diff changeset
2054 (gcc::jit::recording::context::disassociate_from_playback):
kono
parents:
diff changeset
2055 Likewise.
kono
parents:
diff changeset
2056 (gcc::jit::recording::context::compile): Likewise.
kono
parents:
diff changeset
2057 (recording::context::add_error_va): Likewise. Also, log the
kono
parents:
diff changeset
2058 error.
kono
parents:
diff changeset
2059 (gcc::jit::recording::context::validate): Use JIT_LOG_SCOPE to
kono
parents:
diff changeset
2060 log entry/exit from the function body.
kono
parents:
diff changeset
2061 * jit-recording.h: Include "jit-logging.h".
kono
parents:
diff changeset
2062 (gcc::jit::recording::context): Make this be a subclass of
kono
parents:
diff changeset
2063 gcc::jit::log_user.
kono
parents:
diff changeset
2064 * jit-result.c: Include "jit-common.h" and "jit-logging.h".
kono
parents:
diff changeset
2065 (gcc::jit::result::result): Add logger param, recording it.
kono
parents:
diff changeset
2066 Use JIT_LOG_SCOPE to log entry/exit from the function body.
kono
parents:
diff changeset
2067 (gcc::jit::result::~result(): Use JIT_LOG_SCOPE to
kono
parents:
diff changeset
2068 log entry/exit from the function body.
kono
parents:
diff changeset
2069 (gcc::jit::result::get_code): Likewise.
kono
parents:
diff changeset
2070 * jit-result.h (gcc::jit::result): Make this be a subclass of
kono
parents:
diff changeset
2071 gcc::jit::log_user.
kono
parents:
diff changeset
2072 (gcc::jit::result::result): Add logger parameter.
kono
parents:
diff changeset
2073 * libgccjit++.h (gccjit::context::set_logfile): New function.
kono
parents:
diff changeset
2074 * libgccjit.c: Include "jit-logging.h".
kono
parents:
diff changeset
2075 (gcc_jit_context_acquire): Log the context.
kono
parents:
diff changeset
2076 (gcc_jit_context_release): Use JIT_LOG_FUNC to
kono
parents:
diff changeset
2077 log entry/exit from the function body, and log the context.
kono
parents:
diff changeset
2078 (gcc_jit_context_new_child_context): Likewise, logging both
kono
parents:
diff changeset
2079 contexts.
kono
parents:
diff changeset
2080 (gcc_jit_context_new_location): Use JIT_LOG_FUNC to
kono
parents:
diff changeset
2081 log entry/exit from the function body.
kono
parents:
diff changeset
2082 (gcc_jit_context_get_type): Likewise.
kono
parents:
diff changeset
2083 (gcc_jit_context_get_int_type): Likewise.
kono
parents:
diff changeset
2084 (gcc_jit_context_new_array_type): Likewise.
kono
parents:
diff changeset
2085 (gcc_jit_context_new_field): Likewise.
kono
parents:
diff changeset
2086 (gcc_jit_context_new_struct_type): Likewise.
kono
parents:
diff changeset
2087 (gcc_jit_context_new_opaque_struct): Likewise.
kono
parents:
diff changeset
2088 (gcc_jit_struct_set_fields): Likewise.
kono
parents:
diff changeset
2089 (gcc_jit_context_new_union_type): Likewise.
kono
parents:
diff changeset
2090 (gcc_jit_context_new_function_ptr_type): Likewise.
kono
parents:
diff changeset
2091 (gcc_jit_context_new_param): Likewise.
kono
parents:
diff changeset
2092 (gcc_jit_context_new_function): Likewise.
kono
parents:
diff changeset
2093 (gcc_jit_context_get_builtin_function): Likewise.
kono
parents:
diff changeset
2094 (gcc_jit_function_get_param): Likewise.
kono
parents:
diff changeset
2095 (gcc_jit_function_dump_to_dot): Likewise.
kono
parents:
diff changeset
2096 (gcc_jit_function_new_block): Likewise.
kono
parents:
diff changeset
2097 (gcc_jit_context_new_global): Likewise.
kono
parents:
diff changeset
2098 (gcc_jit_context_new_rvalue_from_int): Likewise.
kono
parents:
diff changeset
2099 (gcc_jit_context_zero): Likewise.
kono
parents:
diff changeset
2100 (gcc_jit_context_one): Likewise.
kono
parents:
diff changeset
2101 (gcc_jit_context_new_rvalue_from_double): Likewise.
kono
parents:
diff changeset
2102 (gcc_jit_context_new_rvalue_from_ptr): Likewise.
kono
parents:
diff changeset
2103 (gcc_jit_context_null): Likewise.
kono
parents:
diff changeset
2104 (gcc_jit_context_new_string_literal): Likewise.
kono
parents:
diff changeset
2105 (gcc_jit_context_new_unary_op): Likewise.
kono
parents:
diff changeset
2106 (gcc_jit_context_new_binary_op): Likewise.
kono
parents:
diff changeset
2107 (gcc_jit_context_new_comparison): Likewise.
kono
parents:
diff changeset
2108 (gcc_jit_context_new_call): Likewise.
kono
parents:
diff changeset
2109 (gcc_jit_context_new_call_through_ptr): Likewise.
kono
parents:
diff changeset
2110 (gcc_jit_context_new_cast): Likewise.
kono
parents:
diff changeset
2111 (gcc_jit_context_new_array_access): Likewise.
kono
parents:
diff changeset
2112 (gcc_jit_lvalue_access_field): Likewise.
kono
parents:
diff changeset
2113 (gcc_jit_rvalue_access_field): Likewise.
kono
parents:
diff changeset
2114 (gcc_jit_rvalue_dereference_field): Likewise.
kono
parents:
diff changeset
2115 (gcc_jit_rvalue_dereference): Likewise.
kono
parents:
diff changeset
2116 (gcc_jit_lvalue_get_address): Likewise.
kono
parents:
diff changeset
2117 (gcc_jit_function_new_local): Likewise.
kono
parents:
diff changeset
2118 (gcc_jit_block_add_eval): Likewise.
kono
parents:
diff changeset
2119 (gcc_jit_block_add_assignment): Likewise.
kono
parents:
diff changeset
2120 (gcc_jit_block_add_assignment_op): Likewise.
kono
parents:
diff changeset
2121 (gcc_jit_block_end_with_conditional): Likewise.
kono
parents:
diff changeset
2122 (gcc_jit_block_add_comment): Likewise.
kono
parents:
diff changeset
2123 (gcc_jit_block_end_with_jump): Likewise.
kono
parents:
diff changeset
2124 (gcc_jit_block_end_with_return): Likewise.
kono
parents:
diff changeset
2125 (gcc_jit_block_end_with_void_return): Likewise.
kono
parents:
diff changeset
2126 (gcc_jit_context_set_str_option): Likewise.
kono
parents:
diff changeset
2127 (gcc_jit_context_set_int_option): Likewise.
kono
parents:
diff changeset
2128 (gcc_jit_context_set_bool_option): Likewise.
kono
parents:
diff changeset
2129 (gcc_jit_context_enable_dump): Likewise.
kono
parents:
diff changeset
2130 (gcc_jit_context_compile): Likewise. Also log the context,
kono
parents:
diff changeset
2131 and the result.
kono
parents:
diff changeset
2132 (gcc_jit_context_dump_to_file): Likewise.
kono
parents:
diff changeset
2133 (gcc_jit_context_set_logfile): New function.
kono
parents:
diff changeset
2134 (gcc_jit_context_get_first_error): Use JIT_LOG_FUNC to
kono
parents:
diff changeset
2135 log entry/exit from the function body.
kono
parents:
diff changeset
2136 (gcc_jit_result_get_code): Likewise. Also log the fnname)
kono
parents:
diff changeset
2137 and the ptr to be returned.
kono
parents:
diff changeset
2138 (gcc_jit_result_release): Likewise. Also log the result.
kono
parents:
diff changeset
2139 * libgccjit.h: Include <stdio.h>, since we need FILE *.
kono
parents:
diff changeset
2140 (gcc_jit_context_set_logfile): New declaration.
kono
parents:
diff changeset
2141 * libgccjit.map (gcc_jit_context_set_logfile): New.
kono
parents:
diff changeset
2142
kono
parents:
diff changeset
2143 2015-01-07 David Malcolm <dmalcolm@redhat.com>
kono
parents:
diff changeset
2144
kono
parents:
diff changeset
2145 * jit-recording.h (gcc::jit::recording::type::is_void): New
kono
parents:
diff changeset
2146 virtual function.
kono
parents:
diff changeset
2147 (gcc::jit::recording::memento_of_get_type::is_void): New
kono
parents:
diff changeset
2148 function, overriding default implementation.
kono
parents:
diff changeset
2149 * libgccjit.c (gcc_jit_rvalue_dereference): Verify that
kono
parents:
diff changeset
2150 the underlying type is not "void".
kono
parents:
diff changeset
2151
kono
parents:
diff changeset
2152 2015-01-07 David Malcolm <dmalcolm@redhat.com>
kono
parents:
diff changeset
2153
kono
parents:
diff changeset
2154 * docs/topics/expressions.rst (Unary Operations): Add
kono
parents:
diff changeset
2155 GCC_JIT_UNARY_OP_ABS.
kono
parents:
diff changeset
2156 * jit-playback.c (gcc::jit::playback::context::new_unary_op):
kono
parents:
diff changeset
2157 Likewise.
kono
parents:
diff changeset
2158 * jit-recording.c (unary_op_strings): Likewise.
kono
parents:
diff changeset
2159 * libgccjit.c (gcc_jit_context_new_unary_op): Update checking
kono
parents:
diff changeset
2160 of "op" to reflect addition of GCC_JIT_UNARY_OP_ABS.
kono
parents:
diff changeset
2161 * libgccjit.h (enum gcc_jit_unary_op): Add GCC_JIT_UNARY_OP_ABS.
kono
parents:
diff changeset
2162 * docs/_build/texinfo/libgccjit.texi: Regenerate.
kono
parents:
diff changeset
2163
kono
parents:
diff changeset
2164 2015-01-07 David Malcolm <dmalcolm@redhat.com>
kono
parents:
diff changeset
2165
kono
parents:
diff changeset
2166 * jit-recording.h (gcc::jit::recording::memento_of_get_type): Fix
kono
parents:
diff changeset
2167 typo in comment.
kono
parents:
diff changeset
2168
kono
parents:
diff changeset
2169 2015-01-07 David Malcolm <dmalcolm@redhat.com>
kono
parents:
diff changeset
2170
kono
parents:
diff changeset
2171 * TODO.rst (Test suite): Remove item about running C++ testcases.
kono
parents:
diff changeset
2172 * docs/internals/index.rst (Working on the JIT library): Add
kono
parents:
diff changeset
2173 "c++" to the enabled languages in the suggested "configure"
kono
parents:
diff changeset
2174 invocation, and add a description of why this is necessary.
kono
parents:
diff changeset
2175 * docs/_build/texinfo/libgccjit.texi: Regenerate.
kono
parents:
diff changeset
2176
kono
parents:
diff changeset
2177 2015-01-07 David Malcolm <dmalcolm@redhat.com>
kono
parents:
diff changeset
2178
kono
parents:
diff changeset
2179 * docs/internals/index.rst: Update to reflect that built
kono
parents:
diff changeset
2180 testcases are now test-foo.c.exe, rather than test-foo.exe.
kono
parents:
diff changeset
2181 * docs/_build/texinfo/libgccjit.texi: Regenerate.
kono
parents:
diff changeset
2182
kono
parents:
diff changeset
2183 2015-01-05 Jakub Jelinek <jakub@redhat.com>
kono
parents:
diff changeset
2184
kono
parents:
diff changeset
2185 Update copyright years.
kono
parents:
diff changeset
2186
kono
parents:
diff changeset
2187 2014-12-19 David Malcolm <dmalcolm@redhat.com>
kono
parents:
diff changeset
2188
kono
parents:
diff changeset
2189 * jit-playback.c (gcc::jit::playback::context::build_cast): In
kono
parents:
diff changeset
2190 case BOOLEAN_TYPE, don't assume that the source expression is
kono
parents:
diff changeset
2191 of type "int".
kono
parents:
diff changeset
2192
kono
parents:
diff changeset
2193 2014-12-19 David Malcolm <dmalcolm@redhat.com>
kono
parents:
diff changeset
2194
kono
parents:
diff changeset
2195 * jit-recording.c (gcc::jit::recording::context::context): When
kono
parents:
diff changeset
2196 copying string options from a parent context, take a copy of the
kono
parents:
diff changeset
2197 underlying buffers, rather than simply copying the pointer.
kono
parents:
diff changeset
2198
kono
parents:
diff changeset
2199 2014-12-19 David Malcolm <dmalcolm@redhat.com>
kono
parents:
diff changeset
2200
kono
parents:
diff changeset
2201 * jit-recording.c (gcc::jit::recording::context::set_str_option):
kono
parents:
diff changeset
2202 Handle NULL.
kono
parents:
diff changeset
2203
kono
parents:
diff changeset
2204 2014-12-11 David Malcolm <dmalcolm@redhat.com>
kono
parents:
diff changeset
2205
kono
parents:
diff changeset
2206 * docs/cp/topics/contexts.rst (gccjit::context::set_str_option):
kono
parents:
diff changeset
2207 Document new function.
kono
parents:
diff changeset
2208 * docs/_build/texinfo/libgccjit.texi: Regenerate.
kono
parents:
diff changeset
2209
kono
parents:
diff changeset
2210 2014-12-10 Ulrich Drepper <drepper@gmail.com>
kono
parents:
diff changeset
2211
kono
parents:
diff changeset
2212 Minor interface cleanups of libgccjit
kono
parents:
diff changeset
2213 * jit-playback.c (convert_to_dso): Use auto_vec instead
kono
parents:
diff changeset
2214 of automatic array to build up command line.
kono
parents:
diff changeset
2215 * jit-recording.c (recording::context::set_str_option):
kono
parents:
diff changeset
2216 Make copy of the string.
kono
parents:
diff changeset
2217 (recording::context::~context): Free string options.
kono
parents:
diff changeset
2218 * jit-recording.h (recording::context): Adjust type
kono
parents:
diff changeset
2219 of m_str_options member.
kono
parents:
diff changeset
2220 * libgccjit.h: Adjust comment about
kono
parents:
diff changeset
2221 gcc_jit_context_set_str_option parameter being used after
kono
parents:
diff changeset
2222 the call.
kono
parents:
diff changeset
2223 Update comment now that all interfaces are copy strings
kono
parents:
diff changeset
2224 if necessary.
kono
parents:
diff changeset
2225 * libgccjit++.h (gccjit::context): Add set_str_option
kono
parents:
diff changeset
2226 member function.
kono
parents:
diff changeset
2227
kono
parents:
diff changeset
2228 2014-12-10 David Malcolm <dmalcolm@redhat.com>
kono
parents:
diff changeset
2229
kono
parents:
diff changeset
2230 * docs/cp/index.rst: New file.
kono
parents:
diff changeset
2231 * docs/cp/intro/index.rst: New file.
kono
parents:
diff changeset
2232 * docs/cp/intro/tutorial01.rst: New file.
kono
parents:
diff changeset
2233 * docs/cp/intro/tutorial02.rst: New file.
kono
parents:
diff changeset
2234 * docs/cp/intro/tutorial03.rst: New file.
kono
parents:
diff changeset
2235 * docs/cp/intro/tutorial04.rst: New file.
kono
parents:
diff changeset
2236 * docs/cp/topics/contexts.rst: New file.
kono
parents:
diff changeset
2237 * docs/cp/topics/expressions.rst: New file.
kono
parents:
diff changeset
2238 * docs/cp/topics/functions.rst: New file.
kono
parents:
diff changeset
2239 * docs/cp/topics/index.rst: New file.
kono
parents:
diff changeset
2240 * docs/cp/topics/locations.rst: New file.
kono
parents:
diff changeset
2241 * docs/cp/topics/objects.rst: New file.
kono
parents:
diff changeset
2242 * docs/cp/topics/results.rst: New file.
kono
parents:
diff changeset
2243 * docs/cp/topics/types.rst: New file.
kono
parents:
diff changeset
2244 * docs/examples/tut01-hello-world.cc: New file.
kono
parents:
diff changeset
2245 * docs/examples/tut02-square.c: Fix missing newline in output.
kono
parents:
diff changeset
2246 * docs/examples/tut02-square.cc: New file.
kono
parents:
diff changeset
2247 * docs/examples/tut03-sum-of-squares.cc: New file.
kono
parents:
diff changeset
2248 * docs/examples/tut04-toyvm/toyvm.cc: New file.
kono
parents:
diff changeset
2249 * docs/index.rst: Move summary to above the table of contents.
kono
parents:
diff changeset
2250 Add text about the C vs C++ APIs.
kono
parents:
diff changeset
2251 * docs/topics/contexts.rst: Fix a typo.
kono
parents:
diff changeset
2252
kono
parents:
diff changeset
2253 * docs/_build/texinfo/libgccjit.texi: Regenerate.
kono
parents:
diff changeset
2254 * docs/_build/texinfo/factorial1.png: New file.
kono
parents:
diff changeset
2255 * docs/_build/texinfo/sum-of-squares1.png: New file.
kono
parents:
diff changeset
2256
kono
parents:
diff changeset
2257 2014-12-09 David Malcolm <dmalcolm@redhat.com>
kono
parents:
diff changeset
2258
kono
parents:
diff changeset
2259 * docs/examples/tut04-toyvm/toyvm.c (toyvm_function_compile): Move
kono
parents:
diff changeset
2260 logic for determine "funcname" to new function...
kono
parents:
diff changeset
2261 (get_function_name): ...here, adding logic to skip any leading
kono
parents:
diff changeset
2262 path from the filename.
kono
parents:
diff changeset
2263 (toyvm_function_parse): Use the filename for fn_filename, rather
kono
parents:
diff changeset
2264 than "name", so that the debugger can locate the source .toy
kono
parents:
diff changeset
2265 file.
kono
parents:
diff changeset
2266 (toyvm_function_parse): Don't fclose a NULL FILE *.
kono
parents:
diff changeset
2267
kono
parents:
diff changeset
2268 2014-12-09 David Malcolm <dmalcolm@redhat.com>
kono
parents:
diff changeset
2269
kono
parents:
diff changeset
2270 PR jit/63854
kono
parents:
diff changeset
2271 * docs/internals/index.rst (Running under valgrind): New
kono
parents:
diff changeset
2272 subsection.
kono
parents:
diff changeset
2273 (docs/_build/texinfo/libgccjit.texi): Regenerate.
kono
parents:
diff changeset
2274
kono
parents:
diff changeset
2275 2014-12-09 David Malcolm <dmalcolm@redhat.com>
kono
parents:
diff changeset
2276
131
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
2277 PR jit/64206
111
kono
parents:
diff changeset
2278 * Make-lang.in (jit_OBJS): Add jit/jit-tempdir.o.
kono
parents:
diff changeset
2279 * jit-common.h (gcc::jit::tempdir): New forward decl.
kono
parents:
diff changeset
2280 * jit-playback.c: Include jit-tempdir.h.
kono
parents:
diff changeset
2281 (gcc::jit::playback::context::context): Initialize m_tempdir.
kono
parents:
diff changeset
2282 (gcc::jit::playback::context::~context): Move tempdir
kono
parents:
diff changeset
2283 cleanup to new file jit-tempdir.c
kono
parents:
diff changeset
2284 (make_tempdir_path_template): Move to new file jit-tempdir.c.
kono
parents:
diff changeset
2285 (gcc::jit::playback::context::compile): Move tempdir creation
kono
parents:
diff changeset
2286 to new tempdir object in new file jit-tempdir.c.
kono
parents:
diff changeset
2287 (gcc::jit::playback::context::make_fake_args): Get path from
kono
parents:
diff changeset
2288 tempdir object rather than from member data.
kono
parents:
diff changeset
2289 (gcc::jit::playback::context::convert_to_dso): Likewise.
kono
parents:
diff changeset
2290 (gcc::jit::playback::context::dlopen_built_dso): Likewise.
kono
parents:
diff changeset
2291 (gcc::jit::playback::context::dump_generated_code): Likewise.
kono
parents:
diff changeset
2292 (gcc::jit::playback::context::get_path_c_file): New function.
kono
parents:
diff changeset
2293 (gcc::jit::playback::context::get_path_s_file): New function.
kono
parents:
diff changeset
2294 (gcc::jit::playback::context::get_path_so_file): New function.
kono
parents:
diff changeset
2295 * jit-playback.h (gcc::jit::playback::context::get_path_c_file):
kono
parents:
diff changeset
2296 New function.
kono
parents:
diff changeset
2297 (gcc::jit::playback::context::get_path_s_file): New function.
kono
parents:
diff changeset
2298 (gcc::jit::playback::context::get_path_so_file): New function.
kono
parents:
diff changeset
2299 (gcc::jit::playback::context): Move fields "m_path_template",
kono
parents:
diff changeset
2300 "m_path_tempdir", "m_path_c_file", "m_path_s_file",
kono
parents:
diff changeset
2301 "m_path_so_file" to new jit::tempdir class; add field "m_tempdir".
kono
parents:
diff changeset
2302 * jit-tempdir.c: New file.
kono
parents:
diff changeset
2303 * jit-tempdir.h: New file.
kono
parents:
diff changeset
2304
kono
parents:
diff changeset
2305 2014-12-09 David Malcolm <dmalcolm@redhat.com>
kono
parents:
diff changeset
2306
kono
parents:
diff changeset
2307 * jit-playback.c (gcc::jit::playback::context::compile): Acquire the
kono
parents:
diff changeset
2308 mutex here, immediately before using toplev, and release it here, on
kono
parents:
diff changeset
2309 each exit path after acquisition.
kono
parents:
diff changeset
2310 (jit_mutex): Move this variable here, from jit-recording.c.
kono
parents:
diff changeset
2311 (gcc::jit::playback::context::acquire_mutex): New function, based on
kono
parents:
diff changeset
2312 code in jit-recording.c.
kono
parents:
diff changeset
2313 (gcc::jit::playback::context::release_mutex): Likewise.
kono
parents:
diff changeset
2314 * jit-playback.h (gcc::jit::playback::context::acquire_mutex): New
kono
parents:
diff changeset
2315 function.
kono
parents:
diff changeset
2316 (gcc::jit::playback::context::release_mutex): New function.
kono
parents:
diff changeset
2317 * jit-recording.c (jit_mutex): Move this variable to jit-playback.c.
kono
parents:
diff changeset
2318 (gcc::jit::recording::context::compile): Move mutex-handling from
kono
parents:
diff changeset
2319 here into jit-playback.c's gcc::jit::playback::context::compile.
kono
parents:
diff changeset
2320 * notes.txt: Update to show the new locations of ACQUIRE_MUTEX
kono
parents:
diff changeset
2321 and RELEASE_MUTEX.
kono
parents:
diff changeset
2322
kono
parents:
diff changeset
2323 2014-12-09 David Malcolm <dmalcolm@redhat.com>
kono
parents:
diff changeset
2324
kono
parents:
diff changeset
2325 * jit-playback.c (gcc::jit::playback::context::compile): Move the
kono
parents:
diff changeset
2326 dlopen code into...
kono
parents:
diff changeset
2327 (gcc::jit::playback::context::dlopen_built_dso): ...this new
kono
parents:
diff changeset
2328 function.
kono
parents:
diff changeset
2329 * jit-playback.h (gcc::jit::playback::context::dlopen_built_dso):
kono
parents:
diff changeset
2330 New function.
kono
parents:
diff changeset
2331
kono
parents:
diff changeset
2332 2014-12-09 David Malcolm <dmalcolm@redhat.com>
kono
parents:
diff changeset
2333
kono
parents:
diff changeset
2334 PR jit/64166
kono
parents:
diff changeset
2335 * docs/topics/contexts.rst (Debugging): Add description of
kono
parents:
diff changeset
2336 gcc_jit_context_enable_dump.
kono
parents:
diff changeset
2337 * docs/_build/texinfo/libgccjit.texi: Regenerate.
kono
parents:
diff changeset
2338 * jit-playback.c: Include context.h.
kono
parents:
diff changeset
2339 (class auto_argvec): New class.
kono
parents:
diff changeset
2340 (auto_argvec::~auto_argvec): New function.
kono
parents:
diff changeset
2341 (gcc::jit::playback::context::compile): Convert fake_args to be
kono
parents:
diff changeset
2342 an auto_argvec, so that it can contain dynamically-allocated
kono
parents:
diff changeset
2343 strings. Construct a vec of all requested dumps, and pass it to
kono
parents:
diff changeset
2344 make_fake_args. Extract requested dumps between the calls to
kono
parents:
diff changeset
2345 toplev::main and toplev::finalize.
kono
parents:
diff changeset
2346 (gcc::jit::playback::context::make_fake_args): Convert param
kono
parents:
diff changeset
2347 "argvec" to be a vec <char *>, and gain a "requested_dumps"
kono
parents:
diff changeset
2348 param. Convert to dynamically-allocated arg strings by converting
kono
parents:
diff changeset
2349 ADD_ARG to take a copy of the arg, and add ADD_ARG_TAKE_OWNERSHIP
kono
parents:
diff changeset
2350 for args that are already a copy. Add args for all requested dumps.
kono
parents:
diff changeset
2351 (gcc::jit::playback::context::extract_any_requested_dumps): New
kono
parents:
diff changeset
2352 function.
kono
parents:
diff changeset
2353 (gcc::jit::playback::context::read_dump_file): New function.
kono
parents:
diff changeset
2354 * jit-playback.h (gcc::jit::playback::context::make_fake_args):
kono
parents:
diff changeset
2355 Convert param "argvec" to be a vec <char *>, and gain a
kono
parents:
diff changeset
2356 "requested_dumps" param.
kono
parents:
diff changeset
2357 (gcc::jit::playback::context::extract_any_requested_dumps): New
kono
parents:
diff changeset
2358 function.
kono
parents:
diff changeset
2359 (gcc::jit::playback::context::read_dump_file): New function.
kono
parents:
diff changeset
2360 * jit-recording.c (gcc::jit::recording::context::enable_dump): New
kono
parents:
diff changeset
2361 function.
kono
parents:
diff changeset
2362 (gcc::jit::recording::context::get_all_requested_dumps): New
kono
parents:
diff changeset
2363 function.
kono
parents:
diff changeset
2364 * jit-recording.h (gcc::jit::recording::requested_dump): New
kono
parents:
diff changeset
2365 struct.
kono
parents:
diff changeset
2366 (gcc::jit::recording::context::enable_dump): New function.
kono
parents:
diff changeset
2367 (gcc::jit::recording::context::get_all_requested_dumps): New
kono
parents:
diff changeset
2368 function.
kono
parents:
diff changeset
2369 (gcc::jit::recording::context::m_requested_dumps): New field.
kono
parents:
diff changeset
2370 * libgccjit.c (gcc_jit_context_enable_dump): New API entrypoint.
kono
parents:
diff changeset
2371 * libgccjit.h (gcc_jit_context_enable_dump): New API entrypoint.
kono
parents:
diff changeset
2372 * libgccjit.map (gcc_jit_context_enable_dump): New API entrypoint.
kono
parents:
diff changeset
2373
kono
parents:
diff changeset
2374 2014-12-08 David Malcolm <dmalcolm@redhat.com>
kono
parents:
diff changeset
2375
kono
parents:
diff changeset
2376 * libgccjit++.h: Indent the forward declarations of the classes to
kono
parents:
diff changeset
2377 show the inheritance hierarchy.
kono
parents:
diff changeset
2378
kono
parents:
diff changeset
2379 2014-12-08 David Malcolm <dmalcolm@redhat.com>
kono
parents:
diff changeset
2380
kono
parents:
diff changeset
2381 * notes.txt: Show the beginning and ending of
kono
parents:
diff changeset
2382 recording::context::compile vs playback::context::compile. Show
kono
parents:
diff changeset
2383 the creation and unlinking of the tempdir. Show toplev::finalize.
kono
parents:
diff changeset
2384 Move "RELEASE MUTEX" to the correct location. Show
kono
parents:
diff changeset
2385 gcc_jit_result_release, and indicate where the
kono
parents:
diff changeset
2386 dlopen/dlsym/dlclose occur.
kono
parents:
diff changeset
2387
kono
parents:
diff changeset
2388 2014-12-01 David Malcolm <dmalcolm@redhat.com>
kono
parents:
diff changeset
2389
kono
parents:
diff changeset
2390 * docs/examples/tut02-square.c (main): Release the context
kono
parents:
diff changeset
2391 earlier, to show that this is possible. Update error-handling
kono
parents:
diff changeset
2392 to avoid a double-release of the context, and to avoid
kono
parents:
diff changeset
2393 releasing a NULL result.
kono
parents:
diff changeset
2394 * docs/intro/tutorial02.rst: Discuss gcc_jit_context_release.
kono
parents:
diff changeset
2395 * docs/topics/functions.rst (GCC_JIT_FUNCTION_EXPORTED): Emphasize
kono
parents:
diff changeset
2396 * docs/topics/results.rst (gcc_jit_result): Mention that this
kono
parents:
diff changeset
2397 controls the lifetimes of machine code functions.
kono
parents:
diff changeset
2398 (gcc_jit_result_get_code): Spell out the requirements for this
kono
parents:
diff changeset
2399 to succeed, and the lifetime of the result.
kono
parents:
diff changeset
2400 (gcc_jit_result_release): Mention that this invalidates any code
kono
parents:
diff changeset
2401 that was obtained from the result.
kono
parents:
diff changeset
2402 * docs/_build/texinfo/libgccjit.texi: Regenerate.
kono
parents:
diff changeset
2403
kono
parents:
diff changeset
2404 2014-12-01 David Malcolm <dmalcolm@redhat.com>
kono
parents:
diff changeset
2405
kono
parents:
diff changeset
2406 PR jit/64018
kono
parents:
diff changeset
2407 * docs/intro/tutorial02.rst: Spell out lifetime of generated code.
kono
parents:
diff changeset
2408 Add description of error-handling, taken in part from...
kono
parents:
diff changeset
2409 * docs/topics/contexts.rst (Error-handling): Expand, and move some
kono
parents:
diff changeset
2410 content to tutorial02.rst.
kono
parents:
diff changeset
2411 * docs/_build/texinfo/libgccjit.texi: Regenerate.
kono
parents:
diff changeset
2412
kono
parents:
diff changeset
2413 2014-12-01 David Malcolm <dmalcolm@redhat.com>
kono
parents:
diff changeset
2414
kono
parents:
diff changeset
2415 PR jit/64020
kono
parents:
diff changeset
2416 * docs/topics/types.rst (Standard types) Add new enum values to
kono
parents:
diff changeset
2417 the table of enum gcc_jit_types: GCC_JIT_TYPE_COMPLEX_FLOAT,
kono
parents:
diff changeset
2418 GCC_JIT_TYPE_COMPLEX_DOUBLE, GCC_JIT_TYPE_COMPLEX_LONG_DOUBLE.
kono
parents:
diff changeset
2419 Widen the left-hand column so that
kono
parents:
diff changeset
2420 GCC_JIT_TYPE_COMPLEX_LONG_DOUBLE will fit.
kono
parents:
diff changeset
2421 * docs/_build/texinfo/libgccjit.texi: Regenerate.
kono
parents:
diff changeset
2422
kono
parents:
diff changeset
2423 * jit-builtins.c: Include stringpool.h and jit-playback.h.
kono
parents:
diff changeset
2424 Move everything out of the gcc::jit::recording namespace into
kono
parents:
diff changeset
2425 just gcc::jit.
kono
parents:
diff changeset
2426 (struct builtin_data): Add fields "fnclass", "attr", and
kono
parents:
diff changeset
2427 "implicit_p".
kono
parents:
diff changeset
2428 (DEF_BUILTIN): Update macro so populate the new fields.
kono
parents:
diff changeset
2429 (builtins_manager::builtins_manager): Update for move out of
kono
parents:
diff changeset
2430 recording namespace. Initialize the m_attributes array.
kono
parents:
diff changeset
2431 (builtins_manager::get_builtin_function): Likewise.
kono
parents:
diff changeset
2432 (builtins_manager::get_builtin_function_by_id): New function.
kono
parents:
diff changeset
2433 (builtins_manager::make_builtin_function): Update for move out of
kono
parents:
diff changeset
2434 recording namespace. Add fix for PR jit/64020 by detecting
kono
parents:
diff changeset
2435 specific builtin ids and having them ensure that builtins for
kono
parents:
diff changeset
2436 other ids are created as necessary.
kono
parents:
diff changeset
2437 (builtins_manager::get_type): Update for move out of recording
kono
parents:
diff changeset
2438 namespace.
kono
parents:
diff changeset
2439 (builtins_manager::make_type): Likewise. Add some missing
kono
parents:
diff changeset
2440 #undefs.
kono
parents:
diff changeset
2441 (builtins_manager::make_primitive_type): Update for move out of
kono
parents:
diff changeset
2442 recording namespace. Implement the three BT_COMPLEX_ cases and
kono
parents:
diff changeset
2443 BT_DOUBLE_PTR.
kono
parents:
diff changeset
2444 (builtins_manager::make_fn_type): Update for move out of recording
kono
parents:
diff changeset
2445 namespace.
kono
parents:
diff changeset
2446 (builtins_manager::make_ptr_type): Likewise.
kono
parents:
diff changeset
2447 (builtins_manager::finish_playback): New function.
kono
parents:
diff changeset
2448 (builtins_manager::get_class): New function.
kono
parents:
diff changeset
2449 (builtins_manager::implicit_p): New function.
kono
parents:
diff changeset
2450 (builtins_manager::get_attrs_tree): Two new functions.
kono
parents:
diff changeset
2451 (builtins_manager::make_attrs_tree): New function.
kono
parents:
diff changeset
2452
kono
parents:
diff changeset
2453 * jit-builtins.h: Move everything out of the gcc::jit::recording
kono
parents:
diff changeset
2454 namespace into just gcc::jit.
kono
parents:
diff changeset
2455 (enum built_in_attribute): New.
kono
parents:
diff changeset
2456 (builtins_manager::builtins_manager): Update decl for namespace
kono
parents:
diff changeset
2457 change.
kono
parents:
diff changeset
2458 (builtins_manager::get_builtin_function): Likewise.
kono
parents:
diff changeset
2459 (builtins_manager::get_class): New.
kono
parents:
diff changeset
2460 (builtins_manager::implicit_p): New.
kono
parents:
diff changeset
2461 (builtins_manager::get_attrs_tree): Two new functions.
kono
parents:
diff changeset
2462 (builtins_manager::make_attrs_tree): New function.
kono
parents:
diff changeset
2463 (builtins_manager::finish_playback): New.
kono
parents:
diff changeset
2464 (builtins_manager::get_builtin_function_by_id): New.
kono
parents:
diff changeset
2465 (builtins_manager::make_builtin_function): Update decl for
kono
parents:
diff changeset
2466 namespace change.
kono
parents:
diff changeset
2467 (builtins_manager::get_type): Likewise.
kono
parents:
diff changeset
2468 (builtins_manager::make_type): Likewise.
kono
parents:
diff changeset
2469 (builtins_manager::make_primitive_type): Likewise.
kono
parents:
diff changeset
2470 (builtins_manager::make_fn_type): Likewise.
kono
parents:
diff changeset
2471 (builtins_manager::make_ptr_type): Likewise.
kono
parents:
diff changeset
2472 (builtins_manager): Likewise for fields. Add new field
kono
parents:
diff changeset
2473 "m_attributes".
kono
parents:
diff changeset
2474
kono
parents:
diff changeset
2475 * jit-common.h (NUM_GCC_JIT_TYPES): Update.
kono
parents:
diff changeset
2476 (builtins_manager): Update forward decl to reflect namespace
kono
parents:
diff changeset
2477 change.
kono
parents:
diff changeset
2478
kono
parents:
diff changeset
2479 * jit-playback.c: Include attribs.h and jit-builtins.h.
kono
parents:
diff changeset
2480 (gcc::jit::playback::context::get_tree_node_for_type): Add cases
kono
parents:
diff changeset
2481 for the new COMPLEX_ types.
kono
parents:
diff changeset
2482 (gcc::jit::playback::context::new_function): If creating a
kono
parents:
diff changeset
2483 builtin, set the DECL_BUILT_IN_CLASS and attributes on the fndecl,
kono
parents:
diff changeset
2484 and call set_builtin_decl.
kono
parents:
diff changeset
2485 (gcc::jit::playback::context::replay): If we have a
kono
parents:
diff changeset
2486 builtins_manager, call its finish_playback method when we're done.
kono
parents:
diff changeset
2487
kono
parents:
diff changeset
2488 * jit-playback.h:
kono
parents:
diff changeset
2489 (gcc::jit::playback::context::get_builtins_manager): New function.
kono
parents:
diff changeset
2490
kono
parents:
diff changeset
2491 * jit-recording.c
kono
parents:
diff changeset
2492 (gcc::jit::recording::context::get_builtins_manager): New function.
kono
parents:
diff changeset
2493 (gcc::jit::recording::get_builtin_function): Use
kono
parents:
diff changeset
2494 get_builtins_manager, in case we're a child context.
kono
parents:
diff changeset
2495 (gcc::jit::recording::memento_of_get_type::dereference): Add the
kono
parents:
diff changeset
2496 COMPLEX_ types.
kono
parents:
diff changeset
2497 (gcc::jit::recording::memento_of_get_type::is_int): Likewise.
kono
parents:
diff changeset
2498 (gcc::jit::recording::memento_of_get_type::is_float): Likewise.
kono
parents:
diff changeset
2499 (gcc::jit::recording::memento_of_get_type::is_bool): Likewise.
kono
parents:
diff changeset
2500 (get_type_strings): Likewise.
kono
parents:
diff changeset
2501
kono
parents:
diff changeset
2502 * jit-recording.h
kono
parents:
diff changeset
2503 (gcc::jit::recording::context::get_builtins_manager): New.
kono
parents:
diff changeset
2504
kono
parents:
diff changeset
2505 * libgccjit.h (enum gcc_jit_types): Add
kono
parents:
diff changeset
2506 GCC_JIT_TYPE_COMPLEX_FLOAT, GCC_JIT_TYPE_COMPLEX_DOUBLE,
kono
parents:
diff changeset
2507 GCC_JIT_TYPE_COMPLEX_LONG_DOUBLE.
kono
parents:
diff changeset
2508
kono
parents:
diff changeset
2509 2014-12-01 David Malcolm <dmalcolm@redhat.com>
kono
parents:
diff changeset
2510
kono
parents:
diff changeset
2511 * jit-builtins.c
kono
parents:
diff changeset
2512 (gcc::jit::recording::builtins_manager::get_builtin_function):
kono
parents:
diff changeset
2513 Check for NULL return from make_builtin_function.
kono
parents:
diff changeset
2514 (gcc::jit::recording::builtins_manager::make_builtin_function):
kono
parents:
diff changeset
2515 Check for NULL return from get_type.
kono
parents:
diff changeset
2516
kono
parents:
diff changeset
2517 2014-12-01 David Malcolm <dmalcolm@redhat.com>
kono
parents:
diff changeset
2518
kono
parents:
diff changeset
2519 * jit-playback.c (gcc::jit::playback::context::compile): Move DSO
kono
parents:
diff changeset
2520 creation code into...
kono
parents:
diff changeset
2521 (gcc::jit::playback::context::convert_to_dso): New function.
kono
parents:
diff changeset
2522 * jit-playback.h (gcc::jit::playback::context::convert_to_dso):
kono
parents:
diff changeset
2523 New function.
kono
parents:
diff changeset
2524
kono
parents:
diff changeset
2525 2014-12-01 David Malcolm <dmalcolm@redhat.com>
kono
parents:
diff changeset
2526
kono
parents:
diff changeset
2527 * jit-playback.c (gcc::jit::playback::context::compile): Use an
kono
parents:
diff changeset
2528 auto_vec<const char *> rather than a const char *[20] for the
kono
parents:
diff changeset
2529 top-level argv, and move the logic to build it to...
kono
parents:
diff changeset
2530 (gcc::jit::playback::context::make_fake_args): New function.
kono
parents:
diff changeset
2531 * jit-playback.h (gcc::jit::playback::context::make_fake_args):
kono
parents:
diff changeset
2532 New function.
kono
parents:
diff changeset
2533
kono
parents:
diff changeset
2534 2014-12-01 David Malcolm <dmalcolm@redhat.com>
kono
parents:
diff changeset
2535
kono
parents:
diff changeset
2536 * Make-lang.in (jit_OBJS): Add jit/jit-result.o.
kono
parents:
diff changeset
2537 * jit-playback.c: Include new header jit-result.h.
kono
parents:
diff changeset
2538 (gcc::jit::result::result): Move to new file jit-result.c.
kono
parents:
diff changeset
2539 (gcc::jit::result::~result): Likewise.
kono
parents:
diff changeset
2540 (gcc::jit::playback::result): Likewise.
kono
parents:
diff changeset
2541 * jit-recording.h (class gcc::jit::result): Move to new
kono
parents:
diff changeset
2542 header jit-result.h.
kono
parents:
diff changeset
2543 * jit-result.c: New file, to contain...
kono
parents:
diff changeset
2544 (gcc::jit::result::result): Move here from jit-playback.c,
kono
parents:
diff changeset
2545 removing erroneous "playback" namespace from comment.
kono
parents:
diff changeset
2546 (gcc::jit::result::~result): Likewise.
kono
parents:
diff changeset
2547 (gcc::jit::playback::result): Likewise.
kono
parents:
diff changeset
2548 * jit-result.h: New file, to contain...
kono
parents:
diff changeset
2549 (class gcc::jit::result): Move from jit-recording.h.
kono
parents:
diff changeset
2550 * libgccjit.c: Include jit-result.h.
kono
parents:
diff changeset
2551 (gcc_jit_result_get_code): Update comment to reflect move
kono
parents:
diff changeset
2552 of implementation.
kono
parents:
diff changeset
2553 (gcc_jit_result_release): Likewise.
kono
parents:
diff changeset
2554
kono
parents:
diff changeset
2555 2014-12-01 David Malcolm <dmalcolm@redhat.com>
kono
parents:
diff changeset
2556
kono
parents:
diff changeset
2557 PR jit/63854
kono
parents:
diff changeset
2558 * docs/examples/tut04-toyvm/toyvm.c
kono
parents:
diff changeset
2559 (toyvm_compiled_function): New typedef.
kono
parents:
diff changeset
2560 (toyvm_compiled_func) Rename to...
kono
parents:
diff changeset
2561 (toyvm_compiled_code) ...this.
kono
parents:
diff changeset
2562 (struct toyvm_compiled_function): New struct.
kono
parents:
diff changeset
2563 (toyvm_function_compile): Return a toyvm_compiled_function *
kono
parents:
diff changeset
2564 rather than a toyvm_compiled_func, so that the caller can fully
kono
parents:
diff changeset
2565 clean things up. Free "funcname".
kono
parents:
diff changeset
2566 (test_script): Update for change to toyvm_function_compile.
kono
parents:
diff changeset
2567 Clean up the toyvm_compiled_function.
kono
parents:
diff changeset
2568 (main): Likewise.
kono
parents:
diff changeset
2569 (docs/intro/tutorial04.rst): Update to reflect the above changes,
kono
parents:
diff changeset
2570 and to better spell out the lifetime of the compiled code.
kono
parents:
diff changeset
2571
kono
parents:
diff changeset
2572 2014-12-01 David Malcolm <dmalcolm@redhat.com>
kono
parents:
diff changeset
2573
kono
parents:
diff changeset
2574 PR jit/63854
kono
parents:
diff changeset
2575 * jit-builtins.c
kono
parents:
diff changeset
2576 (gcc::jit::recording::builtins_manager::make_fn_type): Call the
kono
parents:
diff changeset
2577 context's new_function_type method, rather than directly creating
kono
parents:
diff changeset
2578 a function_type instance.
kono
parents:
diff changeset
2579 * jit-recording.c
kono
parents:
diff changeset
2580 (gcc::jit::recording::context::new_function_type): New method,
kono
parents:
diff changeset
2581 adapted from part of...
kono
parents:
diff changeset
2582 (gcc::jit::recording::context::new_function_ptr_type): ...this.
kono
parents:
diff changeset
2583 Update to call new_function_type.
kono
parents:
diff changeset
2584 * jit-recording.h
kono
parents:
diff changeset
2585 (gcc::jit::recording::context::new_function_type): New method.
kono
parents:
diff changeset
2586
kono
parents:
diff changeset
2587 2014-12-01 David Malcolm <dmalcolm@redhat.com>
kono
parents:
diff changeset
2588
kono
parents:
diff changeset
2589 PR jit/63969
kono
parents:
diff changeset
2590 * jit-playback.c: Ensure that ctxt_progname is non-NULL.
kono
parents:
diff changeset
2591
kono
parents:
diff changeset
2592 2014-11-19 David Malcolm <dmalcolm@redhat.com>
kono
parents:
diff changeset
2593
kono
parents:
diff changeset
2594 PR jit/63854
kono
parents:
diff changeset
2595 * jit-playback.c (gcc::jit::playback::compound_type::set_fields):
kono
parents:
diff changeset
2596 Convert param from const vec<playback::field *> & to
kono
parents:
diff changeset
2597 const auto_vec<playback::field *> *.
kono
parents:
diff changeset
2598 (gcc::jit::playback::context::new_function_type): Convert param
kono
parents:
diff changeset
2599 "param_types" from vec<type *> * to const auto_vec<type *> *.
kono
parents:
diff changeset
2600 (gcc::jit::playback::context::new_function): Convert param
kono
parents:
diff changeset
2601 "params" from vec<param *> * to const auto_vec<param *> *.
kono
parents:
diff changeset
2602 (gcc::jit::playback::context::build_call): Convert param "args"
kono
parents:
diff changeset
2603 from vec<rvalue *> to const auto_vec<rvalue *> *.
kono
parents:
diff changeset
2604 (gcc::jit::playback::context::new_call): Likewise.
kono
parents:
diff changeset
2605 (gcc::jit::playback::context::new_call_through_ptr): Likewise.
kono
parents:
diff changeset
2606 (wrapper_finalizer): New function.
kono
parents:
diff changeset
2607 (gcc::jit::playback::wrapper::operator new): Call the finalizer
kono
parents:
diff changeset
2608 variant of ggc_internal_cleared_alloc, supplying
kono
parents:
diff changeset
2609 wrapper_finalizer.
kono
parents:
diff changeset
2610 (gcc::jit::playback::function::finalizer): New.
kono
parents:
diff changeset
2611 (gcc::jit::playback::block::finalizer): New.
kono
parents:
diff changeset
2612 (gcc::jit::playback::source_file::finalizer): New.
kono
parents:
diff changeset
2613 (gcc::jit::playback::source_line::finalizer): New.
kono
parents:
diff changeset
2614
kono
parents:
diff changeset
2615 * jit-playback.h
kono
parents:
diff changeset
2616 (gcc::jit::playback::context::new_function_type): Convert param
kono
parents:
diff changeset
2617 "param_types" from vec<type *> * to const auto_vec<type *> *.
kono
parents:
diff changeset
2618 (gcc::jit::playback::context::new_function): Convert param
kono
parents:
diff changeset
2619 "params" from vec<param *> * to const auto_vec<param *> *.
kono
parents:
diff changeset
2620 (gcc::jit::playback::context::new_call): Convert param
kono
parents:
diff changeset
2621 "args" from vec<rvalue *> to const auto_vec<rvalue *> *.
kono
parents:
diff changeset
2622 (gcc::jit::playback::context::new_call_through_ptr): Likewise.
kono
parents:
diff changeset
2623 (gcc::jit::playback::context::build_call): Likewise.
kono
parents:
diff changeset
2624 (gcc::jit::playback::context): Convert fields "m_functions",
kono
parents:
diff changeset
2625 "m_source_files", "m_cached_locations" from vec to auto_vec.
kono
parents:
diff changeset
2626 (gcc::jit::playback::wrapper::finalizer): New virtual function.
kono
parents:
diff changeset
2627 (gcc::jit::playback::compound_type::set_fields): Convert param fro
kono
parents:
diff changeset
2628 const vec<playback::field *> & to
kono
parents:
diff changeset
2629 const auto_vec<playback::field *> *.
kono
parents:
diff changeset
2630 (gcc::jit::playback::function::finalizer): New.
kono
parents:
diff changeset
2631 (gcc::jit::playback::block::finalizer): New.
kono
parents:
diff changeset
2632 (gcc::jit::playback::source_file::finalizer): New.
kono
parents:
diff changeset
2633 (gcc::jit::playback::source_line::finalizer): New.
kono
parents:
diff changeset
2634
kono
parents:
diff changeset
2635 * jit-recording.c
kono
parents:
diff changeset
2636 (gcc::jit::recording::function_type::replay_into): Convert local
kono
parents:
diff changeset
2637 from a vec into an auto_vec.
kono
parents:
diff changeset
2638 (gcc::jit::recording::fields::replay_into): Likewise.
kono
parents:
diff changeset
2639 (gcc::jit::recording::function::replay_into): Likewise.
kono
parents:
diff changeset
2640 (gcc::jit::recording::call::replay_into): Likewise.
kono
parents:
diff changeset
2641 (gcc::jit::recording::call_through_ptr::replay_into): Likewise.
kono
parents:
diff changeset
2642
kono
parents:
diff changeset
2643 * jit-recording.h (gcc::jit::recording::context): Convert fields
kono
parents:
diff changeset
2644 "m_mementos", "m_compound_types", "m_functions" from vec<> to
kono
parents:
diff changeset
2645 auto_vec <>.
kono
parents:
diff changeset
2646 (gcc::jit::recording::function_type::get_param_types): Convert
kono
parents:
diff changeset
2647 return type from vec<type *> to const vec<type *> &.
kono
parents:
diff changeset
2648 (gcc::jit::recording::function_type): Convert field
kono
parents:
diff changeset
2649 "m_param_types" from a vec<> to an auto_vec<>.
kono
parents:
diff changeset
2650 (gcc::jit::recording::fields): Likewise for field "m_fields".
kono
parents:
diff changeset
2651 (gcc::jit::recording::function::get_params): Convert return type
kono
parents:
diff changeset
2652 from vec <param *> to const vec<param *> &.
kono
parents:
diff changeset
2653 (gcc::jit::recording::function): Convert fields "m_params",
kono
parents:
diff changeset
2654 "m_locals", "m_blocks" from vec<> to auto_vec<>.
kono
parents:
diff changeset
2655 (gcc::jit::recording::block): Likewise for field "m_statements".
kono
parents:
diff changeset
2656 vec<> to auto_vec<>.
kono
parents:
diff changeset
2657 (gcc::jit::recording::call): Likewise for field "m_args".
kono
parents:
diff changeset
2658 (gcc::jit::recording::call_through_ptr): Likewise.
kono
parents:
diff changeset
2659
kono
parents:
diff changeset
2660 2014-11-19 David Malcolm <dmalcolm@redhat.com>
kono
parents:
diff changeset
2661
kono
parents:
diff changeset
2662 PR jit/63854
kono
parents:
diff changeset
2663 * jit-recording.c (recording::function::validate): Convert
kono
parents:
diff changeset
2664 "worklist" from vec<> to autovec<> to fix a leak.
kono
parents:
diff changeset
2665
kono
parents:
diff changeset
2666 2014-11-11 David Malcolm <dmalcolm@redhat.com>
kono
parents:
diff changeset
2667
kono
parents:
diff changeset
2668 * ChangeLog.jit: New.
kono
parents:
diff changeset
2669 * ChangeLog: New.
kono
parents:
diff changeset
2670 * Make-lang.in: New.
kono
parents:
diff changeset
2671 * TODO.rst: New.
kono
parents:
diff changeset
2672 * config-lang.in: New.
kono
parents:
diff changeset
2673 * docs/Makefile: New.
kono
parents:
diff changeset
2674 * docs/_build/texinfo/Makefile: New.
kono
parents:
diff changeset
2675 * docs/_build/texinfo/factorial.png: New.
kono
parents:
diff changeset
2676 * docs/_build/texinfo/libgccjit.texi: New.
kono
parents:
diff changeset
2677 * docs/_build/texinfo/sum-of-squares.png: New.
kono
parents:
diff changeset
2678 * docs/conf.py: New.
kono
parents:
diff changeset
2679 * docs/examples/tut01-hello-world.c: New.
kono
parents:
diff changeset
2680 * docs/examples/tut02-square.c: New.
kono
parents:
diff changeset
2681 * docs/examples/tut03-sum-of-squares.c: New.
kono
parents:
diff changeset
2682 * docs/examples/tut04-toyvm/Makefile: New.
kono
parents:
diff changeset
2683 * docs/examples/tut04-toyvm/factorial.toy: New.
kono
parents:
diff changeset
2684 * docs/examples/tut04-toyvm/fibonacci.toy: New.
kono
parents:
diff changeset
2685 * docs/examples/tut04-toyvm/toyvm.c: New.
kono
parents:
diff changeset
2686 * docs/index.rst: New.
kono
parents:
diff changeset
2687 * docs/internals/index.rst: New.
kono
parents:
diff changeset
2688 * docs/intro/factorial.png: New.
kono
parents:
diff changeset
2689 * docs/intro/index.rst: New.
kono
parents:
diff changeset
2690 * docs/intro/sum-of-squares.png: New.
kono
parents:
diff changeset
2691 * docs/intro/tutorial01.rst: New.
kono
parents:
diff changeset
2692 * docs/intro/tutorial02.rst: New.
kono
parents:
diff changeset
2693 * docs/intro/tutorial03.rst: New.
kono
parents:
diff changeset
2694 * docs/intro/tutorial04.rst: New.
kono
parents:
diff changeset
2695 * docs/topics/contexts.rst: New.
kono
parents:
diff changeset
2696 * docs/topics/expressions.rst: New.
kono
parents:
diff changeset
2697 * docs/topics/functions.rst: New.
kono
parents:
diff changeset
2698 * docs/topics/index.rst: New.
kono
parents:
diff changeset
2699 * docs/topics/locations.rst: New.
kono
parents:
diff changeset
2700 * docs/topics/objects.rst: New.
kono
parents:
diff changeset
2701 * docs/topics/results.rst: New.
kono
parents:
diff changeset
2702 * docs/topics/types.rst: New.
kono
parents:
diff changeset
2703 * dummy-frontend.c: New.
kono
parents:
diff changeset
2704 * jit-builtins.c: New.
kono
parents:
diff changeset
2705 * jit-builtins.h: New.
kono
parents:
diff changeset
2706 * jit-common.h: New.
kono
parents:
diff changeset
2707 * jit-playback.c: New.
kono
parents:
diff changeset
2708 * jit-playback.h: New.
kono
parents:
diff changeset
2709 * jit-recording.c: New.
kono
parents:
diff changeset
2710 * jit-recording.h: New.
kono
parents:
diff changeset
2711 * libgccjit++.h: New.
kono
parents:
diff changeset
2712 * libgccjit.c: New.
kono
parents:
diff changeset
2713 * libgccjit.h: New.
kono
parents:
diff changeset
2714 * libgccjit.map: New.
kono
parents:
diff changeset
2715 * notes.txt: New.
kono
parents:
diff changeset
2716
kono
parents:
diff changeset
2717 2013-07-26 David Malcolm <dmalcolm@redhat.com>
kono
parents:
diff changeset
2718
kono
parents:
diff changeset
2719 * Initial creation
kono
parents:
diff changeset
2720
145
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2721 Copyright (C) 2013-2020 Free Software Foundation, Inc.
111
kono
parents:
diff changeset
2722
kono
parents:
diff changeset
2723 Copying and distribution of this file, with or without modification,
kono
parents:
diff changeset
2724 are permitted in any medium without royalty provided the copyright
kono
parents:
diff changeset
2725 notice and this notice are preserved.