2014-10-07 Martin Jambor <mjambor@suse.cz>
[official-gcc.git] / gcc / ChangeLog.hsa
blobab543aa7717cd54ff7b4e7aeb64c13ba0a79475c
1 2014-10-07  Martin Jambor  <mjambor@suse.cz>
3         * hsa-brig.c (emit_memory_insn): Emit BRIG_WIDTH_NONE for stores.
5 2014-09-26  Martin Jambor  <mjambor@suse.cz>
7         * README2.hsa: Rewritten from scratch.
9 2014-09-26  Ganesh Gopalasubramanian  <Ganesh.Gopalasubramanian@amd.com>
10             Martin Jambor  <mjambor@suse.cz>
12         * hsa-brig-format.h: Update to HSA 1.0p.
13         * hsa-brig.c: Remove strtab, directives and debug sections.
14         (hsa_brig_section): New fields section_name and header_byte_count.
15         (hsa_brig_section::init): New parameter name, store it, calculate
16         header size from it.
17         (hsa_brig_section::output): Removed parameter section_name. Output
18         section in the new format.
19         (brig_emit_string): Emit strings to the data section.
20         (c_reg_names, s_reg_names, d_reg_names, q_reg_names): Removed.
21         (c_regs, s_regs, d_regs, q_regs): Likewise.
22         (brig_init): Handle bytecount and kind info as part of base.  Change
23         enumeration names.  Emit BrigDirectiveVersion in code section.
24         (brig_release_data): Remove brig_string, brig_debug and
25         brig_directive. Add brig_data.
26         (get_alignment): New function.
27         (emit_symbol_directive): Renamed to emit_directive_variable.  Handle
28         bytecount and kind info as part of base.  Change enumeration
29         names. Emit strings in data section.  Emit BrigDirectiveVariable in
30         code section.
31         (emit_function_directives): Likewise.  Increment brig_insn_count.
32         (emit_bb_label_directive): Likewise.
33         (enqueue_op): Remove reg name handling.  Change BrigOperandRef to
34         BrigOperandCodeRef.  Handle immediate operand size using
35         BrigOperandData.
36         (emit_immediate_operand): Change enumeration names.  Emit immediate
37         operand in data section.
38         (emit_register_name): Removed.
39         (emit_register_operand): Remove register name handling.  Handle
40         register number and register kind.
41         (emit_address_operand): Handle bytecount and kind info as part of
42         base.  Change enumeration names.
43         (emit_label_operand): Likewise.
44         (emit_memory_insn): Handle bytecount and kind info as part of base.
45         Change enumeration names.  Add insn alignment.
46         (emit_atomic_insn): Likewise.  Add memoryorder and memoryscope.
47         (emit_addr_insn): Likewise.
48         (emit_segment_insn): Likewise.
49         (emit_cmp_insn): Likewise.
50         (emit_branch_insn): Likewise.
51         (emit_cvt_insn): Likewise.
52         (emit_basic_insn): Likewise.
53         (perhaps_emit_branch): Likewise.
54         (hsa_brig_emit_function): Use HSA 1.0p ield names.
55         (hsa_output_brig): Remove brig_directive, brig_string and brig_debug
56         sections. Add brig_data section.
57         * hsa-dump.c (hsa_type_name): Update to HSAIL 1.0p.
58         (hsa_opcode_name): Likewise.
59         (hsa_memsem_name): Likewise.
60         (hsa_memscope_name): New function.
61         (hsa_atomicop_name): Update to HSAIL 1.0p.
62         (dump_hsa_insn): Likewise.
63         * hsa-gen.c (hsa_init_data_for_cfun): Change BRIG_OPERAND_LABEL_REF to
64         BRIG_KIND_OPERAND_CODE_REF.
65         (hsa_alloc_immed_op): Change BRIG_OPERAND_IMMED to
66         BRIG_KIND_OPERAND_DATA.
67         (hsa_alloc_reg_op): Change BRIG_OPERAND_REG to BRIG_KIND_OPERAND_REG.
68         (hsa_alloc_addr_op): Change BRIG_OPERAND_ADDRESS to
69         BRIG_KIND_OPERAND_ADDRESS.
70         (gen_hsa_insns_for_call): Add memoryscope to meminsn. Change
71         semantic to memoryorder.
72         (hsa_init_new_bb): Change BRIG_OPERAND_LABEL_REF to
73         BRIG_KIND_OPERAND_CODE_REF.
74         * README.hsa: Add a brief comment about further incompatibilities with
75         the given instructions.
77 2014-09-26  Martin Jambor  <mjambor@suse.cz>
79         * gimple.c (gimple_build_omp_for): Allocate prev_first_iter.
80         * gimple.h (gimple_statement_omp_for): New field orig_first_iter.
81         (gimple_omp_for_set_orig_first_iter): New function.
82         * gimplify.c (gimplify_omp_for): Use it.
83         * omp-low.c (omp_region): New fields req_group_size and orig_first_iter.
84         (adjust_for_condition): New function.
85         (get_omp_for_step_from_incr): Likewise.
86         (extract_omp_for_data): Moved some functionality to the above two new
87         functions.
88         (create_omp_child_function): Do not append hsa attributes to child_fn.
89         (expand_parallel_call): Handle kernelized parallel regions.
90         (expand_omp_for_static_nochunk): Kernelize marked loops.
91         (expand_omp_for): Copy prev_first_iter of to-be-kernelized omp for
92         statements to the region structure, mark requested group size.  Always
93         expand these loops with expand_omp_for_static_nochunk.
94         * tree-sra.c (ipa_sra_preliminary_function_checks): Test TREE_USED.
96 2014-09-26  Martin Jambor  <mjambor@suse.cz>
98         * omp-low.c (struct omp_region): New flag kernelize.
99         (analyze_kernelizability): New function.
100         (expand_omp): Call it.  New parameter within_parallel, update all
101         callers.
103 2014-09-26  Martin Jambor  <mjambor@suse.cz>
105         * hsa-gen.c (insert_store_range_dim): Make value parameter a tree.
106         (wrap_hsa): Handle hsakernel functions.
107         (namespace): Likewise.
109 2014-09-26  Martin Jambor  <mjambor@suse.cz>
111         * hsa-gen.c (hsa_dim_array_type, hsa_range_dimnum_decl)
112         (hsa_range_grid_decl, hsa_range_group_decl)
113         (hsa_launch_range_type): New variables.
114         (init_hsa_functions): Also build the type of range structure.
115         (insert_store_range_dim): New function.
116         (wrap_hsa): Rename decl to desc.  Also build and pass range
117         information.
118         * README.hsa: Marked as obsolete.
120 2014-08-05  Martin Jambor  <mjambor@suse.cz>
122         * hsa-gen.c (hsa_deinit_data_for_cfun): Clear aux of all basic
123         blocks.
124         (hsa_type_for_scalar_tree_type): Add calls to sorry.
125         (get_symbol_for_decl): Make assert also a non-checking one.  Add
126         calls to sorry.
127         (hsa_reg_for_gimple_ssa): Make an assert checking-only.
128         (gen_hsa_addr): Add calls to sorry.  Remove an unnecessary assert.
129         (gen_hsa_addr_insns): Move an assert to an earlier spot.
130         (gen_hsa_insns_for_load): Made return type void.  Adapted all callers.
131         Add calls to sorry.
132         (gen_hsa_insns_for_single_assignment): Recognize non-scalar memory
133         moves as such and sorry about them.p
134         (gen_hsa_cmp_insn_from_gimple): Add calls to sorry.
135         (gen_hsa_insns_for_operation_assignment): Likewise.
136         (gen_hsa_insns_for_call): Likewise.  Make sure there is a LHS.
137         (gen_hsa_insns_for_gimple_stmt): Add calls to sorry.
138         (gen_hsa_phi_from_gimple_phi): Likewise.
139         (gen_body_from_gimple): Bail out on seen errors.
140         (gen_function_parameters): Add calls to sorry.
141         (generate_hsa): Bail out on seen errors.
142         * hsa-brig.c (bittype_for_type): Turn gcc_unreachable into assert
143         of seen_error.
144         (emit_immediate_operand): Add calls to sorry.
146 2014-07-29  Ganesh Gopalasubramanian  <Ganesh.Gopalasubramanian@amd.com>
147             Martin Jambor  <mjambor@suse.cz>
149         * hsa-gen.c (init_hsa_functions): Add context
150         to hsa_kernel_desc_type.
151         (wrap_hsa): Add context field to generated kernel description
152         constructor.
154 2014-06-18  Martin Jambor  <mjambor@suse.cz>
156         * hsa.h: Removed keyword struct from the parameter all is_a_helper
157         function template instantiations.
158         * tree-vectorizer.c (pass_slp_vectorize::gate): Remove parameter name.
160 2013-02-03  Michael Matz  <matz@suse.de>
162         * hsa-brig.c (sanitize_hsa_name): New function.
163         (brig_emit_string): Use it.
164         (emit_immediate_operand): Support 64bit integral immediates.
165         (float_type_p, emit_cvt_insn): New functions.
166         (emit_basic_insn): Call emit_cvt_insn when appropriate, force
167         moves to use bittypes.
168         * hsa-gen.c (hsa_deinit_data_for_cfun): Free function name.
169         (gen_hsa_addr): Support addresses of array references.
170         (gen_hsa_insns_for_operation_assignment): Support conversions and
171         TRUNC_MOD_EXPR.
172         (gen_hsa_insns_for_call): New function.
173         (gen_hsa_insns_for_gimple_stmt): Support GIMPLE_CALL, ignore
174         GIMPLE_DEBUG.
175         (gen_hsa_phi_from_gimple_phi): Deal with non-pointers, not pointers.
176         (gen_body_from_gimple): Ignore VOP PHIs.
177         (sanitize_hsa_name): New function.
178         (generate_hsa, wrap_hsa): Use it.
179         * hsa.h (struct hsa_function_representation): Make name non-const.
180         * omp-low.c (create_omp_child_function): Mark with 'hsa' attribute.
181         (expand_parallel_call): Emit direct call to child function for
182         HSA support.
184 2013-12-13  Martin Jambor  <mjambor@suse.cz>
186         * hsa-brig.c (emit_address_operand): Always put types through
187         regtype_for_type even when the address does not refer to a symbol.
188         * hsa-gen.c (hsa_get_segment_addr_type): Return U types instead of
189         B types.
191 2013-12-12  Martin Jambor  <mjambor@suse.cz>
193         Merge from trunk revision 205789.
194         * hsa-gen.c: Added new necessary includes.  Changed all tree_low_cst
195         to tree_to_uhwi and {ENTRY,EXIT}_BLOCK_PTR to
196         {ENTRY,EXIT}_BLOCK_PTR_FOR_FN.
197         * hsa-brig.c: Likewise.
198         * hsa-dump.c: Likewise.
199         * hsa-regalloc.c: Likewise.
201 2013-11-15  Michael Matz  <matz@suse.de>
203         * hsa-brig.c (emit_symbol_directive): Kernarg symbols must
204         be declarations.
205         (emit_function_directives): Our functions are kernels for now.
206         * hsa-gen.c: Include cgraph.h
207         (gen_function_parameters): Kernel arguments are KERNARG.
208         (hsa_launch_fn, hsa_kernel_desc_type): New static trees.
209         (init_hsa_functions, wrap_hsa): New static functions.
210         (pass_gen_hsail::gate): Unconditional handle all functions.
211         (pass_gen_hsail::execute): Outline and handle non-hsa functions,
212         calling wrap_hsa.
214 2013-11-11  Michael Matz  <matz@suse.de>
216         * hsa-gen.c (get_symbol_for_decl): Do insert symbols.
217         (gen_hsa_insns_for_single_assignment): Ignore clobbers.
219 2013-11-11  Michael Matz  <matz@suse.de>
221         * hsa-brig.c: Include tree-cfg.h.
223 2013-10-21  Martin Jambor  <mjambor@suse.cz>
225         * hsa-brig.c: Do not include tree-flow.h
226         * hsa-gen.c: Likewise.  Do not inlude tree-flow-inline.h.  Include
227         tree-ssa-operands.h and tree-dfa.h.  Move include of gimple-ssa.h
228         upwards.
230 2013-10-10  Martin Jambor  <mjambor@suse.cz>
232         * hsa-gen.c: Include tree-phinodes.h, gimple-ssa.h and ssa-iterators.h.
234 2013-09-27  Martin Jambor  <mjambor@suse.cz>
236         * hsa-dump.c (dump_hsa_insn): Special dumping of hsa_insn_addr.
238 2013-09-27  Martin Jambor  <mjambor@suse.cz>
240         * hsa.h (hsa_insn_basic): New type.
241         * hsa-brig.c (emit_addr_insn): New function.
242         (emit_insn): Call it.
243         * hsa-gen.c (hsa_allocp_inst_addr): New variable.
244         (hsa_init_data_for_cfun): Initialize it.
245         (hsa_deinit_data_for_cfun): Free it.
246         (hsa_alloc_addr_insn): New function.
247         (gen_hsa_addr_insns): Create addr instruction.
249 2013-09-25  Martin Jambor  <mjambor@suse.cz>
251         * hsa-brig-format.h (BrigMemoryModifier8_t): Reintroduce the bug of
252         typedef-ing this to uint16_t.
253         * hsa-brig.c (emit_memory_insn): Zero out the instruction.
255 2013-09-25  Martin Jambor  <mjambor@suse.cz>
257         * hsa-brig.c (emit_address_operand): Run type through regtype_for_type.
258         * hsa-gen.c (hsa_get_segment_addr_type): Return U types rather
259         than B types.
261 2013-09-24  Martin Jambor  <mjambor@suse.cz>
263         * hsa-brig.c (emit_function_directives): Stream output argument before
264         input ones.  Adjust fields of BrigDirectiveExecutable accordingly.
266 2013-09-20  Martin Jambor  <mjambor@suse.cz>
268         * hsa-brig.c (brig_emit_string): Stream slen string bytes, not len.
270 2013-09-19  Michael Matz <matz@suse.de>
271             Martin Jambor  <mjambor@suse.cz>
273         * hsa.h (struct hsa_function_representation): New field spill_symbols.
274         * hsa-brig-format.h (BrigVersion): Set version to what is expexted by
275         libHSAIL.
276         (BrigDirectiveVersion): Changed to match libHSAIL expectations.
277         * hsa-brig.c: Include tree-flow.h.
278         (BRIG_SECTION_STRING_NAME): Changed to match libHSAIL expectations.
279         (BRIG_SECTION_DIRECTIVE_NAME): Likewise.
280         (BRIG_SECTION_OPERAND_NAME): Likewise.
281         (brig_insn_count): New variable.
282         (brig_string_slot): New type.
283         (brig_string_slot_hasher): Likewise.
284         (brig_string_slot_hasher::hash): New method.
285         (brig_string_slot_hasher::equal): Likewise.
286         (brig_string_slot_hasher::remove): Likewise.
287         (brig_emit_string): Only output identical strings once.
288         (brig_init): Create brig_string_htab.  Updated for changes in
289         BrigDirectiveVersion type.
290         (brig_release_data): Dispose of brig_string_htab.
291         (emit_symbol_directive): Emit prefixes in strings.
292         (emit_function_directives): Return pointer to the created executable
293         directive.  Count in spill declarations.
294         (emit_bb_label_directive): Prefix labels with @.
295         (regtype_for_type): New function.
296         (emit_immediate_operand): Better size computation, use
297         regtype_for_type.
298         (emit_register_name): Prefix register names with $.
299         (emit_address_operand): Use correct imm_offset instead of wrong
300         offset.
301         (emit_memory_insn): Change width and modifier values.  Incremented
302         brig_insn_count.
303         (emit_segment_insn): Incremented brig_insn_count.
304         (emit_branch_insn): Likewise.
305         (emit_branch_insn): Likewise.
306         (emit_basic_insn): Likewise.
307         (perhaps_emit_branch): Likewise.
308         (hsa_brig_emit_function): Set brig_insn_count to zero.  Se the number
309         of instruction in the function directive.
310         * hsa-gen.c (hsa_deinit_data_for_cfun): Release spill_symbols.
311         (hsa_get_segment_addr_type): Depend on hsa_machine_large_p rather than
312         full_profile_p.  Return B types rather than U types.
313         (hsa_get_spill_symbol): Push the new symbol.
315 2013-09-18  Martin Jambor  <mjambor@suse.cz>
317         * hsa-gen.c (hsa_type_for_scalar_tree_type): Handle vector types.
318         * hsa-brig.c (emit_immediate_operand): Emit type which was
319         forgotten.  Fix size computation.
321 2013-09-17  Martin Jambor  <mjambor@suse.cz>
323         * hsa-gen.c: Include tree-ssanames.h.
324         * Makefile.in (hsa-gen.o): Add tree-ssanames.h to dependencies.
326 2013-09-05  Martin Jambor  <mjambor@suse.cz>
328         * hsa-brig.c (hsa_brig_section): Define as class instead of struct.
330 2013-09-04  Martin Jambor  <mjambor@suse.cz>
332         * hsa-brig.c (emit_register_operand): Fill in the reserved field.
333         (emit_address_operand): Likewise.
334         (emit_branch_insn): Fill in the modifier, width and rserved fields.
335         (perhaps_emit_branch): Likewise.
337 2013-09-03  Martin Jambor  <mjambor@suse.cz>
339         * hsa-brig-format.h (BrigMemoryModifier8_t): Changed to uint8_t.
341 2013-07-26  Martin Jambor  <mjambor@suse.cz>
343         * passes.def: Schedule pass_gen_hsail.
344         * passes.c: Revereted all changes and imported new version from master.
346 2013-07-02  Martin Jambor  <mjambor@suse.cz>
348         * Makefile.in (HSA_H): Added new dependencies.
349         (hsa-gen.o): Likewise.
350         (hsa-brig.o): Likewise.
351         (hsa-regalloc.o): New.
352         (hsa-dump.o): Likewise.
353         * hsa-brig-format.h (BrigInstAtomic): New type.
354         (BrigInstAtomicImage): Likewise.
355         (BrigInstBar): Likewise.
356         (BrigInstBasic): Likewise.
357         (BrigInstMod): Likewise.
358         (BrigInstCmp): Likewise.
359         (BrigInstCvt): Likewise.
360         (BrigInstImage): Likewise.
361         (BrigInstMem): Likewise.
362         (BrigInstAddr): Likewise.
363         (BrigInstSourceType): Likewise.
364         (BrigInstSeg): Likewise.
365         (BrigInstFbar): Likewise.
366         (BrigInstBr): Likewise.
367         (BrigInstNone): Likewise.
368         (BrigOperandBase): Likewise.
369         (BrigOperand): Likewise.
370         (BrigOperandAddress): Likewise.
371         (BrigOperandList): Likewise.
372         (BrigOperandArgumentList): Likewise.
373         (BrigOperandFunctionList): Likewise.
374         (BrigOperandRef): Likewise.
375         (BrigOperandLabelRef): Likewise.
376         (BrigOperandArgumentRef): Likewise.
377         (BrigOperandFunctionRef): Likewise.
378         (BrigOperandSignatureRef): Likewise.
379         (BrigOperandFbarrierRef): Likewise.
380         (BrigOperandImmed): Likewise.
381         (BrigOperandReg): Likewise.
382         (BrigOperandRegVector): Likewise.
383         (BrigOperandWavesize): Likewise.
384         * hsa-brig.c (operand_queue): New type.
385         (op_queue): New variable.
386         (c_reg_names): Likewise.
387         (s_reg_names): Likewise.
388         (d_reg_names): Likewise.
389         (q_reg_names): Likewise.
390         (c_regs): Likewise.
391         (s_regs): Likewise.
392         (d_regs): Likewise.
393         (q_regs): Likewise.
394         (emit_symbol_directive): Take the symbol operand as an argument.
395         Extract and stream the values stored therein.
396         (emit_function_directives): New function.
397         (emit_bb_label_directive): Likewise.
398         (enqueue_op): Likewise.
399         (emit_immediate_operand): Likewise.
400         (emit_register_name): Likewise.
401         (emit_register_operand): Likewise.
402         (emit_address_operand): Likewise.
403         (emit_label_operand): Likewise.
404         (emit_queued_operands): Likewise.
405         (emit_memory_insn): Likewise.
406         (emit_segment_insn): Likewise.
407         (emit_cmp_insn): Likewise.
408         (emit_branch_insn): Likewise.
409         (emit_basic_insn): Likewise.
410         (emit_insn): Likewise.
411         (perhaps_emit_branch): Likewise.
412         (hsa_brig_emit_function): Also emit instructions and operands, do not
413         take any parameter, refer to hsa_cfun.
414         (hsa_output_brig): Call hsa_deinit_compilation_unit_data.
415         * hsa-dump.c: New file.
416         * hsa-gen.c: Include gimple.h, dumpfile.h, alloc-pool.h,
417         tree-flow.h and tree-flow-inline.h.
418         (hsa_cfun): New variable.
419         (hsa_allocp_operand_address): Likewise.
420         (hsa_allocp_operand_immed): Likewise.
421         (hsa_allocp_operand_reg): Likewise.
422         (hsa_allocp_inst_basic): Likewise.
423         (hsa_allocp_inst_phi): Likewise.
424         (hsa_allocp_inst_mem): Likewise.
425         (hsa_allocp_inst_seg): Likewise.
426         (hsa_allocp_inst_cmp): Likewise.
427         (hsa_allocp_inst_br): Likewise.
428         (hsa_allocp_bb): Likewise.
429         (hsa_allocp_symbols): Likewise.
430         (hsa_global_variable_symbols): Likewise.
431         (compilation_unit_data_initialized): Likewise.
432         (hsa_init_compilation_unit_data): New function.
433         (hsa_deinit_compilation_unit_data): Likewise.
434         (hsa_init_data_for_cfun): Likewise.
435         (hsa_deinit_data_for_cfun): Likewise.
436         (hsa_get_segment_addr_type): Likewise.
437         (hsa_opcode_op_output_p): Likewise.
438         (hsa_type_for_scalar_tree_type): Likewise.
439         (hsa_type_for_tree_type): Likewise.
440         (fillup_sym_for_decl): Likewise.
441         (get_symbol_for_decl): Likewise.
442         (hsa_get_spill_symbol): Likewise.
443         (hsa_alloc_immed_op): Likewise.
444         (hsa_alloc_reg_op): Likewise.
445         (hsa_alloc_addr_op): Likewise.
446         (hsa_reg_for_gimple_ssa): Likewise.
447         (set_reg_def): Likewise.
448         (hsa_alloc_basic_insn): Likewise.
449         (hsa_alloc_mem_insn): Likewise.
450         (hsa_alloc_seg_insn): Likewise.
451         (hsa_alloc_cmp_insn): Likewise.
452         (hsa_build_cbr_insn): Likewise.
453         (hsa_append_insn): Likewise.
454         (gen_hsa_addr): Likewise.
455         (gen_hsa_addr_insns): Likewise.
456         (hsa_reg_or_immed_for_gimple_op): Likewise.
457         (hsa_build_append_simple_mov): Likewise.
458         (gen_hsa_insns_for_single_assignment): Likewise.
459         (hsa_spill_in): Likewise.
460         (hsa_spill_out): Likewise.
461         (gen_hsa_insns_for_operation_assignment): Likewise.
462         (gen_hsa_cmp_insn_from_gimple): Likewise.
463         (gen_hsa_insns_for_cond_stmt): Likewise.
464         (gen_hsa_insns_for_gimple_stmt): Likewise.
465         (gen_hsa_phi_from_gimple_phi): Likewise.
466         (hsa_init_new_bb): Likewise.
467         (gen_body_from_gimple): Likewise.
468         (gen_function_parameters): Likewise.
469         (generate_hsa): Added initialization and deinitialization,
470         generate intermediate representation of the function body.
471         * hsa-regalloc.c: New file.
472         * hsa.h: Include is-a.h, tree.h, vec.h, hash-table.h and basic-block.h.
473         (HSA_C_REGISTER_COUNT): New macro.
474         (HSA_S_REGISTER_COUNT): Likewise.
475         (HSA_D_REGISTER_COUNT): Likewise.
476         (HSA_Q_REGISTER_COUNT): Likewise.
477         (hsa_symbol): New type.
478         (hsa_op_base): Likewise.
479         (hsa_op_immed): New type and its is_a_helper.
480         (hsa_op_reg): Likewise.
481         (hsa_op_reg_p): New typedef.
482         (hsa_op_address): New type and its is_a_helper.
483         (hsa_op_label): Likewise.
484         (HSA_OPERANDS_PER_INSN): New macro.
485         (hsa_insn_basic): New type.
486         (HSA_OPCODE_PHI): New macro.
487         (hsa_insn_phi): New type and its is_a_helper.
488         (hsa_insn_br): Likewise.
489         (hsa_insn_cmp): Likewise.
490         (hsa_insn_mem): Likewise.
491         (hsa_insn_seg): Likewise.
492         (hsa_bb): New type.
493         (hsa_bb_for_bb): New function.
494         (hsa_noop_symbol_hasher): New type and its helper functions.
495         (hsa_free_symbol_hasher): Likewise.
496         (hsa_function_representation): New type.
497         (hsa_cfun): Declare.
498         (hsa_global_variable_symbols): Likewise.
499         (hsa_get_segment_addr_type): Likewise.
500         (hsa_opcode_op_output_p): Likewise.
501         (hsa_build_append_simple_mov): Likewise.
502         (hsa_get_spill_symbol): Likewise.
503         (hsa_spill_in): Likewise.
504         (hsa_spill_out): Likewise.
505         (hsa_init_new_bb): Likewise.
506         (hsa_deinit_compilation_unit_data): Likewise.
507         (hsa_regalloc): Likewise.
508         (hsa_seg_name): Likewise.
509         (dump_hsa_bb): Likewise.
510         (dump_hsa_cfun): Likewise.
512 2013-06-04  Martin Jambor  <mjambor@suse.cz>
514         * hsa.h (hsa_machine_large_p): Declare.
515         (hsa_full_profile_p): Likewise.
516         * hsa-gen.c (hsa_machine_large_p): New function.
517         (hsa_full_profile_p): Likewise.
518         * hsa-brig.c (brig_init): Use hsa_full_profile_p and
519         hsa_machine_large_p.
521 2013-05-31  Martin Jambor  <mjambor@suse.cz>
523         * Makefile.in (HSA_H): New.
524         (toplev.o): Require HSA_H.
525         (hsa-gen.o): New.
526         (hsa-brig.o): Likewise.
527         * hsa-brig-format.h: New file.
528         * hsa-brig.c: Likewise.
529         * hsa-gen.c: Likewise.
530         * hsa.h: Likewise.
531         * passes.c (init_optimization_passes): Schedule pass_gen_hsail.
532         * toplev.c: Include hsa.h.
533         (compile_file): Call hsa_output_brig.
534         * tree-pass.h (pass_gen_hsail): Declare.
536 2013-05-23  Michael Matz  <matz@suse.de>
538         branch 'hsa' created.