]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/brig/ChangeLog
[BRIGFE] skip multiple forward declarations of the same function
[thirdparty/gcc.git] / gcc / brig / ChangeLog
CommitLineData
1e25c5a9
PJ
12018-05-04 Pekka Jääskeläinen <pekka.jaaskelainen@parmance.com>
2
3 * brig/brigfrontend/brig-function-handler.cc: Skip multiple forward
4 declarations of the same function.
5
60a3d46c
PJ
62018-05-04 Pekka Jääskeläinen <pekka.jaaskelainen@parmance.com>
7
8 * brig/brig-lang.c: Do not allow optimizations based on known C
9 builtins.
10
77c42d45
PJ
112018-05-04 Pekka Jääskeläinen <pekka.jaaskelainen@parmance.com>
12
13 * brig/brig-lang.c: Allow controlling strict aliasing from
14 cmd line.
15
f986735a
PJ
162018-05-04 Pekka Jääskeläinen <pekka.jaaskelainen@parmance.com>
17
18 * brig/brigfrontend/brig-code-entry-handler.cc: The modulo in
19 ID computation should not be needed.
20
637f3cde
PJ
212018-05-04 Pekka Jääskeläinen <pekka.jaaskelainen@parmance.com>
22
23 * brig/brig-lang.c: Add support for whole program
24 optimizations by marking the kernels externally visible.
25 * brig/brigfrontend/brig-branch-inst-handler.cc: See above.
26 * brig/brigfrontend/brig-function-handler.cc: See above.
27 * brig/brigfrontend/brig-function.cc: See above.
28 * brig/brigfrontend/brig-to-generic.cc: See above.
29 * brig/brigfrontend/brig-to-generic.h: See above.
30 * brig/brigfrontend/brig-variable-handler.h: See above.
31
928686b1
RS
322018-01-03 Richard Sandiford <richard.sandiford@linaro.org>
33 Alan Hayward <alan.hayward@arm.com>
34 David Sherwood <david.sherwood@arm.com>
35
36 * brigfrontend/brig-to-generic.cc (get_unsigned_int_type): Handle
37 polynomial TYPE_VECTOR_SUBPARTS.
38 * brigfrontend/brig-util.h (gccbrig_type_vector_subparts): Likewise.
39
85ec4feb
JJ
402018-01-03 Jakub Jelinek <jakub@redhat.com>
41
42 Update copyright years.
43
e112bba2
RS
442018-01-03 Richard Sandiford <richard.sandiford@linaro.org>
45 Alan Hayward <alan.hayward@arm.com>
46 David Sherwood <david.sherwood@arm.com>
47
48 * brigfrontend/brig-util.h (gccbrig_type_vector_subparts): New
49 function.
50 * brigfrontend/brig-basic-inst-handler.cc
51 (brig_basic_inst_handler::build_shuffle): Use it instead of
52 TYPE_VECTOR_SUBPARTS.
53 (brig_basic_inst_handler::build_unpack): Likewise.
54 (brig_basic_inst_handler::build_pack): Likewise.
55 (brig_basic_inst_handler::build_unpack_lo_or_hi): Likewise.
56 (brig_basic_inst_handler::operator ()): Likewise.
57 (brig_basic_inst_handler::build_lower_element_broadcast): Likewise.
58 * brigfrontend/brig-code-entry-handler.cc
59 (brig_code_entry_handler::get_tree_cst_for_hsa_operand): Likewise.
60 (brig_code_entry_handler::get_comparison_result_type): Likewise.
61 (brig_code_entry_handler::expand_or_call_builtin): Likewise.
62
4849deb1
JJ
632017-12-15 Jakub Jelinek <jakub@redhat.com>
64
65 * brig-lang.c (brig_attribute_table): Swap affects_type_identity
66 and handler fields, adjust comments.
67
0123db8e
JJ
682017-12-08 Jakub Jelinek <jakub@redhat.com>
69
70 * brig-lang.c (brig_attribute_table): Fix up comment.
71
9e851845
JJ
722017-11-28 Jakub Jelinek <jakub@redhat.com>
73
74 * brigfrontend/brig-branch-inst-handler.cc
75 (brig_branch_inst_handler::operator): Build SWITCH_EXPR using build2
76 instead of build3.
77
610f66a3
HL
782017-11-17 Henry Linjamäki <henry.linjamaki@parmance.com>
79
80 * brigfrontend/brig-util.cc: Fix sprintf format string type mismatch
81 on 32b machines.
82
dc03239c
HL
832017-11-16 Henry Linjamäki <henry.linjamaki@parmance.com>
84
85 Change internal representation of HSA registers. Instead
86 representing HSA's untyped registers as unsigned int the gccbrig
87 analyzes brig code and builds the register variables as a type
88 used in tree expressions at most. This gives better chance to
89 optimize CONVERT_VIEW_EXPRs away.
90 * brigfrontend/brig-code-entry-handler.cc: Add analysis method for
91 register type usage. Handle any-typed register variables.
92 * brigfrontend/brig-code-entry-handler.h: New declarations for the
93 above.
94 * brigfrontend/brig-copy-move-inst-handler.cc: Handle any-typed
95 register variables.
96 * brigfrontend/brig-cvt-inst-handler.cc: Likewise.
97 * brigfrontend/brig-function.cc: Build register variables as a
98 type based on results of analysis phase.
99 * brigfrontend/brig-function.h: Move HSA register count defines to
100 brig-utils.h.
101 * brigfrontend/brig-to-generic.cc: New analysis handler. Analyze
102 HSA register usage.
103 * brigfrontend/brig-to-generic.h: New declarations.
104 * brigfrontend/brig-util.cc: New utility functions.
105 * brigfrontend/brig-util.h: New declarations for the above.
106
6748a40f
PJ
1072017-11-16 Pekka Jääskeläinen <pekka.jaaskelainen@parmance.com>
108
109 * gccbrig.texi: Added some documentation.
110
f6a35e89
HL
1112017-10-31 Henry Linjamäki <henry.linjamaki@parmance.com>
112
113 * brig-lang.c (brig_langhook_type_for_mode): Fix PR 82771.
114
4603941e
RS
1152017-10-23 Richard Sandiford <richard.sandiford@linaro.org>
116
117 * brig-lang.c (brig_langhook_type_for_mode): Use scalar_int_mode
118 and scalar_float_mode.
119
14108eda
PJ
1202017-10-09 Pekka Jääskeläinen <pekka.jaaskelainen@parmance.com>
121
122 * brigfrontend/brig-to-generic.cc: Support BRIG_KIND_NONE
123 directives. These directives are legal everywhere. They
124 can be used to patch away BRIG entries at the binary level.
125 Also add extra error detection for zeroed regions: make sure
126 the byteCount field is never zero.
127 * brig/brigfrontend/phsa.h: Added a new error prefix for
128 errors which are due to corrupted BRIG modules.
129
1302017-10-09 Henry Linjamäki <henry.linjamaki@parmance.com>
131
132 * brigfrontend/brig-branch-inst-handler.cc: The call code
133 still failed a few test cases. Now all PRM cases pass again.
134
9c53f040
HL
1352017-10-03 Henry Linjamäki <henry.linjamaki@parmance.com>
136
137 * brigfrontend/brig-branch-inst-handler.cc: Fix (more) crash with
138 calls with more than 4 args. It missed a reference which is required
139 because vector expansion can move the object to another location.
140
e1e299f3
HL
1412017-09-29 Henry Linjamäki <henry.linjamaki@parmance.com>
142
143 * brigfrontend/brig-branch-inst-handler.cc: Fix crash with
144 calls with more than 4 args. Also fix a misexecution issue
145 with kernels that have both unexpanded ID functions and
146 calls to subfunctions.
147
f276c46c
HL
1482017-09-28 Henry Linjamäki <henry.linjamaki@parmance.com>
149
150 * brig-lang.c: Added function attributes and their handlers.
151 Make BRIGFE 3-level optimize by default.
152
d4b7f2ee
PJ
1532017-09-27 Pekka Jääskeläinen <pekka.jaaskelainen@parmance.com>
154
155 * brig-lang.c: Improved support for function and module scope
156 group segment variables. PRM specs defines function and module
157 scope group segment variables as an experimental feature. However,
158 PRM test suite uses and hcc relies on them. In addition, hcc
159 assumes certain group variable layout in its dynamic group segment
160 allocation code. We cannot have global group memory offsets if we
161 want to both have kernel-specific group segment size and multiple
162 kernels calling the same functions that use function scope group memory
163 variables. Now group segment is handled by separate book keeping of
164 module scope and function (kernel) offsets. Each function has a "frame"
165 in the group segment offset to which is given as an argument.
166 * brigfrontend/brig-branch-inst-handler.cc: See above.
167 * brigfrontend/brig-code-entry-handler.cc: See above.
168 * brigfrontend/brig-fbarrier-handler.cc: See above.
169 * brigfrontend/brig-function-handler.cc: See above.
170 * brigfrontend/brig-function.cc: See above.
171 * brigfrontend/brig-function.h: See above.
172 * brigfrontend/brig-to-generic.cc: See above.
173 * brigfrontend/brig-to-generic.h: See above.
174 * brigfrontend/brig-util.cc: See above.
175 * brigfrontend/brig-util.h: See above.
176 * brigfrontend/brig-variable-handler.cc: See above.
177
1782017-09-25 Pekka Jääskeläinen <pekka.jaaskelainen@parmance.com>
c02bffe3
PJ
179
180 * brigfrontend/brig-to-generic.cc: Ensure per WI copies of
181 private variables are aligned too.
182
7ac3ed13
TS
1832017-09-17 Thomas Schwinge <thomas@codesourcery.com>
184
185 * Make-lang.in (GO_TEXI_FILES): Rename to...
186 (BRIG_TEXI_FILES): ... this.
187 (doc/gccbrig.info, doc/gccbrig.dvi, doc/gccbrig.pdf, brig.info)
188 (brig.srcinfo, brig.man, brig.srcman, brig.install-man)
189 ($(DESTDIR)$(man1dir)/$(GCCBRIG_INSTALL_NAME)$(man1ext)):
190 Uncomment/enable targets.
191 (gccbrig.pod): New target.
192 * gccbrig.texi: New file.
193
8c058905
HL
1942017-08-04 Henry Linjamäki <henry.linjamaki@parmance.com>
195
196 Fix PR 81713
197 * brigfrontend/brig-basic-inst-handler.cc: replace build_int_cst with
198 bitsize_int in building BIT_FIELD_REF.
199 * brigfrontend/brig-code-entry-handler.cc: likewise.
200
b8506a8a
RS
2012017-07-05 Richard Sandiford <richard.sandiford@linaro.org>
202 Alan Hayward <alan.hayward@arm.com>
203 David Sherwood <david.sherwood@arm.com>
204
205 * brig-c.h (brig_type_for_mode): Remove "enum" before "machine_mode".
206 * brig-lang.c (brig_langhook_type_for_mode): Likewise.
207
f0622a50
JJ
2082017-07-04 Jakub Jelinek <jakub@redhat.com>
209
210 * brigfrontend/brig-function.cc: Include profile-count.h.
211 * brigfrontend/brig-to-generic.cc: Likewise.
212
c7ddc044
TS
2132017-05-18 Thomas Schwinge <thomas@codesourcery.com>
214
215 * brigfrontend/brig-to-generic.h (class brig_to_generic): Use
216 "dump_flags_t" for "m_dump_flags" member.
217
c7488b4f
PJ
2182017-05-13 Pekka Jääskeläinen <pekka.jaaskelainen@parmance.com>
219
220 * brigfrontend/brig-code-entry-handler.cc
221 (brig_code_entry_handler::build_address_operand): Fix
222 an assertion when doing an 'lda' of a private array
223 offset.
224
2252017-05-03 Pekka Jääskeläinen <pekka.jaaskelainen@parmance.com>
c6e334cd
PJ
226
227 * brigfrontend/brig-code-entry-handler.cc
228 (brig_code_entry_handler::build_address_operand): Fix a bug
229 with reg+offset addressing on 32b segments. In large mode,
230 the offset is treated as 32bits unless it's global, readonly or
231 kernarg address space.
232
a0deb992
PJ
2332016-02-01 Pekka Jääskeläinen <pekka.jaaskelainen@parmance.com>
234
235 * brigfrontend/brig-code-entry-handler.cc: fix address
236 expressions which refer only to offset 0, but nothing else.
237 * brigfrontend/brig-lane-inst-handler.cc: fix
238 activelanepermute_b64 HSAIL instruction.
239 * brigfrontend/brig-to-generic.cc: remove useless c_str()
240 call. Add missing va_end (). Fix PR79250.
241
cc0608e7
JJ
2422017-01-30 Jakub Jelinek <jakub@redhat.com>
243
244 * brigfrontend/brig-code-entry-handler.cc
245 (brig_code_entry_handler::get_tree_cst_for_hsa_operand): For %lu
246 cast size_t arguments to unsigned long.
247
f6a24a94
MJ
2482017-01-27 Pekka Jääskeläinen <pekka.jaaskelainen@parmance.com>
249
250 * config-lang.in: Removed stale target-libbrig reference.
251
e6d55103
JJ
2522017-01-26 Jakub Jelinek <jakub@redhat.com>
253
254 Update copyright years.
255
2562017-01-24 Pekka Jääskeläinen <pekka@parmance.com>
5fd1486c
PJ
257 Martin Jambor <mjambor@suse.cz>
258
259 * Make-lang.in: New file.
260 * brig-builtins.h: Likewise.
261 * brig-c.h: Likewise.
262 * brig-lang.c: Likewise.
263 * brigspec.c: Likewise.
264 * config-lang.in: Likewise.
265 * lang-specs.h: Likewise.
266 * lang.opt: Likewise.
267 * brigfrontend/brig-arg-block-handler.cc: Likewise.
268 * brigfrontend/brig-atomic-inst-handler.cc: Likewise.
269 * brigfrontend/brig-basic-inst-handler.cc: Likewise.
270 * brigfrontend/brig-branch-inst-handler.cc: Likewise.
271 * brigfrontend/brig-cmp-inst-handler.cc: Likewise.
272 * brigfrontend/brig-code-entry-handler.cc: Likewise.
273 * brigfrontend/brig-code-entry-handler.h: Likewise.
274 * brigfrontend/brig-comment-handler.cc: Likewise.
275 * brigfrontend/brig-control-handler.cc: Likewise.
276 * brigfrontend/brig-copy-move-inst-handler.cc: Likewise.
277 * brigfrontend/brig-cvt-inst-handler.cc: Likewise.
278 * brigfrontend/brig-fbarrier-handler.cc: Likewise.
279 * brigfrontend/brig-function-handler.cc: Likewise.
280 * brigfrontend/brig-function.cc: Likewise.
281 * brigfrontend/brig-function.h: Likewise.
282 * brigfrontend/brig-inst-mod-handler.cc: Likewise.
283 * brigfrontend/brig-label-handler.cc: Likewise.
284 * brigfrontend/brig-lane-inst-handler.cc: Likewise.
285 * brigfrontend/brig-machine.c: Likewise.
286 * brigfrontend/brig-machine.h: Likewise.
287 * brigfrontend/brig-mem-inst-handler.cc: Likewise.
288 * brigfrontend/brig-module-handler.cc: Likewise.
289 * brigfrontend/brig-queue-inst-handler.cc: Likewise.
290 * brigfrontend/brig-seg-inst-handler.cc: Likewise.
291 * brigfrontend/brig-signal-inst-handler.cc: Likewise.
292 * brigfrontend/brig-to-generic.cc: Likewise.
293 * brigfrontend/brig-to-generic.h: Likewise.
294 * brigfrontend/brig-util.cc: Likewise.
295 * brigfrontend/brig-util.h: Likewise.
296 * brigfrontend/brig-variable-handler.cc: Likewise.
297 * brigfrontend/phsa.h: Likewise.