Mercurial > hg > CbC > CbC_gcc
comparison gcc/brig/ChangeLog @ 131:84e7813d76e9
gcc-8.2
author | mir3636 |
---|---|
date | Thu, 25 Oct 2018 07:37:49 +0900 |
parents | 04ced10e8804 |
children | 1830386684a0 |
comparison
equal
deleted
inserted
replaced
111:04ced10e8804 | 131:84e7813d76e9 |
---|---|
1 2018-10-17 David Malcolm <dmalcolm@redhat.com> | |
2 | |
3 * Make-lang.in (selftest-brig): New. | |
4 | |
5 2018-07-20 Martin Sebor <msebor@redhat.com> | |
6 | |
7 PR middle-end/82063 | |
8 * brig/brig-lang.c (brig_langhook_handle_option): Change function | |
9 argument to HOST_WIDE_INT. | |
10 | |
11 2018-07-04 Martin Jambor <mjambor@suse.cz> | |
12 | |
13 PR hsa/86371 | |
14 * Make-lang.in (BRIGINCLUDES): Remove erroneous include path in $HOME. | |
15 | |
16 2018-06-28 Martin Liska <mliska@suse.cz> | |
17 | |
18 * brigspec.c: Add missing header file inclusion. | |
19 | |
20 2018-06-08 David Malcolm <dmalcolm@redhat.com> | |
21 | |
22 * brigfrontend/brig-to-generic.cc | |
23 (brig_to_generic::write_globals): Use TDF_NONE rather than 0. | |
24 (dump_function): Likewise. | |
25 | |
26 2018-05-18 Richard Sandiford <richard.sandiford@linaro.org> | |
27 | |
28 * brigfrontend/brig-function.cc | |
29 (brig_function::get_builtin_for_hsa_opcode): Use BUILT_IN_FMA | |
30 for BRIG_OPCODE_FMA. | |
31 (brig_function::get_tree_code_for_hsa_opcode): Treat BUILT_IN_FMA | |
32 as a call. | |
33 | |
34 2018-05-04 Pekka Jääskeläinen <pekka.jaaskelainen@parmance.com> | |
35 | |
36 * brig/brigfrontend/brig-basic-inst-handler.cc: Fix handling of NOPs. | |
37 | |
38 2018-05-04 Pekka Jääskeläinen <pekka.jaaskelainen@parmance.com> | |
39 | |
40 Add flag -fassume-phsa that is on by default. If -fno-assume-phsa | |
41 is given, these optimizations are disabled. With this flag, gccbrig | |
42 can generate GENERIC that assumes we are targeting a phsa-runtime | |
43 based implementation, which allows us to expose the work-item context | |
44 accesses to retrieve WI IDs etc. which helps optimizers. | |
45 First optimization that takes advantage of this is to get rid of | |
46 the setworkitemid calls whenever we have non-inlined calls that | |
47 use IDs internally. Other optimizations added in this commit: | |
48 - expand absoluteid to similar level of simplicity as workitemid. | |
49 At the moment absoluteid is the best indexing ID to end up with | |
50 WG vectorization. | |
51 - propagate ID variables closer to their uses. This is mainly | |
52 to avoid known useless casts, which confuse at least scalar | |
53 evolution analysis. | |
54 - use signed long long for storing IDs. Unsigned integers have | |
55 defined wraparound semantics, which confuse at least scalar | |
56 evolution analysis, leading to unvectorizable WI loops. | |
57 - also refactor some BRIG function generation helpers to brig_function. | |
58 - no point in having the wi-loop as a for-loop. It's really | |
59 a do...while and SCEV can analyze it just fine still. | |
60 - add consts to ptrs etc. in BRIG builtin defs. | |
61 Improves optimization opportunities. | |
62 - add qualifiers to generated function parameters. | |
63 Const and restrict on the hidden local/private pointers, | |
64 the arg buffer and the context pointer help some optimizations. | |
65 * brig/brigfrontend/brig-basic-inst-handler.cc: See above. | |
66 * brig/brigfrontend/brig-branch-inst-handler.cc: See above. | |
67 * brig/brigfrontend/brig-cmp-inst-handler.cc: See above. | |
68 * brig/brigfrontend/brig-code-entry-handler.cc: See above. | |
69 * brig/brigfrontend/brig-code-entry-handler.h: See above. | |
70 * brig/brigfrontend/brig-control-handler.cc: See above. | |
71 * brig/brigfrontend/brig-cvt-inst-handler.cc: See above. | |
72 * brig/brigfrontend/brig-function-handler.cc: See above. | |
73 * brig/brigfrontend/brig-function.cc: See above. | |
74 * brig/brigfrontend/brig-function.h: See above. | |
75 * brig/brigfrontend/brig-label-handler.cc: See above. | |
76 * brig/brigfrontend/brig-lane-inst-handler.cc: See above. | |
77 * brig/brigfrontend/brig-mem-inst-handler.cc: See above. | |
78 * brig/brigfrontend/phsa.h: See above. | |
79 * brig/lang.opt: See above. | |
80 | |
81 2018-05-04 Pekka Jääskeläinen <pekka.jaaskelainen@parmance.com> | |
82 | |
83 * brig/brigfrontend/brig-function-handler.cc: Skip multiple forward | |
84 declarations of the same function. | |
85 | |
86 2018-05-04 Pekka Jääskeläinen <pekka.jaaskelainen@parmance.com> | |
87 | |
88 * brig/brig-lang.c: Do not allow optimizations based on known C | |
89 builtins. | |
90 | |
91 2018-05-04 Pekka Jääskeläinen <pekka.jaaskelainen@parmance.com> | |
92 | |
93 * brig/brig-lang.c: Allow controlling strict aliasing from | |
94 cmd line. | |
95 | |
96 2018-05-04 Pekka Jääskeläinen <pekka.jaaskelainen@parmance.com> | |
97 | |
98 * brig/brigfrontend/brig-code-entry-handler.cc: The modulo in | |
99 ID computation should not be needed. | |
100 | |
101 2018-05-04 Pekka Jääskeläinen <pekka.jaaskelainen@parmance.com> | |
102 | |
103 * brig/brig-lang.c: Add support for whole program | |
104 optimizations by marking the kernels externally visible. | |
105 * brig/brigfrontend/brig-branch-inst-handler.cc: See above. | |
106 * brig/brigfrontend/brig-function-handler.cc: See above. | |
107 * brig/brigfrontend/brig-function.cc: See above. | |
108 * brig/brigfrontend/brig-to-generic.cc: See above. | |
109 * brig/brigfrontend/brig-to-generic.h: See above. | |
110 * brig/brigfrontend/brig-variable-handler.h: See above. | |
111 | |
112 2018-01-03 Richard Sandiford <richard.sandiford@linaro.org> | |
113 Alan Hayward <alan.hayward@arm.com> | |
114 David Sherwood <david.sherwood@arm.com> | |
115 | |
116 * brigfrontend/brig-to-generic.cc (get_unsigned_int_type): Handle | |
117 polynomial TYPE_VECTOR_SUBPARTS. | |
118 * brigfrontend/brig-util.h (gccbrig_type_vector_subparts): Likewise. | |
119 | |
120 2018-01-03 Jakub Jelinek <jakub@redhat.com> | |
121 | |
122 Update copyright years. | |
123 | |
124 2018-01-03 Richard Sandiford <richard.sandiford@linaro.org> | |
125 Alan Hayward <alan.hayward@arm.com> | |
126 David Sherwood <david.sherwood@arm.com> | |
127 | |
128 * brigfrontend/brig-util.h (gccbrig_type_vector_subparts): New | |
129 function. | |
130 * brigfrontend/brig-basic-inst-handler.cc | |
131 (brig_basic_inst_handler::build_shuffle): Use it instead of | |
132 TYPE_VECTOR_SUBPARTS. | |
133 (brig_basic_inst_handler::build_unpack): Likewise. | |
134 (brig_basic_inst_handler::build_pack): Likewise. | |
135 (brig_basic_inst_handler::build_unpack_lo_or_hi): Likewise. | |
136 (brig_basic_inst_handler::operator ()): Likewise. | |
137 (brig_basic_inst_handler::build_lower_element_broadcast): Likewise. | |
138 * brigfrontend/brig-code-entry-handler.cc | |
139 (brig_code_entry_handler::get_tree_cst_for_hsa_operand): Likewise. | |
140 (brig_code_entry_handler::get_comparison_result_type): Likewise. | |
141 (brig_code_entry_handler::expand_or_call_builtin): Likewise. | |
142 | |
143 2017-12-15 Jakub Jelinek <jakub@redhat.com> | |
144 | |
145 * brig-lang.c (brig_attribute_table): Swap affects_type_identity | |
146 and handler fields, adjust comments. | |
147 | |
148 2017-12-08 Jakub Jelinek <jakub@redhat.com> | |
149 | |
150 * brig-lang.c (brig_attribute_table): Fix up comment. | |
151 | |
152 2017-11-28 Jakub Jelinek <jakub@redhat.com> | |
153 | |
154 * brigfrontend/brig-branch-inst-handler.cc | |
155 (brig_branch_inst_handler::operator): Build SWITCH_EXPR using build2 | |
156 instead of build3. | |
157 | |
158 2017-11-17 Henry Linjamäki <henry.linjamaki@parmance.com> | |
159 | |
160 * brigfrontend/brig-util.cc: Fix sprintf format string type mismatch | |
161 on 32b machines. | |
162 | |
163 2017-11-16 Henry Linjamäki <henry.linjamaki@parmance.com> | |
164 | |
165 Change internal representation of HSA registers. Instead | |
166 representing HSA's untyped registers as unsigned int the gccbrig | |
167 analyzes brig code and builds the register variables as a type | |
168 used in tree expressions at most. This gives better chance to | |
169 optimize CONVERT_VIEW_EXPRs away. | |
170 * brigfrontend/brig-code-entry-handler.cc: Add analysis method for | |
171 register type usage. Handle any-typed register variables. | |
172 * brigfrontend/brig-code-entry-handler.h: New declarations for the | |
173 above. | |
174 * brigfrontend/brig-copy-move-inst-handler.cc: Handle any-typed | |
175 register variables. | |
176 * brigfrontend/brig-cvt-inst-handler.cc: Likewise. | |
177 * brigfrontend/brig-function.cc: Build register variables as a | |
178 type based on results of analysis phase. | |
179 * brigfrontend/brig-function.h: Move HSA register count defines to | |
180 brig-utils.h. | |
181 * brigfrontend/brig-to-generic.cc: New analysis handler. Analyze | |
182 HSA register usage. | |
183 * brigfrontend/brig-to-generic.h: New declarations. | |
184 * brigfrontend/brig-util.cc: New utility functions. | |
185 * brigfrontend/brig-util.h: New declarations for the above. | |
186 | |
187 2017-11-16 Pekka Jääskeläinen <pekka.jaaskelainen@parmance.com> | |
188 | |
189 * gccbrig.texi: Added some documentation. | |
190 | |
191 2017-10-31 Henry Linjamäki <henry.linjamaki@parmance.com> | |
192 | |
193 * brig-lang.c (brig_langhook_type_for_mode): Fix PR 82771. | |
194 | |
1 2017-10-23 Richard Sandiford <richard.sandiford@linaro.org> | 195 2017-10-23 Richard Sandiford <richard.sandiford@linaro.org> |
2 | 196 |
3 * brig-lang.c (brig_langhook_type_for_mode): Use scalar_int_mode | 197 * brig-lang.c (brig_langhook_type_for_mode): Use scalar_int_mode |
4 and scalar_float_mode. | 198 and scalar_float_mode. |
5 | 199 |