HSA: handle alignment of string builtins (PR hsa/70391)
commitf58ea96f143babb0ebe95b974ca45f9ab3b51207
authormarxin <marxin@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 31 Mar 2016 17:10:48 +0000 (31 17:10 +0000)
committermarxin <marxin@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 31 Mar 2016 17:10:48 +0000 (31 17:10 +0000)
treec1bca0edd58f080640ccf63dd1092713120eb8b1
parent51f0f4fba7ab5951834405a02cced4531f643668
HSA: handle alignment of string builtins (PR hsa/70391)

PR hsa/70391
* hsa-gen.c (hsa_function_representation::update_dominance): New
function.
(convert_addr_to_flat_segment): Likewise.
(gen_hsa_memory_set): New alignment argument.
(gen_hsa_ctor_assignment): Likewise.
(gen_hsa_insns_for_single_assignment): Provide alignment
to gen_hsa_ctor_assignment.
(gen_hsa_insns_for_direct_call): Add new argument.
(expand_lhs_of_string_op): New function.
(expand_string_operation_builtin): Likewise.
(expand_memory_copy): New function.
(expand_memory_set): New function.
(gen_hsa_insns_for_call): Use HOST_WIDE_INT.
(convert_switch_statements): Change signature.
(generate_hsa): Use a return value of the function.
(pass_gen_hsail::execute): Do not call
convert_switch_statements here.
* hsa-regalloc.c (hsa_regalloc): Call update_dominance.
* hsa.h (hsa_function_representation::m_modified_cfg):
New flag.
(hsa_function_representation::update_dominance): New function.

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