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

...
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Mon, 25 May 2020 18:13:55 +0900
parents 1830386684a0
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
145
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1 2020-01-01 Jakub Jelinek <jakub@redhat.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3 Update copyright years.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
4
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
5 2019-10-04 Joseph Myers <joseph@codesourcery.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
6
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
7 * brig-lang.c (flag_isoc2x): New variable.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
8
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
9 2019-08-23 Jakub Jelinek <jakub@redhat.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
10
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
11 PR middle-end/91283
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
12 * brig-lang.c (brig_langhook_post_options): Set flag_excess_precision
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
13 instead of flag_excess_precision_cmdline.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
14
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
15 2019-06-25 Jozef Lawrynowicz <jozef.l@mittosystems.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
16
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
17 * brig-lang.c (brig_build_c_type_nodes): Accept "__intN__"
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
18 format of "__intN" types for SIZE_TYPE.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
19
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
20 2019-05-16 Martin Sebor <msebor@redhat.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
21
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
22 * brigfrontend/brig-control-handler.cc
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
23 (brig_directive_control_handler::operator): Remove trailing newline
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
24 from a diagnostic.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
25 * brigfrontend/brig-module-handler.cc
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
26 (brig_directive_module_handler::operator): Remove a duplicated space
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
27 from a diagnostic.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
28
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
29 2019-01-01 Jakub Jelinek <jakub@redhat.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
30
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
31 Update copyright years.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
32
131
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
33 2018-10-17 David Malcolm <dmalcolm@redhat.com>
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
34
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
35 * Make-lang.in (selftest-brig): New.
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
36
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
37 2018-07-20 Martin Sebor <msebor@redhat.com>
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
38
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
39 PR middle-end/82063
145
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
40 * brig-lang.c (brig_langhook_handle_option): Change function
131
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
41 argument to HOST_WIDE_INT.
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
42
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
43 2018-07-04 Martin Jambor <mjambor@suse.cz>
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
44
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
45 PR hsa/86371
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
46 * Make-lang.in (BRIGINCLUDES): Remove erroneous include path in $HOME.
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
47
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
48 2018-06-28 Martin Liska <mliska@suse.cz>
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
49
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
50 * brigspec.c: Add missing header file inclusion.
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
51
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
52 2018-06-08 David Malcolm <dmalcolm@redhat.com>
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
53
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
54 * brigfrontend/brig-to-generic.cc
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
55 (brig_to_generic::write_globals): Use TDF_NONE rather than 0.
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
56 (dump_function): Likewise.
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
57
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
58 2018-05-18 Richard Sandiford <richard.sandiford@linaro.org>
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
59
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
60 * brigfrontend/brig-function.cc
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
61 (brig_function::get_builtin_for_hsa_opcode): Use BUILT_IN_FMA
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
62 for BRIG_OPCODE_FMA.
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
63 (brig_function::get_tree_code_for_hsa_opcode): Treat BUILT_IN_FMA
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
64 as a call.
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
65
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
66 2018-05-04 Pekka Jääskeläinen <pekka.jaaskelainen@parmance.com>
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
67
145
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
68 * brigfrontend/brig-basic-inst-handler.cc: Fix handling of NOPs.
131
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
69
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
70 2018-05-04 Pekka Jääskeläinen <pekka.jaaskelainen@parmance.com>
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
71
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
72 Add flag -fassume-phsa that is on by default. If -fno-assume-phsa
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
73 is given, these optimizations are disabled. With this flag, gccbrig
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
74 can generate GENERIC that assumes we are targeting a phsa-runtime
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
75 based implementation, which allows us to expose the work-item context
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
76 accesses to retrieve WI IDs etc. which helps optimizers.
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
77 First optimization that takes advantage of this is to get rid of
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
78 the setworkitemid calls whenever we have non-inlined calls that
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
79 use IDs internally. Other optimizations added in this commit:
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
80 - expand absoluteid to similar level of simplicity as workitemid.
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
81 At the moment absoluteid is the best indexing ID to end up with
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
82 WG vectorization.
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
83 - propagate ID variables closer to their uses. This is mainly
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
84 to avoid known useless casts, which confuse at least scalar
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
85 evolution analysis.
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
86 - use signed long long for storing IDs. Unsigned integers have
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
87 defined wraparound semantics, which confuse at least scalar
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
88 evolution analysis, leading to unvectorizable WI loops.
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
89 - also refactor some BRIG function generation helpers to brig_function.
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
90 - no point in having the wi-loop as a for-loop. It's really
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
91 a do...while and SCEV can analyze it just fine still.
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
92 - add consts to ptrs etc. in BRIG builtin defs.
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
93 Improves optimization opportunities.
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
94 - add qualifiers to generated function parameters.
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
95 Const and restrict on the hidden local/private pointers,
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
96 the arg buffer and the context pointer help some optimizations.
145
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
97 * brigfrontend/brig-basic-inst-handler.cc: See above.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
98 * brigfrontend/brig-branch-inst-handler.cc: See above.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
99 * brigfrontend/brig-cmp-inst-handler.cc: See above.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
100 * brigfrontend/brig-code-entry-handler.cc: See above.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
101 * brigfrontend/brig-code-entry-handler.h: See above.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
102 * brigfrontend/brig-control-handler.cc: See above.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
103 * brigfrontend/brig-cvt-inst-handler.cc: See above.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
104 * brigfrontend/brig-function-handler.cc: See above.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
105 * brigfrontend/brig-function.cc: See above.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
106 * brigfrontend/brig-function.h: See above.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
107 * brigfrontend/brig-label-handler.cc: See above.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
108 * brigfrontend/brig-lane-inst-handler.cc: See above.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
109 * brigfrontend/brig-mem-inst-handler.cc: See above.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
110 * brigfrontend/phsa.h: See above.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
111 * lang.opt: See above.
131
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
112
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
113 2018-05-04 Pekka Jääskeläinen <pekka.jaaskelainen@parmance.com>
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
114
145
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
115 * brigfrontend/brig-function-handler.cc: Skip multiple forward
131
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
116 declarations of the same function.
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
117
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
118 2018-05-04 Pekka Jääskeläinen <pekka.jaaskelainen@parmance.com>
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
119
145
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
120 * brig-lang.c: Do not allow optimizations based on known C
131
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
121 builtins.
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
122
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
123 2018-05-04 Pekka Jääskeläinen <pekka.jaaskelainen@parmance.com>
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
124
145
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
125 * brig-lang.c: Allow controlling strict aliasing from
131
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
126 cmd line.
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
127
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
128 2018-05-04 Pekka Jääskeläinen <pekka.jaaskelainen@parmance.com>
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
129
145
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
130 * brigfrontend/brig-code-entry-handler.cc: The modulo in
131
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
131 ID computation should not be needed.
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
132
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
133 2018-05-04 Pekka Jääskeläinen <pekka.jaaskelainen@parmance.com>
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
134
145
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
135 * brig-lang.c: Add support for whole program
131
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
136 optimizations by marking the kernels externally visible.
145
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
137 * brigfrontend/brig-branch-inst-handler.cc: See above.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
138 * brigfrontend/brig-function-handler.cc: See above.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
139 * brigfrontend/brig-function.cc: See above.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
140 * brigfrontend/brig-to-generic.cc: See above.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
141 * brigfrontend/brig-to-generic.h: See above.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
142 * brigfrontend/brig-variable-handler.h: See above.
131
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
143
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
144 2018-01-03 Richard Sandiford <richard.sandiford@linaro.org>
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
145 Alan Hayward <alan.hayward@arm.com>
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
146 David Sherwood <david.sherwood@arm.com>
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
147
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
148 * brigfrontend/brig-to-generic.cc (get_unsigned_int_type): Handle
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
149 polynomial TYPE_VECTOR_SUBPARTS.
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
150 * brigfrontend/brig-util.h (gccbrig_type_vector_subparts): Likewise.
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
151
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
152 2018-01-03 Jakub Jelinek <jakub@redhat.com>
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
153
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
154 Update copyright years.
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
155
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
156 2018-01-03 Richard Sandiford <richard.sandiford@linaro.org>
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
157 Alan Hayward <alan.hayward@arm.com>
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
158 David Sherwood <david.sherwood@arm.com>
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
159
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
160 * brigfrontend/brig-util.h (gccbrig_type_vector_subparts): New
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
161 function.
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
162 * brigfrontend/brig-basic-inst-handler.cc
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
163 (brig_basic_inst_handler::build_shuffle): Use it instead of
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
164 TYPE_VECTOR_SUBPARTS.
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
165 (brig_basic_inst_handler::build_unpack): Likewise.
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
166 (brig_basic_inst_handler::build_pack): Likewise.
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
167 (brig_basic_inst_handler::build_unpack_lo_or_hi): Likewise.
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
168 (brig_basic_inst_handler::operator ()): Likewise.
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
169 (brig_basic_inst_handler::build_lower_element_broadcast): Likewise.
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
170 * brigfrontend/brig-code-entry-handler.cc
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
171 (brig_code_entry_handler::get_tree_cst_for_hsa_operand): Likewise.
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
172 (brig_code_entry_handler::get_comparison_result_type): Likewise.
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
173 (brig_code_entry_handler::expand_or_call_builtin): Likewise.
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
174
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
175 2017-12-15 Jakub Jelinek <jakub@redhat.com>
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
176
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
177 * brig-lang.c (brig_attribute_table): Swap affects_type_identity
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
178 and handler fields, adjust comments.
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
179
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
180 2017-12-08 Jakub Jelinek <jakub@redhat.com>
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
181
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
182 * brig-lang.c (brig_attribute_table): Fix up comment.
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
183
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
184 2017-11-28 Jakub Jelinek <jakub@redhat.com>
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
185
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
186 * brigfrontend/brig-branch-inst-handler.cc
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
187 (brig_branch_inst_handler::operator): Build SWITCH_EXPR using build2
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
188 instead of build3.
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
189
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
190 2017-11-17 Henry Linjamäki <henry.linjamaki@parmance.com>
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
191
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
192 * brigfrontend/brig-util.cc: Fix sprintf format string type mismatch
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
193 on 32b machines.
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
194
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
195 2017-11-16 Henry Linjamäki <henry.linjamaki@parmance.com>
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
196
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
197 Change internal representation of HSA registers. Instead
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
198 representing HSA's untyped registers as unsigned int the gccbrig
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
199 analyzes brig code and builds the register variables as a type
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
200 used in tree expressions at most. This gives better chance to
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
201 optimize CONVERT_VIEW_EXPRs away.
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
202 * brigfrontend/brig-code-entry-handler.cc: Add analysis method for
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
203 register type usage. Handle any-typed register variables.
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
204 * brigfrontend/brig-code-entry-handler.h: New declarations for the
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
205 above.
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
206 * brigfrontend/brig-copy-move-inst-handler.cc: Handle any-typed
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
207 register variables.
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
208 * brigfrontend/brig-cvt-inst-handler.cc: Likewise.
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
209 * brigfrontend/brig-function.cc: Build register variables as a
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
210 type based on results of analysis phase.
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
211 * brigfrontend/brig-function.h: Move HSA register count defines to
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
212 brig-utils.h.
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
213 * brigfrontend/brig-to-generic.cc: New analysis handler. Analyze
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
214 HSA register usage.
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
215 * brigfrontend/brig-to-generic.h: New declarations.
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
216 * brigfrontend/brig-util.cc: New utility functions.
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
217 * brigfrontend/brig-util.h: New declarations for the above.
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
218
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
219 2017-11-16 Pekka Jääskeläinen <pekka.jaaskelainen@parmance.com>
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
220
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
221 * gccbrig.texi: Added some documentation.
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
222
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
223 2017-10-31 Henry Linjamäki <henry.linjamaki@parmance.com>
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
224
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
225 * brig-lang.c (brig_langhook_type_for_mode): Fix PR 82771.
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
226
111
kono
parents:
diff changeset
227 2017-10-23 Richard Sandiford <richard.sandiford@linaro.org>
kono
parents:
diff changeset
228
kono
parents:
diff changeset
229 * brig-lang.c (brig_langhook_type_for_mode): Use scalar_int_mode
kono
parents:
diff changeset
230 and scalar_float_mode.
kono
parents:
diff changeset
231
kono
parents:
diff changeset
232 2017-10-09 Pekka Jääskeläinen <pekka.jaaskelainen@parmance.com>
kono
parents:
diff changeset
233
kono
parents:
diff changeset
234 * brigfrontend/brig-to-generic.cc: Support BRIG_KIND_NONE
kono
parents:
diff changeset
235 directives. These directives are legal everywhere. They
kono
parents:
diff changeset
236 can be used to patch away BRIG entries at the binary level.
kono
parents:
diff changeset
237 Also add extra error detection for zeroed regions: make sure
kono
parents:
diff changeset
238 the byteCount field is never zero.
145
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
239 * brigfrontend/phsa.h: Added a new error prefix for
111
kono
parents:
diff changeset
240 errors which are due to corrupted BRIG modules.
kono
parents:
diff changeset
241
kono
parents:
diff changeset
242 2017-10-09 Henry Linjamäki <henry.linjamaki@parmance.com>
kono
parents:
diff changeset
243
kono
parents:
diff changeset
244 * brigfrontend/brig-branch-inst-handler.cc: The call code
kono
parents:
diff changeset
245 still failed a few test cases. Now all PRM cases pass again.
kono
parents:
diff changeset
246
kono
parents:
diff changeset
247 2017-10-03 Henry Linjamäki <henry.linjamaki@parmance.com>
kono
parents:
diff changeset
248
kono
parents:
diff changeset
249 * brigfrontend/brig-branch-inst-handler.cc: Fix (more) crash with
kono
parents:
diff changeset
250 calls with more than 4 args. It missed a reference which is required
kono
parents:
diff changeset
251 because vector expansion can move the object to another location.
kono
parents:
diff changeset
252
kono
parents:
diff changeset
253 2017-09-29 Henry Linjamäki <henry.linjamaki@parmance.com>
kono
parents:
diff changeset
254
kono
parents:
diff changeset
255 * brigfrontend/brig-branch-inst-handler.cc: Fix crash with
kono
parents:
diff changeset
256 calls with more than 4 args. Also fix a misexecution issue
kono
parents:
diff changeset
257 with kernels that have both unexpanded ID functions and
kono
parents:
diff changeset
258 calls to subfunctions.
kono
parents:
diff changeset
259
kono
parents:
diff changeset
260 2017-09-28 Henry Linjamäki <henry.linjamaki@parmance.com>
kono
parents:
diff changeset
261
kono
parents:
diff changeset
262 * brig-lang.c: Added function attributes and their handlers.
kono
parents:
diff changeset
263 Make BRIGFE 3-level optimize by default.
kono
parents:
diff changeset
264
kono
parents:
diff changeset
265 2017-09-27 Pekka Jääskeläinen <pekka.jaaskelainen@parmance.com>
kono
parents:
diff changeset
266
kono
parents:
diff changeset
267 * brig-lang.c: Improved support for function and module scope
kono
parents:
diff changeset
268 group segment variables. PRM specs defines function and module
kono
parents:
diff changeset
269 scope group segment variables as an experimental feature. However,
kono
parents:
diff changeset
270 PRM test suite uses and hcc relies on them. In addition, hcc
kono
parents:
diff changeset
271 assumes certain group variable layout in its dynamic group segment
kono
parents:
diff changeset
272 allocation code. We cannot have global group memory offsets if we
kono
parents:
diff changeset
273 want to both have kernel-specific group segment size and multiple
kono
parents:
diff changeset
274 kernels calling the same functions that use function scope group memory
kono
parents:
diff changeset
275 variables. Now group segment is handled by separate book keeping of
kono
parents:
diff changeset
276 module scope and function (kernel) offsets. Each function has a "frame"
kono
parents:
diff changeset
277 in the group segment offset to which is given as an argument.
kono
parents:
diff changeset
278 * brigfrontend/brig-branch-inst-handler.cc: See above.
kono
parents:
diff changeset
279 * brigfrontend/brig-code-entry-handler.cc: See above.
kono
parents:
diff changeset
280 * brigfrontend/brig-fbarrier-handler.cc: See above.
kono
parents:
diff changeset
281 * brigfrontend/brig-function-handler.cc: See above.
kono
parents:
diff changeset
282 * brigfrontend/brig-function.cc: See above.
kono
parents:
diff changeset
283 * brigfrontend/brig-function.h: See above.
kono
parents:
diff changeset
284 * brigfrontend/brig-to-generic.cc: See above.
kono
parents:
diff changeset
285 * brigfrontend/brig-to-generic.h: See above.
kono
parents:
diff changeset
286 * brigfrontend/brig-util.cc: See above.
kono
parents:
diff changeset
287 * brigfrontend/brig-util.h: See above.
kono
parents:
diff changeset
288 * brigfrontend/brig-variable-handler.cc: See above.
kono
parents:
diff changeset
289
kono
parents:
diff changeset
290 2017-09-25 Pekka Jääskeläinen <pekka.jaaskelainen@parmance.com>
kono
parents:
diff changeset
291
kono
parents:
diff changeset
292 * brigfrontend/brig-to-generic.cc: Ensure per WI copies of
kono
parents:
diff changeset
293 private variables are aligned too.
kono
parents:
diff changeset
294
kono
parents:
diff changeset
295 2017-09-17 Thomas Schwinge <thomas@codesourcery.com>
kono
parents:
diff changeset
296
kono
parents:
diff changeset
297 * Make-lang.in (GO_TEXI_FILES): Rename to...
kono
parents:
diff changeset
298 (BRIG_TEXI_FILES): ... this.
kono
parents:
diff changeset
299 (doc/gccbrig.info, doc/gccbrig.dvi, doc/gccbrig.pdf, brig.info)
kono
parents:
diff changeset
300 (brig.srcinfo, brig.man, brig.srcman, brig.install-man)
kono
parents:
diff changeset
301 ($(DESTDIR)$(man1dir)/$(GCCBRIG_INSTALL_NAME)$(man1ext)):
kono
parents:
diff changeset
302 Uncomment/enable targets.
kono
parents:
diff changeset
303 (gccbrig.pod): New target.
kono
parents:
diff changeset
304 * gccbrig.texi: New file.
kono
parents:
diff changeset
305
kono
parents:
diff changeset
306 2017-08-04 Henry Linjamäki <henry.linjamaki@parmance.com>
kono
parents:
diff changeset
307
kono
parents:
diff changeset
308 Fix PR 81713
kono
parents:
diff changeset
309 * brigfrontend/brig-basic-inst-handler.cc: replace build_int_cst with
kono
parents:
diff changeset
310 bitsize_int in building BIT_FIELD_REF.
kono
parents:
diff changeset
311 * brigfrontend/brig-code-entry-handler.cc: likewise.
kono
parents:
diff changeset
312
kono
parents:
diff changeset
313 2017-07-05 Richard Sandiford <richard.sandiford@linaro.org>
kono
parents:
diff changeset
314 Alan Hayward <alan.hayward@arm.com>
kono
parents:
diff changeset
315 David Sherwood <david.sherwood@arm.com>
kono
parents:
diff changeset
316
kono
parents:
diff changeset
317 * brig-c.h (brig_type_for_mode): Remove "enum" before "machine_mode".
kono
parents:
diff changeset
318 * brig-lang.c (brig_langhook_type_for_mode): Likewise.
kono
parents:
diff changeset
319
kono
parents:
diff changeset
320 2017-07-04 Jakub Jelinek <jakub@redhat.com>
kono
parents:
diff changeset
321
kono
parents:
diff changeset
322 * brigfrontend/brig-function.cc: Include profile-count.h.
kono
parents:
diff changeset
323 * brigfrontend/brig-to-generic.cc: Likewise.
kono
parents:
diff changeset
324
kono
parents:
diff changeset
325 2017-05-18 Thomas Schwinge <thomas@codesourcery.com>
kono
parents:
diff changeset
326
kono
parents:
diff changeset
327 * brigfrontend/brig-to-generic.h (class brig_to_generic): Use
kono
parents:
diff changeset
328 "dump_flags_t" for "m_dump_flags" member.
kono
parents:
diff changeset
329
kono
parents:
diff changeset
330 2017-05-13 Pekka Jääskeläinen <pekka.jaaskelainen@parmance.com>
kono
parents:
diff changeset
331
kono
parents:
diff changeset
332 * brigfrontend/brig-code-entry-handler.cc
kono
parents:
diff changeset
333 (brig_code_entry_handler::build_address_operand): Fix
kono
parents:
diff changeset
334 an assertion when doing an 'lda' of a private array
kono
parents:
diff changeset
335 offset.
kono
parents:
diff changeset
336
kono
parents:
diff changeset
337 2017-05-03 Pekka Jääskeläinen <pekka.jaaskelainen@parmance.com>
kono
parents:
diff changeset
338
kono
parents:
diff changeset
339 * brigfrontend/brig-code-entry-handler.cc
kono
parents:
diff changeset
340 (brig_code_entry_handler::build_address_operand): Fix a bug
kono
parents:
diff changeset
341 with reg+offset addressing on 32b segments. In large mode,
kono
parents:
diff changeset
342 the offset is treated as 32bits unless it's global, readonly or
kono
parents:
diff changeset
343 kernarg address space.
kono
parents:
diff changeset
344
kono
parents:
diff changeset
345 2016-02-01 Pekka Jääskeläinen <pekka.jaaskelainen@parmance.com>
kono
parents:
diff changeset
346
kono
parents:
diff changeset
347 * brigfrontend/brig-code-entry-handler.cc: fix address
kono
parents:
diff changeset
348 expressions which refer only to offset 0, but nothing else.
kono
parents:
diff changeset
349 * brigfrontend/brig-lane-inst-handler.cc: fix
kono
parents:
diff changeset
350 activelanepermute_b64 HSAIL instruction.
kono
parents:
diff changeset
351 * brigfrontend/brig-to-generic.cc: remove useless c_str()
kono
parents:
diff changeset
352 call. Add missing va_end (). Fix PR79250.
kono
parents:
diff changeset
353
kono
parents:
diff changeset
354 2017-01-30 Jakub Jelinek <jakub@redhat.com>
kono
parents:
diff changeset
355
kono
parents:
diff changeset
356 * brigfrontend/brig-code-entry-handler.cc
kono
parents:
diff changeset
357 (brig_code_entry_handler::get_tree_cst_for_hsa_operand): For %lu
kono
parents:
diff changeset
358 cast size_t arguments to unsigned long.
kono
parents:
diff changeset
359
kono
parents:
diff changeset
360 2017-01-27 Pekka Jääskeläinen <pekka.jaaskelainen@parmance.com>
kono
parents:
diff changeset
361
kono
parents:
diff changeset
362 * config-lang.in: Removed stale target-libbrig reference.
kono
parents:
diff changeset
363
kono
parents:
diff changeset
364 2017-01-26 Jakub Jelinek <jakub@redhat.com>
kono
parents:
diff changeset
365
kono
parents:
diff changeset
366 Update copyright years.
kono
parents:
diff changeset
367
kono
parents:
diff changeset
368 2017-01-24 Pekka Jääskeläinen <pekka@parmance.com>
kono
parents:
diff changeset
369 Martin Jambor <mjambor@suse.cz>
kono
parents:
diff changeset
370
kono
parents:
diff changeset
371 * Make-lang.in: New file.
kono
parents:
diff changeset
372 * brig-builtins.h: Likewise.
kono
parents:
diff changeset
373 * brig-c.h: Likewise.
kono
parents:
diff changeset
374 * brig-lang.c: Likewise.
kono
parents:
diff changeset
375 * brigspec.c: Likewise.
kono
parents:
diff changeset
376 * config-lang.in: Likewise.
kono
parents:
diff changeset
377 * lang-specs.h: Likewise.
kono
parents:
diff changeset
378 * lang.opt: Likewise.
kono
parents:
diff changeset
379 * brigfrontend/brig-arg-block-handler.cc: Likewise.
kono
parents:
diff changeset
380 * brigfrontend/brig-atomic-inst-handler.cc: Likewise.
kono
parents:
diff changeset
381 * brigfrontend/brig-basic-inst-handler.cc: Likewise.
kono
parents:
diff changeset
382 * brigfrontend/brig-branch-inst-handler.cc: Likewise.
kono
parents:
diff changeset
383 * brigfrontend/brig-cmp-inst-handler.cc: Likewise.
kono
parents:
diff changeset
384 * brigfrontend/brig-code-entry-handler.cc: Likewise.
kono
parents:
diff changeset
385 * brigfrontend/brig-code-entry-handler.h: Likewise.
kono
parents:
diff changeset
386 * brigfrontend/brig-comment-handler.cc: Likewise.
kono
parents:
diff changeset
387 * brigfrontend/brig-control-handler.cc: Likewise.
kono
parents:
diff changeset
388 * brigfrontend/brig-copy-move-inst-handler.cc: Likewise.
kono
parents:
diff changeset
389 * brigfrontend/brig-cvt-inst-handler.cc: Likewise.
kono
parents:
diff changeset
390 * brigfrontend/brig-fbarrier-handler.cc: Likewise.
kono
parents:
diff changeset
391 * brigfrontend/brig-function-handler.cc: Likewise.
kono
parents:
diff changeset
392 * brigfrontend/brig-function.cc: Likewise.
kono
parents:
diff changeset
393 * brigfrontend/brig-function.h: Likewise.
kono
parents:
diff changeset
394 * brigfrontend/brig-inst-mod-handler.cc: Likewise.
kono
parents:
diff changeset
395 * brigfrontend/brig-label-handler.cc: Likewise.
kono
parents:
diff changeset
396 * brigfrontend/brig-lane-inst-handler.cc: Likewise.
kono
parents:
diff changeset
397 * brigfrontend/brig-machine.c: Likewise.
kono
parents:
diff changeset
398 * brigfrontend/brig-machine.h: Likewise.
kono
parents:
diff changeset
399 * brigfrontend/brig-mem-inst-handler.cc: Likewise.
kono
parents:
diff changeset
400 * brigfrontend/brig-module-handler.cc: Likewise.
kono
parents:
diff changeset
401 * brigfrontend/brig-queue-inst-handler.cc: Likewise.
kono
parents:
diff changeset
402 * brigfrontend/brig-seg-inst-handler.cc: Likewise.
kono
parents:
diff changeset
403 * brigfrontend/brig-signal-inst-handler.cc: Likewise.
kono
parents:
diff changeset
404 * brigfrontend/brig-to-generic.cc: Likewise.
kono
parents:
diff changeset
405 * brigfrontend/brig-to-generic.h: Likewise.
kono
parents:
diff changeset
406 * brigfrontend/brig-util.cc: Likewise.
kono
parents:
diff changeset
407 * brigfrontend/brig-util.h: Likewise.
kono
parents:
diff changeset
408 * brigfrontend/brig-variable-handler.cc: Likewise.
kono
parents:
diff changeset
409 * brigfrontend/phsa.h: Likewise.