HSA: support alignment for hsa_symbols (PR hsa/70391)
authormarxin <marxin@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 31 Mar 2016 17:10:15 +0000 (17:10 +0000)
committermarxin <marxin@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 31 Mar 2016 17:10:15 +0000 (17:10 +0000)
commit51f0f4fba7ab5951834405a02cced4531f643668
tree5ed5ca7dff70ab72534570302bae6e0c19e1b345
parent23cf9251aac9e5bfb0036dad048fc9348f6ca175
HSA: support alignment for hsa_symbols (PR hsa/70391)

PR hsa/70391
* hsa-brig.c (emit_directive_variable): Emit alignment
according to hsa_symbol::m_align.
* hsa-dump.c (hsa_byte_alignment): Move the function to
another file.
(dump_hsa_symbol): Dump alignment of HSA symbols.
* hsa-gen.c (get_symbol_for_decl): Set-up alignment
of a symbol.
(gen_hsa_addr_with_align): New function.
(hsa_bitmemref_alignment): Use newly added function.
(gen_hsa_insns_for_load): Likewise.
(gen_hsa_insns_for_store): Likewise.
(gen_hsa_memory_copy): New argument added.
(gen_hsa_insns_for_single_assignment): Respect
alignment for assignments processed via
gen_hsa_memory_copy.
(gen_hsa_insns_for_direct_call): Likewise.
(gen_hsa_insns_for_return): Likewise.
(gen_function_def_parameters): Set default
alignment.
* hsa.c (hsa_object_alignment): New function.
(hsa_byte_alignment): Pasted function.
* hsa.h (hsa_symbol::m_align): New field.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@234643 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/hsa-brig.c
gcc/hsa-dump.c
gcc/hsa-gen.c
gcc/hsa.c
gcc/hsa.h