This is the mail archive of the gcc-cvs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

r152168 - in /branches/streamization: gcc/Chang...


Author: apop
Date: Fri Sep 25 12:28:31 2009
New Revision: 152168

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=152168
Log:
2009-09-22  Antoniu Pop  <antoniu.pop@gmail.com>

Adding multi-reader support in libGOMP streams.
	
libgomp/
	* libgomp_g.h (GOMP_stream_create, GOMP_stream_head,
	GOMP_stream_pop, GOMP_stream_eos_p): Adapted prototype.
	(GOMP_stream_register_reader): New.
	(GOMP_stream_align_push, GOMP_stream_align_pop, GOMP_sem_*):
	Removed.

	* libgomp.map (GOMP_stream_register_reader): Added.
	(GOMP_stream_align_push, GOMP_stream_align_pop, GOMP_sem_*):
	Removed.

	* stream.h (read_index, read_buffer_index, read_buffer_index_sem,
	write_buffer_index_sem): Chnaged from scalars to arrays to fit
	multiple readers.
	(lock, num_windows, num_consumers, next_consumer): New.
	(read_ready_p): Removed.
	
	* stream.c (debug_stream, GOMP_stream_create, slide_read_window,
	slide_write_window, gomp_stream_commit, gomp_stream_pop,
	GOMP_stream_head, GOMP_stream_eos_p, GOMP_stream_set_eos,
	GOMP_stream_destroy, GOMP_stream_pop): Adapted to multi-reading
	capability (mostly accessing the separate semaphores).
	(GOMP_stream_register_reader): New.
	(GOMP_stream_align_push, GOMP_stream_align_pop, GOMP_sem_*,
	read_bytes_in_read_window, written_bytes_in_write_window):
	Removed.
	
gcc/
	* omp-low.c (var_stream): Added the CONSUMER_ID to hold the
	thread/task-local variable used to identify each reader.
	(lookup_stream, scan_sharing_clauses, lower_rec_input_clauses,
	lower_send_clauses, expand_omp_taskreg, stream_create_calls):
	Updated to generate code for multi-reader streams. Pass the
	consumer ID to all runtime consumer calls.

	* tree-flow.h (omp_region): Added field STREAMIZATION_CLEANUP_BB.
	
	* builtin-types.def (BT_FN_SIZE_PTR, BT_FN_BOOL_PTR_SIZE,
	BT_FN_PTR_SIZE_SIZE_SIZE_SIZE): New.
	(BT_FN_BOOL_PTR, BT_FN_VOID_PTR_PTR_SIZE,
	BT_FN_PTR_SIZE_SIZE_SIZE): Removed.

	* fortran/types.def (BT_FN_SIZE_PTR, BT_FN_BOOL_PTR_SIZE,
	BT_FN_PTR_SIZE_SIZE_SIZE_SIZE): New.
	(BT_FN_BOOL_PTR, BT_FN_VOID_PTR_PTR_SIZE,
	BT_FN_PTR_SIZE_SIZE_SIZE): Removed.

	* omp-builtins.def (BUILT_IN_GOMP_STREAM_CREATE,
	BUILT_IN_GOMP_STREAM_HEAD, BUILT_IN_GOMP_STREAM_POP,
	BUILT_IN_GOMP_STREAM_EOS_P): Updated prototype.
	(BUILT_IN_GOMP_STREAM_REGISTER_READER): New.
	(BUILT_IN_GOMP_STREAM_ALIGN_PUSH, BUILT_IN_GOMP_STREAM_ALIGN_POP,
	BUILT_IN_GOMP_SEM_CREATE, BUILT_IN_GOMP_SEM_INIT,
	BUILT_IN_GOMP_SEM_DESTROY, BUILT_IN_GOMP_SEM_POST,
	BUILT_IN_GOMP_SEM_WAIT): Removed.


Modified:
    branches/streamization/gcc/ChangeLog.streamization
    branches/streamization/gcc/builtin-types.def
    branches/streamization/gcc/fortran/types.def
    branches/streamization/gcc/omp-builtins.def
    branches/streamization/gcc/omp-low.c
    branches/streamization/gcc/tree-flow.h
    branches/streamization/libgomp/ChangeLog.streamization
    branches/streamization/libgomp/libgomp.map
    branches/streamization/libgomp/libgomp_g.h
    branches/streamization/libgomp/stream.c
    branches/streamization/libgomp/stream.h


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]