annotate gcc/jit/ChangeLog @ 132:d34655255c78

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