aboutsummaryrefslogtreecommitdiff
path: root/gcc/hsa-dump.c
diff options
context:
space:
mode:
authorMartin Liska <mliska@suse.cz>2016-03-31 19:10:15 +0200
committerMartin Liska <marxin@gcc.gnu.org>2016-03-31 17:10:15 +0000
commit320c1a36793e0f408924b38bc006e6b791dceff7 (patch)
tree5ed5ca7dff70ab72534570302bae6e0c19e1b345 /gcc/hsa-dump.c
parent8f80cbdb26ca754ff3b6fe6c735eca6dd01401fa (diff)
downloadgcc-320c1a36793e0f408924b38bc006e6b791dceff7.zip
gcc-320c1a36793e0f408924b38bc006e6b791dceff7.tar.gz
gcc-320c1a36793e0f408924b38bc006e6b791dceff7.tar.bz2
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. From-SVN: r234643
Diffstat (limited to 'gcc/hsa-dump.c')
-rw-r--r--gcc/hsa-dump.c13
1 files changed, 2 insertions, 11 deletions
diff --git a/gcc/hsa-dump.c b/gcc/hsa-dump.c
index b69b34d..d33ac4b 100644
--- a/gcc/hsa-dump.c
+++ b/gcc/hsa-dump.c
@@ -621,16 +621,6 @@ hsa_m_atomicop_name (enum BrigAtomicOperation op)
}
}
-/* Return byte alignment for given BrigAlignment8_t value. */
-
-static unsigned
-hsa_byte_alignment (BrigAlignment8_t alignment)
-{
- gcc_assert (alignment != BRIG_ALIGNMENT_NONE);
-
- return 1 << (alignment - 1);
-}
-
/* Dump textual representation of HSA IL register REG to file F. */
static void
@@ -716,7 +706,8 @@ dump_hsa_symbol (FILE *f, hsa_symbol *symbol)
name = buf;
}
- fprintf (f, "%s_%s %s", hsa_seg_name (symbol->m_segment),
+ fprintf (f, "align(%u) %s_%s %s", hsa_byte_alignment (symbol->m_align),
+ hsa_seg_name (symbol->m_segment),
hsa_type_name (symbol->m_type & ~BRIG_TYPE_ARRAY_MASK), name);
if (symbol->m_type & BRIG_TYPE_ARRAY_MASK)