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
+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
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);