Lines Matching defs:start
25 assert(old < entry->start);
26 assert(entry->start <= entry->end); /* single instruction block; jump to a jump */
43 if (addr < entry->start)
76 * @start: branch target starting this basic block
81 struct block_range_iter block_range__create(u64 start, u64 end)
92 if (start < entry->start)
94 else if (start > entry->end)
101 * Didn't find anything.. there's a hole at @start, however @end might
112 if (entry->end < start) {
119 if (next->start <= end) { /* add head: [start...][n->start...] */
125 .start = start,
126 .end = next->start - 1,
135 iter.start = head;
141 * The whole [start..end] range is non-overlapping.
148 .start = start,
158 iter.start = entry;
166 if (entry->start < start) { /* split: [e->start...][start...] */
172 .start = entry->start,
173 .end = start - 1,
181 entry->start = start;
189 } else if (entry->start == start)
192 iter.start = entry;
196 * At this point we've got: @iter.start = [@start...] but @end can still be
199 entry = iter.start;
210 .start = end + 1,
249 if (end < next->start) { /* add tail: [...e->end][...end] */
257 .start = entry->end + 1,
274 if (entry->end + 1 != next->start) {
280 .start = entry->end + 1,
281 .end = next->start - 1,
295 assert(iter.start->start == start && iter.start->is_target);