annotate gcc/brig/ChangeLog @ 131:84e7813d76e9

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