450 lines
16 KiB
Plaintext
450 lines
16 KiB
Plaintext
2023-05-29 Release Manager
|
|
|
|
* GCC 11.4.0 released.
|
|
|
|
2022-04-21 Release Manager
|
|
|
|
* GCC 11.3.0 released.
|
|
|
|
2021-07-28 Release Manager
|
|
|
|
* GCC 11.2.0 released.
|
|
|
|
2021-04-27 Release Manager
|
|
|
|
* GCC 11.1.0 released.
|
|
|
|
2020-12-16 Martin Liska <mliska@suse.cz>
|
|
|
|
* lang.opt: Remove usage of Report.
|
|
|
|
2020-11-20 Jakub Jelinek <jakub@redhat.com>
|
|
|
|
PR other/97911
|
|
* Make-lang.in (brig.serial): Change from goal to a variable.
|
|
(.PHONY): Drop brig.serial and brig.prev.
|
|
(brig1$(exeext)): Depend on $(brig.serial) rather than brig.serial.
|
|
|
|
2020-11-18 Jakub Jelinek <jakub@redhat.com>
|
|
|
|
* Make-lang.in (brig.serial): New goal.
|
|
(.PHONY): Add brig.serial brig.prev.
|
|
(brig1$(exeext)): Depend on brig.prev. Call LINK_PROGRESS.
|
|
|
|
2020-08-03 Martin Jambor <mjambor@suse.cz>
|
|
|
|
* brigfrontend/brig-util.h (hsa_type_packed_p): Declared.
|
|
* brigfrontend/brig-util.cc (hsa_type_packed_p): Moved here from
|
|
removed gcc/hsa-common.c.
|
|
* brigfrontend/hsa-brig-format.h: New file.
|
|
|
|
2020-01-01 Jakub Jelinek <jakub@redhat.com>
|
|
|
|
Update copyright years.
|
|
|
|
2019-10-04 Joseph Myers <joseph@codesourcery.com>
|
|
|
|
* brig-lang.c (flag_isoc2x): New variable.
|
|
|
|
2019-08-23 Jakub Jelinek <jakub@redhat.com>
|
|
|
|
PR middle-end/91283
|
|
* brig-lang.c (brig_langhook_post_options): Set flag_excess_precision
|
|
instead of flag_excess_precision_cmdline.
|
|
|
|
2019-06-25 Jozef Lawrynowicz <jozef.l@mittosystems.com>
|
|
|
|
* brig-lang.c (brig_build_c_type_nodes): Accept "__intN__"
|
|
format of "__intN" types for SIZE_TYPE.
|
|
|
|
2019-05-16 Martin Sebor <msebor@redhat.com>
|
|
|
|
* brigfrontend/brig-control-handler.cc
|
|
(brig_directive_control_handler::operator): Remove trailing newline
|
|
from a diagnostic.
|
|
* brigfrontend/brig-module-handler.cc
|
|
(brig_directive_module_handler::operator): Remove a duplicated space
|
|
from a diagnostic.
|
|
|
|
2019-01-01 Jakub Jelinek <jakub@redhat.com>
|
|
|
|
Update copyright years.
|
|
|
|
2018-10-17 David Malcolm <dmalcolm@redhat.com>
|
|
|
|
* Make-lang.in (selftest-brig): New.
|
|
|
|
2018-07-20 Martin Sebor <msebor@redhat.com>
|
|
|
|
PR middle-end/82063
|
|
* brig-lang.c (brig_langhook_handle_option): Change function
|
|
argument to HOST_WIDE_INT.
|
|
|
|
2018-07-04 Martin Jambor <mjambor@suse.cz>
|
|
|
|
PR hsa/86371
|
|
* Make-lang.in (BRIGINCLUDES): Remove erroneous include path in $HOME.
|
|
|
|
2018-06-28 Martin Liska <mliska@suse.cz>
|
|
|
|
* brigspec.c: Add missing header file inclusion.
|
|
|
|
2018-06-08 David Malcolm <dmalcolm@redhat.com>
|
|
|
|
* brigfrontend/brig-to-generic.cc
|
|
(brig_to_generic::write_globals): Use TDF_NONE rather than 0.
|
|
(dump_function): Likewise.
|
|
|
|
2018-05-18 Richard Sandiford <richard.sandiford@linaro.org>
|
|
|
|
* brigfrontend/brig-function.cc
|
|
(brig_function::get_builtin_for_hsa_opcode): Use BUILT_IN_FMA
|
|
for BRIG_OPCODE_FMA.
|
|
(brig_function::get_tree_code_for_hsa_opcode): Treat BUILT_IN_FMA
|
|
as a call.
|
|
|
|
2018-05-04 Pekka Jääskeläinen <pekka.jaaskelainen@parmance.com>
|
|
|
|
* brigfrontend/brig-basic-inst-handler.cc: Fix handling of NOPs.
|
|
|
|
2018-05-04 Pekka Jääskeläinen <pekka.jaaskelainen@parmance.com>
|
|
|
|
Add flag -fassume-phsa that is on by default. If -fno-assume-phsa
|
|
is given, these optimizations are disabled. With this flag, gccbrig
|
|
can generate GENERIC that assumes we are targeting a phsa-runtime
|
|
based implementation, which allows us to expose the work-item context
|
|
accesses to retrieve WI IDs etc. which helps optimizers.
|
|
First optimization that takes advantage of this is to get rid of
|
|
the setworkitemid calls whenever we have non-inlined calls that
|
|
use IDs internally. Other optimizations added in this commit:
|
|
- expand absoluteid to similar level of simplicity as workitemid.
|
|
At the moment absoluteid is the best indexing ID to end up with
|
|
WG vectorization.
|
|
- propagate ID variables closer to their uses. This is mainly
|
|
to avoid known useless casts, which confuse at least scalar
|
|
evolution analysis.
|
|
- use signed long long for storing IDs. Unsigned integers have
|
|
defined wraparound semantics, which confuse at least scalar
|
|
evolution analysis, leading to unvectorizable WI loops.
|
|
- also refactor some BRIG function generation helpers to brig_function.
|
|
- no point in having the wi-loop as a for-loop. It's really
|
|
a do...while and SCEV can analyze it just fine still.
|
|
- add consts to ptrs etc. in BRIG builtin defs.
|
|
Improves optimization opportunities.
|
|
- add qualifiers to generated function parameters.
|
|
Const and restrict on the hidden local/private pointers,
|
|
the arg buffer and the context pointer help some optimizations.
|
|
* brigfrontend/brig-basic-inst-handler.cc: See above.
|
|
* brigfrontend/brig-branch-inst-handler.cc: See above.
|
|
* brigfrontend/brig-cmp-inst-handler.cc: See above.
|
|
* brigfrontend/brig-code-entry-handler.cc: See above.
|
|
* brigfrontend/brig-code-entry-handler.h: See above.
|
|
* brigfrontend/brig-control-handler.cc: See above.
|
|
* brigfrontend/brig-cvt-inst-handler.cc: See above.
|
|
* brigfrontend/brig-function-handler.cc: See above.
|
|
* brigfrontend/brig-function.cc: See above.
|
|
* brigfrontend/brig-function.h: See above.
|
|
* brigfrontend/brig-label-handler.cc: See above.
|
|
* brigfrontend/brig-lane-inst-handler.cc: See above.
|
|
* brigfrontend/brig-mem-inst-handler.cc: See above.
|
|
* brigfrontend/phsa.h: See above.
|
|
* lang.opt: See above.
|
|
|
|
2018-05-04 Pekka Jääskeläinen <pekka.jaaskelainen@parmance.com>
|
|
|
|
* brigfrontend/brig-function-handler.cc: Skip multiple forward
|
|
declarations of the same function.
|
|
|
|
2018-05-04 Pekka Jääskeläinen <pekka.jaaskelainen@parmance.com>
|
|
|
|
* brig-lang.c: Do not allow optimizations based on known C
|
|
builtins.
|
|
|
|
2018-05-04 Pekka Jääskeläinen <pekka.jaaskelainen@parmance.com>
|
|
|
|
* brig-lang.c: Allow controlling strict aliasing from
|
|
cmd line.
|
|
|
|
2018-05-04 Pekka Jääskeläinen <pekka.jaaskelainen@parmance.com>
|
|
|
|
* brigfrontend/brig-code-entry-handler.cc: The modulo in
|
|
ID computation should not be needed.
|
|
|
|
2018-05-04 Pekka Jääskeläinen <pekka.jaaskelainen@parmance.com>
|
|
|
|
* brig-lang.c: Add support for whole program
|
|
optimizations by marking the kernels externally visible.
|
|
* brigfrontend/brig-branch-inst-handler.cc: See above.
|
|
* brigfrontend/brig-function-handler.cc: See above.
|
|
* brigfrontend/brig-function.cc: See above.
|
|
* brigfrontend/brig-to-generic.cc: See above.
|
|
* brigfrontend/brig-to-generic.h: See above.
|
|
* brigfrontend/brig-variable-handler.h: See above.
|
|
|
|
2018-01-03 Richard Sandiford <richard.sandiford@linaro.org>
|
|
Alan Hayward <alan.hayward@arm.com>
|
|
David Sherwood <david.sherwood@arm.com>
|
|
|
|
* brigfrontend/brig-to-generic.cc (get_unsigned_int_type): Handle
|
|
polynomial TYPE_VECTOR_SUBPARTS.
|
|
* brigfrontend/brig-util.h (gccbrig_type_vector_subparts): Likewise.
|
|
|
|
2018-01-03 Jakub Jelinek <jakub@redhat.com>
|
|
|
|
Update copyright years.
|
|
|
|
2018-01-03 Richard Sandiford <richard.sandiford@linaro.org>
|
|
Alan Hayward <alan.hayward@arm.com>
|
|
David Sherwood <david.sherwood@arm.com>
|
|
|
|
* brigfrontend/brig-util.h (gccbrig_type_vector_subparts): New
|
|
function.
|
|
* brigfrontend/brig-basic-inst-handler.cc
|
|
(brig_basic_inst_handler::build_shuffle): Use it instead of
|
|
TYPE_VECTOR_SUBPARTS.
|
|
(brig_basic_inst_handler::build_unpack): Likewise.
|
|
(brig_basic_inst_handler::build_pack): Likewise.
|
|
(brig_basic_inst_handler::build_unpack_lo_or_hi): Likewise.
|
|
(brig_basic_inst_handler::operator ()): Likewise.
|
|
(brig_basic_inst_handler::build_lower_element_broadcast): Likewise.
|
|
* brigfrontend/brig-code-entry-handler.cc
|
|
(brig_code_entry_handler::get_tree_cst_for_hsa_operand): Likewise.
|
|
(brig_code_entry_handler::get_comparison_result_type): Likewise.
|
|
(brig_code_entry_handler::expand_or_call_builtin): Likewise.
|
|
|
|
2017-12-15 Jakub Jelinek <jakub@redhat.com>
|
|
|
|
* brig-lang.c (brig_attribute_table): Swap affects_type_identity
|
|
and handler fields, adjust comments.
|
|
|
|
2017-12-08 Jakub Jelinek <jakub@redhat.com>
|
|
|
|
* brig-lang.c (brig_attribute_table): Fix up comment.
|
|
|
|
2017-11-28 Jakub Jelinek <jakub@redhat.com>
|
|
|
|
* brigfrontend/brig-branch-inst-handler.cc
|
|
(brig_branch_inst_handler::operator): Build SWITCH_EXPR using build2
|
|
instead of build3.
|
|
|
|
2017-11-17 Henry Linjamäki <henry.linjamaki@parmance.com>
|
|
|
|
* brigfrontend/brig-util.cc: Fix sprintf format string type mismatch
|
|
on 32b machines.
|
|
|
|
2017-11-16 Henry Linjamäki <henry.linjamaki@parmance.com>
|
|
|
|
Change internal representation of HSA registers. Instead
|
|
representing HSA's untyped registers as unsigned int the gccbrig
|
|
analyzes brig code and builds the register variables as a type
|
|
used in tree expressions at most. This gives better chance to
|
|
optimize CONVERT_VIEW_EXPRs away.
|
|
* brigfrontend/brig-code-entry-handler.cc: Add analysis method for
|
|
register type usage. Handle any-typed register variables.
|
|
* brigfrontend/brig-code-entry-handler.h: New declarations for the
|
|
above.
|
|
* brigfrontend/brig-copy-move-inst-handler.cc: Handle any-typed
|
|
register variables.
|
|
* brigfrontend/brig-cvt-inst-handler.cc: Likewise.
|
|
* brigfrontend/brig-function.cc: Build register variables as a
|
|
type based on results of analysis phase.
|
|
* brigfrontend/brig-function.h: Move HSA register count defines to
|
|
brig-utils.h.
|
|
* brigfrontend/brig-to-generic.cc: New analysis handler. Analyze
|
|
HSA register usage.
|
|
* brigfrontend/brig-to-generic.h: New declarations.
|
|
* brigfrontend/brig-util.cc: New utility functions.
|
|
* brigfrontend/brig-util.h: New declarations for the above.
|
|
|
|
2017-11-16 Pekka Jääskeläinen <pekka.jaaskelainen@parmance.com>
|
|
|
|
* gccbrig.texi: Added some documentation.
|
|
|
|
2017-10-31 Henry Linjamäki <henry.linjamaki@parmance.com>
|
|
|
|
* brig-lang.c (brig_langhook_type_for_mode): Fix PR 82771.
|
|
|
|
2017-10-23 Richard Sandiford <richard.sandiford@linaro.org>
|
|
|
|
* brig-lang.c (brig_langhook_type_for_mode): Use scalar_int_mode
|
|
and scalar_float_mode.
|
|
|
|
2017-10-09 Pekka Jääskeläinen <pekka.jaaskelainen@parmance.com>
|
|
|
|
* brigfrontend/brig-to-generic.cc: Support BRIG_KIND_NONE
|
|
directives. These directives are legal everywhere. They
|
|
can be used to patch away BRIG entries at the binary level.
|
|
Also add extra error detection for zeroed regions: make sure
|
|
the byteCount field is never zero.
|
|
* brigfrontend/phsa.h: Added a new error prefix for
|
|
errors which are due to corrupted BRIG modules.
|
|
|
|
2017-10-09 Henry Linjamäki <henry.linjamaki@parmance.com>
|
|
|
|
* brigfrontend/brig-branch-inst-handler.cc: The call code
|
|
still failed a few test cases. Now all PRM cases pass again.
|
|
|
|
2017-10-03 Henry Linjamäki <henry.linjamaki@parmance.com>
|
|
|
|
* brigfrontend/brig-branch-inst-handler.cc: Fix (more) crash with
|
|
calls with more than 4 args. It missed a reference which is required
|
|
because vector expansion can move the object to another location.
|
|
|
|
2017-09-29 Henry Linjamäki <henry.linjamaki@parmance.com>
|
|
|
|
* brigfrontend/brig-branch-inst-handler.cc: Fix crash with
|
|
calls with more than 4 args. Also fix a misexecution issue
|
|
with kernels that have both unexpanded ID functions and
|
|
calls to subfunctions.
|
|
|
|
2017-09-28 Henry Linjamäki <henry.linjamaki@parmance.com>
|
|
|
|
* brig-lang.c: Added function attributes and their handlers.
|
|
Make BRIGFE 3-level optimize by default.
|
|
|
|
2017-09-27 Pekka Jääskeläinen <pekka.jaaskelainen@parmance.com>
|
|
|
|
* brig-lang.c: Improved support for function and module scope
|
|
group segment variables. PRM specs defines function and module
|
|
scope group segment variables as an experimental feature. However,
|
|
PRM test suite uses and hcc relies on them. In addition, hcc
|
|
assumes certain group variable layout in its dynamic group segment
|
|
allocation code. We cannot have global group memory offsets if we
|
|
want to both have kernel-specific group segment size and multiple
|
|
kernels calling the same functions that use function scope group memory
|
|
variables. Now group segment is handled by separate book keeping of
|
|
module scope and function (kernel) offsets. Each function has a "frame"
|
|
in the group segment offset to which is given as an argument.
|
|
* brigfrontend/brig-branch-inst-handler.cc: See above.
|
|
* brigfrontend/brig-code-entry-handler.cc: See above.
|
|
* brigfrontend/brig-fbarrier-handler.cc: See above.
|
|
* brigfrontend/brig-function-handler.cc: See above.
|
|
* brigfrontend/brig-function.cc: See above.
|
|
* brigfrontend/brig-function.h: See above.
|
|
* brigfrontend/brig-to-generic.cc: See above.
|
|
* brigfrontend/brig-to-generic.h: See above.
|
|
* brigfrontend/brig-util.cc: See above.
|
|
* brigfrontend/brig-util.h: See above.
|
|
* brigfrontend/brig-variable-handler.cc: See above.
|
|
|
|
2017-09-25 Pekka Jääskeläinen <pekka.jaaskelainen@parmance.com>
|
|
|
|
* brigfrontend/brig-to-generic.cc: Ensure per WI copies of
|
|
private variables are aligned too.
|
|
|
|
2017-09-17 Thomas Schwinge <thomas@codesourcery.com>
|
|
|
|
* Make-lang.in (GO_TEXI_FILES): Rename to...
|
|
(BRIG_TEXI_FILES): ... this.
|
|
(doc/gccbrig.info, doc/gccbrig.dvi, doc/gccbrig.pdf, brig.info)
|
|
(brig.srcinfo, brig.man, brig.srcman, brig.install-man)
|
|
($(DESTDIR)$(man1dir)/$(GCCBRIG_INSTALL_NAME)$(man1ext)):
|
|
Uncomment/enable targets.
|
|
(gccbrig.pod): New target.
|
|
* gccbrig.texi: New file.
|
|
|
|
2017-08-04 Henry Linjamäki <henry.linjamaki@parmance.com>
|
|
|
|
Fix PR 81713
|
|
* brigfrontend/brig-basic-inst-handler.cc: replace build_int_cst with
|
|
bitsize_int in building BIT_FIELD_REF.
|
|
* brigfrontend/brig-code-entry-handler.cc: likewise.
|
|
|
|
2017-07-05 Richard Sandiford <richard.sandiford@linaro.org>
|
|
Alan Hayward <alan.hayward@arm.com>
|
|
David Sherwood <david.sherwood@arm.com>
|
|
|
|
* brig-c.h (brig_type_for_mode): Remove "enum" before "machine_mode".
|
|
* brig-lang.c (brig_langhook_type_for_mode): Likewise.
|
|
|
|
2017-07-04 Jakub Jelinek <jakub@redhat.com>
|
|
|
|
* brigfrontend/brig-function.cc: Include profile-count.h.
|
|
* brigfrontend/brig-to-generic.cc: Likewise.
|
|
|
|
2017-05-18 Thomas Schwinge <thomas@codesourcery.com>
|
|
|
|
* brigfrontend/brig-to-generic.h (class brig_to_generic): Use
|
|
"dump_flags_t" for "m_dump_flags" member.
|
|
|
|
2017-05-13 Pekka Jääskeläinen <pekka.jaaskelainen@parmance.com>
|
|
|
|
* brigfrontend/brig-code-entry-handler.cc
|
|
(brig_code_entry_handler::build_address_operand): Fix
|
|
an assertion when doing an 'lda' of a private array
|
|
offset.
|
|
|
|
2017-05-03 Pekka Jääskeläinen <pekka.jaaskelainen@parmance.com>
|
|
|
|
* brigfrontend/brig-code-entry-handler.cc
|
|
(brig_code_entry_handler::build_address_operand): Fix a bug
|
|
with reg+offset addressing on 32b segments. In large mode,
|
|
the offset is treated as 32bits unless it's global, readonly or
|
|
kernarg address space.
|
|
|
|
2016-02-01 Pekka Jääskeläinen <pekka.jaaskelainen@parmance.com>
|
|
|
|
* brigfrontend/brig-code-entry-handler.cc: fix address
|
|
expressions which refer only to offset 0, but nothing else.
|
|
* brigfrontend/brig-lane-inst-handler.cc: fix
|
|
activelanepermute_b64 HSAIL instruction.
|
|
* brigfrontend/brig-to-generic.cc: remove useless c_str()
|
|
call. Add missing va_end (). Fix PR79250.
|
|
|
|
2017-01-30 Jakub Jelinek <jakub@redhat.com>
|
|
|
|
* brigfrontend/brig-code-entry-handler.cc
|
|
(brig_code_entry_handler::get_tree_cst_for_hsa_operand): For %lu
|
|
cast size_t arguments to unsigned long.
|
|
|
|
2017-01-27 Pekka Jääskeläinen <pekka.jaaskelainen@parmance.com>
|
|
|
|
* config-lang.in: Removed stale target-libbrig reference.
|
|
|
|
2017-01-26 Jakub Jelinek <jakub@redhat.com>
|
|
|
|
Update copyright years.
|
|
|
|
2017-01-24 Pekka Jääskeläinen <pekka@parmance.com>
|
|
Martin Jambor <mjambor@suse.cz>
|
|
|
|
* Make-lang.in: New file.
|
|
* brig-builtins.h: Likewise.
|
|
* brig-c.h: Likewise.
|
|
* brig-lang.c: Likewise.
|
|
* brigspec.c: Likewise.
|
|
* config-lang.in: Likewise.
|
|
* lang-specs.h: Likewise.
|
|
* lang.opt: Likewise.
|
|
* brigfrontend/brig-arg-block-handler.cc: Likewise.
|
|
* brigfrontend/brig-atomic-inst-handler.cc: Likewise.
|
|
* brigfrontend/brig-basic-inst-handler.cc: Likewise.
|
|
* brigfrontend/brig-branch-inst-handler.cc: Likewise.
|
|
* brigfrontend/brig-cmp-inst-handler.cc: Likewise.
|
|
* brigfrontend/brig-code-entry-handler.cc: Likewise.
|
|
* brigfrontend/brig-code-entry-handler.h: Likewise.
|
|
* brigfrontend/brig-comment-handler.cc: Likewise.
|
|
* brigfrontend/brig-control-handler.cc: Likewise.
|
|
* brigfrontend/brig-copy-move-inst-handler.cc: Likewise.
|
|
* brigfrontend/brig-cvt-inst-handler.cc: Likewise.
|
|
* brigfrontend/brig-fbarrier-handler.cc: Likewise.
|
|
* brigfrontend/brig-function-handler.cc: Likewise.
|
|
* brigfrontend/brig-function.cc: Likewise.
|
|
* brigfrontend/brig-function.h: Likewise.
|
|
* brigfrontend/brig-inst-mod-handler.cc: Likewise.
|
|
* brigfrontend/brig-label-handler.cc: Likewise.
|
|
* brigfrontend/brig-lane-inst-handler.cc: Likewise.
|
|
* brigfrontend/brig-machine.c: Likewise.
|
|
* brigfrontend/brig-machine.h: Likewise.
|
|
* brigfrontend/brig-mem-inst-handler.cc: Likewise.
|
|
* brigfrontend/brig-module-handler.cc: Likewise.
|
|
* brigfrontend/brig-queue-inst-handler.cc: Likewise.
|
|
* brigfrontend/brig-seg-inst-handler.cc: Likewise.
|
|
* brigfrontend/brig-signal-inst-handler.cc: Likewise.
|
|
* brigfrontend/brig-to-generic.cc: Likewise.
|
|
* brigfrontend/brig-to-generic.h: Likewise.
|
|
* brigfrontend/brig-util.cc: Likewise.
|
|
* brigfrontend/brig-util.h: Likewise.
|
|
* brigfrontend/brig-variable-handler.cc: Likewise.
|
|
* brigfrontend/phsa.h: Likewise.
|