This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug hsa/70391] HSA back-end produces wrong alignment load/store instructions


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70391

--- Comment #1 from Martin LiÅka <marxin at gcc dot gnu.org> ---
Author: marxin
Date: Thu Mar 31 17:10:15 2016
New Revision: 234643

URL: https://gcc.gnu.org/viewcvs?rev=234643&root=gcc&view=rev
Log:
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.

Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/hsa-brig.c
    trunk/gcc/hsa-dump.c
    trunk/gcc/hsa-gen.c
    trunk/gcc/hsa.c
    trunk/gcc/hsa.h

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]