r222578 - in /branches/hsa: gcc/hsa-brig-format...

jamborm@gcc.gnu.org jamborm@gcc.gnu.org
Wed Apr 29 15:16:00 GMT 2015


Author: jamborm
Date: Wed Apr 29 15:16:36 2015
New Revision: 222578

URL: https://gcc.gnu.org/viewcvs?rev=222578&root=gcc&view=rev
Log:
Upgrade to the final 1.0 version of HSA.

2015-04-29  Martin Jambor  <mjambor@suse.cz>

gcc/
	* hsa-brig-format.h: Updated to 1.0F.
	* hsa-brig.c: Added includes of tree-iterator.h, tree-ssa-alias.h,
	gimple-expr.h, gimple.h, stringpool.h, ipa-ref.h, lto-streamer.h and
	cgraph.h.
	(BRIG_ELF_SECTION_NAME): New define.
	(BRIG_LABEL_STRING): Likewise.
	(hsa_brig_section): New field header_byte_delta.
	(hsa_brig_section::init): Calculate initial size based on what the new
	disassembler expects.
	(hsa_brig_section::output): Remove assembly section switching, add new
	BRIG section stuff.
	(get_ptr_by_offset): Use the new delta for calculations.
	(brig_init): Remove initializations of 1.0p structures and add
	initializations of 1.0F structures.
	(emit_directive_variable): Adjust to 1.0F.
	(emit_function_directives): Likewise.
	(enqueue_op): Likewise.
	(emit_immediate_operand): Likewise.
	(emit_register_operand): Likewise.
	(emit_memory_insn): Likewise.
	(emit_segment_insn): Likewise.
	(emit_cmp_insn): Likewise.
	(emit_cvt_insn): Likewise.
	(emit_arg_block): Likewise.
	(emit_basic_insn): Do not turn mov types into bit-types.  Adjust to
	1.0F.
	(hsa_ctor_statements): New variable.
	(hsa_output_kernel_mapping): New function.
	(HSA_SECTION_ALIGNMENT): New define.
	(hsa_output_brig): Emit HSAIL BRIG 1.0F.  Call
	hsa_output_kernel_mapping.
	* hsa-dump.c (hsa_opcode_name): Adjust to 1.0F
	(hsa_memscope_name): Likewise.
	* hsa-gen.c (hsa_decl_kernel_map_element): New type.
	(hsa_decl_kernel_mapping): New variable.
	(hsa_deinit_data_for_cfun): Do not free names of kernels.
	(hsa_alloc_immed_op): Adjust to HSA 1.0F.
	(hsa_alloc_reg_op): Likewise.
	(hsa_add_kern_decl_mapping): New function.
	(hsa_get_number_decl_kernel_mappings): Likewise.
	(hsa_get_decl_kernel_mapping_decl): Likewise.
	(hsa_get_decl_kernel_mapping_name): Likewise.
	(hsa_free_decl_kernel_mapping): Likewise.
	(generate_hsa): Fix detecting kernels.  Also call
	hsa_add_kern_decl_mapping.
	(hsa_kernel_desc_type, hsa_range_dimnum_decl): Removed.
	(hsa_range_grid_decl, hsa_range_group_decl): Likewise.
	(hsa_launch_range_type): Likewise.
	(hsa_lattrs_dimnum_decl, hsa_lattrs_grid_decl): New.
	(hsa_lattrs_group_decl, hsa_lattrs_nargs_decl): Likewise.
	(hsa_launch_attributes_type): Likewise.
	(init_hsa_functions): Build the types and decls necessary for HSA 1.0F.
	(wrap_hsa_kernel_call): New function.
	(wrap_all_hsa_calls): Simplify.
	* hsa-regalloc.c (hsa_num_def_ops): Adjust to HSA 1.0F.
	* hsa.h (hsa_op_base): Adjust to HSA 1.0F.
	(is_a_helper <hsa_op_immed *>::test): Likewise.
	(is_a_helper <hsa_op_reg *>::test): Likewise.
	(hsa_get_number_decl_kernel_mappings): Declare.
	(hsa_get_decl_kernel_mapping_decl): Likewise.
	(hsa_get_decl_kernel_mapping_name): Likewise.
	(hsa_free_decl_kernel_mapping): Likewise.

libgomp/
	* Makefile.am (libgomp_la_SOURCES): USe hsa.c instead of hsaokra.c.
	* Makefile.in: Regenerated.
	* hsa.c: New file.
	* hsa.h: Likewise.
	* hsa_ext_finalize.h: Likewise.
	* hsaokra.c: Removed.
	* okra.h: Likewise.
	* libgomp.map (HSA_1.0): Added __hsa_register_image.


Added:
    branches/hsa/libgomp/hsa.c
    branches/hsa/libgomp/hsa.h
    branches/hsa/libgomp/hsa_ext_finalize.h
Removed:
    branches/hsa/libgomp/hsaokra.c
    branches/hsa/libgomp/okra.h
Modified:
    branches/hsa/gcc/hsa-brig-format.h
    branches/hsa/gcc/hsa-brig.c
    branches/hsa/gcc/hsa-dump.c
    branches/hsa/gcc/hsa-gen.c
    branches/hsa/gcc/hsa-regalloc.c
    branches/hsa/gcc/hsa.h
    branches/hsa/libgomp/Makefile.am
    branches/hsa/libgomp/Makefile.in
    branches/hsa/libgomp/libgomp.map



More information about the Gcc-cvs mailing list