mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-03-23 18:11:15 +08:00
[hsa] Fail in presence of atomic operations in private segment
2016-02-26 Martin Jambor <mjambor@suse.cz> * hsa-gen.c (gen_hsa_ternary_atomic_for_builtin): Fail in presence of atomic operations in private segment. From-SVN: r233748
This commit is contained in:
parent
6b2cd37bd9
commit
02108bb58c
@ -1,3 +1,8 @@
|
||||
2016-02-26 Martin Jambor <mjambor@suse.cz>
|
||||
|
||||
* hsa-gen.c (gen_hsa_ternary_atomic_for_builtin): Fail in presence of
|
||||
atomic operations in private segment.
|
||||
|
||||
2016-02-26 Martin Jambor <mjambor@suse.cz>
|
||||
|
||||
* omp-low.c (grid_find_ungridifiable_statement): Store problematic
|
||||
|
@ -4557,8 +4557,13 @@ gen_hsa_ternary_atomic_for_builtin (bool ret_orig,
|
||||
|
||||
hsa_op_address *addr;
|
||||
addr = get_address_from_value (gimple_call_arg (stmt, 0), hbb);
|
||||
/* TODO: Warn if addr has private segment, because the finalizer will not
|
||||
accept that (and it does not make much sense). */
|
||||
if (addr->m_symbol && addr->m_symbol->m_segment == BRIG_SEGMENT_PRIVATE)
|
||||
{
|
||||
HSA_SORRY_AT (gimple_location (stmt),
|
||||
"HSA does not implement atomic operations in private "
|
||||
"segment");
|
||||
return;
|
||||
}
|
||||
hsa_op_base *op = hsa_reg_or_immed_for_gimple_op (gimple_call_arg (stmt, 1),
|
||||
hbb);
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user