diff options
author | Henry Linjamäki <henry.linjamaki@parmance.com> | 2017-11-16 17:20:45 +0000 |
---|---|---|
committer | Pekka Jääskeläinen <visit0r@gcc.gnu.org> | 2017-11-16 17:20:45 +0000 |
commit | dc03239c2d8607a0f5cdb13a220bcf0c7f8ed7cd (patch) | |
tree | f2316102f532f913f50ba2931a318058c4bc88e0 /gcc/brig/ChangeLog | |
parent | 35a282e0bc285f2b62dd29220a6ef3a3ed87a0b3 (diff) | |
download | gcc-dc03239c2d8607a0f5cdb13a220bcf0c7f8ed7cd.zip gcc-dc03239c2d8607a0f5cdb13a220bcf0c7f8ed7cd.tar.gz gcc-dc03239c2d8607a0f5cdb13a220bcf0c7f8ed7cd.tar.bz2 |
[BRIGFE] Reduce the number of type conversions due to
the untyped HSAIL regs.
Instead of always representing the HSAIL's untyped registers as
unsigned int, the gccbrig now pre-analyzes the BRIG code and
builds the register variables as a type used the most when storing
or reading data to/from each register. This reduces the total
conversions which cannot be always optimized away.
From-SVN: r254837
Diffstat (limited to 'gcc/brig/ChangeLog')
-rw-r--r-- | gcc/brig/ChangeLog | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/gcc/brig/ChangeLog b/gcc/brig/ChangeLog index 0945aa4..17cc3bc 100644 --- a/gcc/brig/ChangeLog +++ b/gcc/brig/ChangeLog @@ -1,3 +1,27 @@ +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. |