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