61{
63 char *ptr = ( char * ) event_list;
66 int head, tail;
68
69
70
71 head = 0;
72 tail = 0;
77 }
78
79
80
81
82
83 while ( head < tail ) {
85 if (
i != idx_q[head] ) {
88 idx_q
89 [head]] ) ) {
90
93 return 0;
94 else {
98 idx_q
99 [head]] );
103 }
104 }
105 }
106 }
107 map_q[idx_q[head]] = 1;
108 head++;
109 }
110 if ( tail ==
count ) {
111 return 1;
112 } else {
113 char *rest_event_list;
114 char *copy_rest_event_list;
115 int remainder;
116
117 rest_event_list =
119 size );
120
121 copy_rest_event_list =
123 size );
124
125 if ( !rest_event_list || !copy_rest_event_list ) {
126 if ( rest_event_list )
128 if ( copy_rest_event_list )
130 return ( 0 );
131 }
132
133
134 for (
i = 0, j = 0;
i <
count;
i++ ) {
135 if ( map_q[
i] == 0 ) {
136 memcpy( ©_rest_event_list[size * j++], &ptr[size *
i],
137 ( size_t ) size );
138 }
139 }
140 remainder = j;
141
142 memcpy( rest_event_list, copy_rest_event_list,
143 ( size_t ) size * ( size_t ) remainder );
144
145
147
150
151 for ( j = 1; j < remainder; j++ ) {
153 rest_event_list[size * j],
155 rest_event_list ) )
157 rest_event_list[size * j],
159 rest_event_list );
160 }
161
165 break;
166
167
168 memcpy( rest_event_list, copy_rest_event_list,
169 ( size_t ) size * ( size_t ) remainder );
170 }
171 }
175 return 0;
176 }
177 for (
i = 0, j = 0;
i <
count;
i++ ) {
181 *
182 j++] );
183 }
186 return 1;
187 }
188}
struct papi_vectors * _papi_hwd[]
static int _bpt_map_shared(hwd_reg_alloc_t *dst, hwd_reg_alloc_t *src)
static void _bpt_map_preempt(hwd_reg_alloc_t *dst, hwd_reg_alloc_t *src)
static int _bpt_map_exclusive(hwd_reg_alloc_t *dst)
static void _bpt_map_update(hwd_reg_alloc_t *dst, hwd_reg_alloc_t *src)
static void _bpt_map_set(hwd_reg_alloc_t *dst, int ctr)
static int _bpt_map_avail(hwd_reg_alloc_t *dst, int ctr)
static int _papi_bipartite_alloc(hwd_reg_alloc_t *event_list, int count, int cidx)
#define papi_calloc(a, b)