Lines Matching defs:start
21 assert(old < entry->start);
22 assert(entry->start <= entry->end); /* single instruction block; jump to a jump */
39 if (addr < entry->start)
72 * @start: branch target starting this basic block
77 struct block_range_iter block_range__create(u64 start, u64 end)
88 if (start < entry->start)
90 else if (start > entry->end)
97 * Didn't find anything.. there's a hole at @start, however @end might
108 if (entry->end < start) {
115 if (next->start <= end) { /* add head: [start...][n->start...] */
121 .start = start,
122 .end = next->start - 1,
131 iter.start = head;
137 * The whole [start..end] range is non-overlapping.
144 .start = start,
154 iter.start = entry;
162 if (entry->start < start) { /* split: [e->start...][start...] */
168 .start = entry->start,
169 .end = start - 1,
177 entry->start = start;
185 } else if (entry->start == start)
188 iter.start = entry;
192 * At this point we've got: @iter.start = [@start...] but @end can still be
195 entry = iter.start;
206 .start = end + 1,
245 if (end < next->start) { /* add tail: [...e->end][...end] */
253 .start = entry->end + 1,
270 if (entry->end + 1 != next->start) {
276 .start = entry->end + 1,
277 .end = next->start - 1,
291 assert(iter.start->start == start && iter.start->is_target);