aboutsummaryrefslogtreecommitdiffstats
path: root/common/recipes-graphics/mesa/mesa/0003-mesa-st-glsl_to_tgsi-rename-lifetime-to-register_liv.patch
blob: 774e7f09a4ab21febd90e5ee19aaea17df6b21d4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
From 73193fae57d2b9ab6dae144fc966c47f86a3206f Mon Sep 17 00:00:00 2001
From: Gert Wollny <gw.fossdev@gmail.com>
Date: Fri, 9 Feb 2018 11:11:07 +0100
Subject: [PATCH 03/13] mesa/st/glsl_to_tgsi: rename lifetime to
 register_live_range

On one hand "live range" is the term used in the literature, and on the
other hand a distinction is needed from the array live ranges that will
be introduced later.

Signed-off-by: Gert Wollny <gw.fossdev@gmail.com>
---
 src/mesa/state_tracker/st_glsl_to_tgsi.cpp         | 16 ++---
 .../state_tracker/st_glsl_to_tgsi_temprename.cpp   | 78 +++++++++++-----------
 .../state_tracker/st_glsl_to_tgsi_temprename.h     | 36 +++++-----
 src/mesa/state_tracker/tests/st_tests_common.cpp   | 16 +++--
 src/mesa/state_tracker/tests/st_tests_common.h     | 13 ++--
 .../tests/test_glsl_to_tgsi_lifetime.cpp           | 10 +--
 6 files changed, 88 insertions(+), 81 deletions(-)

diff --git a/src/mesa/state_tracker/st_glsl_to_tgsi.cpp b/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
index 7413874..163f334 100644
--- a/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
+++ b/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
@@ -5475,19 +5475,19 @@ glsl_to_tgsi_visitor::split_arrays(void)
 void
 glsl_to_tgsi_visitor::merge_registers(void)
 {
-   struct lifetime *lifetimes =
-         rzalloc_array(mem_ctx, struct lifetime, this->next_temp);
+   struct register_live_range *reg_live_ranges =
+         rzalloc_array(mem_ctx, struct register_live_range, this->next_temp);
 
-   if (get_temp_registers_required_lifetimes(mem_ctx, &this->instructions,
-                                             this->next_temp, lifetimes)) {
+   if (get_temp_registers_required_live_ranges(reg_live_ranges, &this->instructions,
+                                             this->next_temp, reg_live_ranges)) {
       struct rename_reg_pair *renames =
-            rzalloc_array(mem_ctx, struct rename_reg_pair, this->next_temp);
-      get_temp_registers_remapping(mem_ctx, this->next_temp, lifetimes, renames);
+            rzalloc_array(reg_live_ranges, struct rename_reg_pair, this->next_temp);
+      get_temp_registers_remapping(reg_live_ranges, this->next_temp,
+                                   reg_live_ranges, renames);
       rename_temp_registers(renames);
       ralloc_free(renames);
    }
-
-   ralloc_free(lifetimes);
+   ralloc_free(reg_live_ranges);
 }
 
 /* Reassign indices to temporary registers by reusing unused indices created
diff --git a/src/mesa/state_tracker/st_glsl_to_tgsi_temprename.cpp b/src/mesa/state_tracker/st_glsl_to_tgsi_temprename.cpp
index 6921a64..73f52cf 100644
--- a/src/mesa/state_tracker/st_glsl_to_tgsi_temprename.cpp
+++ b/src/mesa/state_tracker/st_glsl_to_tgsi_temprename.cpp
@@ -154,9 +154,9 @@ public:
 
    void record_read(int line, prog_scope *scope);
    void record_write(int line, prog_scope *scope);
-   lifetime get_required_lifetime();
+   register_live_range get_required_live_range();
 private:
-   void propagate_lifetime_to_dominant_write_scope();
+   void propagate_live_range_to_dominant_write_scope();
    bool conditional_ifelse_write_in_loop() const;
 
    void record_ifelse_write(const prog_scope& scope);
@@ -230,7 +230,7 @@ public:
    temp_access();
    void record_read(int line, prog_scope *scope, int swizzle);
    void record_write(int line, prog_scope *scope, int writemask);
-   lifetime get_required_lifetime();
+   register_live_range get_required_live_range();
 private:
    void update_access_mask(int mask);
 
@@ -513,22 +513,22 @@ void temp_access::record_read(int line, prog_scope *scope, int swizzle)
       comp[3].record_read(line, scope);
 }
 
-inline static lifetime make_lifetime(int b, int e)
+inline static register_live_range make_live_range(int b, int e)
 {
-   lifetime lt;
+   register_live_range lt;
    lt.begin = b;
    lt.end = e;
    return lt;
 }
 
-lifetime temp_access::get_required_lifetime()
+register_live_range temp_access::get_required_live_range()
 {
-   lifetime result = make_lifetime(-1, -1);
+   register_live_range result = make_live_range(-1, -1);
 
    unsigned mask = access_mask;
    while (mask) {
       unsigned chan = u_bit_scan(&mask);
-      lifetime lt = comp[chan].get_required_lifetime();
+      register_live_range lt = comp[chan].get_required_live_range();
 
       if (lt.begin >= 0) {
          if ((result.begin < 0) || (result.begin > lt.begin))
@@ -766,7 +766,7 @@ bool temp_comp_access::conditional_ifelse_write_in_loop() const
    return conditionality_in_loop_id <= conditionality_unresolved;
 }
 
-void temp_comp_access::propagate_lifetime_to_dominant_write_scope()
+void temp_comp_access::propagate_live_range_to_dominant_write_scope()
 {
    first_write = first_write_scope->begin();
    int lr = first_write_scope->end();
@@ -775,7 +775,7 @@ void temp_comp_access::propagate_lifetime_to_dominant_write_scope()
       last_read = lr;
 }
 
-lifetime temp_comp_access::get_required_lifetime()
+register_live_range temp_comp_access::get_required_live_range()
 {
    bool keep_for_full_loop = false;
 
@@ -785,7 +785,7 @@ lifetime temp_comp_access::get_required_lifetime()
     * eliminating registers that are not written to.
     */
    if (last_write < 0)
-      return make_lifetime(-1, -1);
+      return make_live_range(-1, -1);
 
    assert(first_write_scope);
 
@@ -793,7 +793,7 @@ lifetime temp_comp_access::get_required_lifetime()
     * reused in the range it is used to write to
     */
    if (!last_read_scope)
-      return make_lifetime(first_write, last_write + 1);
+      return make_live_range(first_write, last_write + 1);
 
    const prog_scope *enclosing_scope_first_read = first_read_scope;
    const prog_scope *enclosing_scope_first_write = first_write_scope;
@@ -837,7 +837,7 @@ lifetime temp_comp_access::get_required_lifetime()
    /* Propagate the last read scope to the target scope */
    while (enclosing_scope->nesting_depth() < last_read_scope->nesting_depth()) {
       /* If the read is in a loop and we have to move up the scope we need to
-       * extend the life time to the end of this current loop because at this
+       * extend the live range to the end of this current loop because at this
        * point we don't know whether the component was written before
        * un-conditionally in the same loop.
        */
@@ -848,42 +848,42 @@ lifetime temp_comp_access::get_required_lifetime()
    }
 
    /* If the variable has to be kept for the whole loop, and we
-    * are currently in a loop, then propagate the life time.
+    * are currently in a loop, then propagate the live range.
     */
    if (keep_for_full_loop && first_write_scope->is_loop())
-      propagate_lifetime_to_dominant_write_scope();
+      propagate_live_range_to_dominant_write_scope();
 
    /* Propagate the first_dominant_write scope to the target scope */
    while (enclosing_scope->nesting_depth() < first_write_scope->nesting_depth()) {
-      /* Propagate lifetime if there was a break in a loop and the write was
+      /* Propagate live_range if there was a break in a loop and the write was
        * after the break inside that loop. Note, that this is only needed if
        * we move up in the scopes.
        */
       if (first_write_scope->loop_break_line() < first_write) {
          keep_for_full_loop = true;
-         propagate_lifetime_to_dominant_write_scope();
+         propagate_live_range_to_dominant_write_scope();
       }
 
       first_write_scope = first_write_scope->parent();
 
-      /* Propagte lifetime if we are now in a loop */
+      /* Propagte live_range if we are now in a loop */
       if (keep_for_full_loop && first_write_scope->is_loop())
-          propagate_lifetime_to_dominant_write_scope();
+          propagate_live_range_to_dominant_write_scope();
    }
 
    /* The last write past the last read is dead code, but we have to
     * ensure that the component is not reused too early, hence extend the
-    * lifetime past the last write.
+    * live_range past the last write.
     */
    if (last_write >= last_read)
       last_read = last_write + 1;
 
    /* Here we are at the same scope, all is resolved */
-   return make_lifetime(first_write, last_read);
+   return make_live_range(first_write, last_read);
 }
 
 /* Helper class for sorting and searching the registers based
- * on life times. */
+ * on live ranges. */
 class access_record {
 public:
    int begin;
@@ -904,7 +904,7 @@ public:
    void record_read(const st_src_reg& src, int line, prog_scope *scope);
    void record_write(const st_dst_reg& src, int line, prog_scope *scope);
 
-   void get_required_lifetimes(struct lifetime *lifetimes);
+   void get_required_live_ranges(register_live_range *live_ranges);
 private:
 
    int ntemps;
@@ -947,14 +947,14 @@ void access_recorder::record_write(const st_dst_reg& dst, int line,
       record_read(*dst.reladdr2, line, scope);
 }
 
-void access_recorder::get_required_lifetimes(struct lifetime *lifetimes)
+void access_recorder::get_required_live_ranges(struct register_live_range *live_ranges)
 {
-   RENAME_DEBUG(debug_log << "========= lifetimes ==============\n");
+   RENAME_DEBUG(debug_log << "=========live_ranges ==============\n");
    for(int i = 0; i < ntemps; ++i) {
       RENAME_DEBUG(debug_log<< setw(4) << i);
-      lifetimes[i] = acc[i].get_required_lifetime();
-      RENAME_DEBUG(debug_log << ": [" << lifetimes[i].begin << ", "
-                        << lifetimes[i].end << "]\n");
+     live_ranges[i] = acc[i].get_required_live_range();
+      RENAME_DEBUG(debug_log << ": [" <<live_ranges[i].begin << ", "
+                        <<live_ranges[i].end << "]\n");
    }
    RENAME_DEBUG(debug_log << "==================================\n\n");
 }
@@ -967,12 +967,12 @@ static void dump_instruction(ostream& os, int line, prog_scope *scope,
                              const glsl_to_tgsi_instruction& inst);
 #endif
 
-/* Scan the program and estimate the required register life times.
- * The array lifetimes must be pre-allocated
+/* Scan the program and estimate the required register live ranges.
+ * live_ranges must be pre-allocated.
  */
 bool
-get_temp_registers_required_lifetimes(void *mem_ctx, exec_list *instructions,
-                                      int ntemps, struct lifetime *lifetimes)
+get_temp_registers_required_live_ranges(void *mem_ctx, exec_list *instructions,
+                                        int ntemps, struct register_live_range *live_ranges)
 {
    int line = 0;
    int loop_id = 1;
@@ -1110,7 +1110,7 @@ get_temp_registers_required_lifetimes(void *mem_ctx, exec_list *instructions,
       case TGSI_OPCODE_CAL:
       case TGSI_OPCODE_RET:
          /* These opcodes are not supported and if a subroutine would
-          * be called in a shader, then the lifetime tracking would have
+          * be called in a shader, then the live_range tracking would have
           * to follow that call to see which registers are used there.
           * Since this is not done, we have to bail out here and signal
           * that no register merge will take place.
@@ -1139,11 +1139,11 @@ get_temp_registers_required_lifetimes(void *mem_ctx, exec_list *instructions,
    if (cur_scope->end() < 0)
       cur_scope->set_end(line - 1);
 
-   access.get_required_lifetimes(lifetimes);
+   access.get_required_live_ranges(live_ranges);
    return true;
 }
 
-/* Find the next register between [start, end) that has a life time starting
+/* Find the next register between [start, end) that has a live range starting
  * at or after bound by using a binary search.
  * start points at the beginning of the search range,
  * end points at the element past the end of the search range, and
@@ -1181,16 +1181,16 @@ static int access_record_compare (const void *a, const void *b) {
 /* This functions evaluates the register merges by using a binary
  * search to find suitable merge candidates. */
 void get_temp_registers_remapping(void *mem_ctx, int ntemps,
-                                  const struct lifetime* lifetimes,
+                                  const struct register_live_range *live_ranges,
                                   struct rename_reg_pair *result)
 {
    access_record *reg_access = ralloc_array(mem_ctx, access_record, ntemps);
 
    int used_temps = 0;
    for (int i = 0; i < ntemps; ++i) {
-      if (lifetimes[i].begin >= 0) {
-         reg_access[used_temps].begin = lifetimes[i].begin;
-         reg_access[used_temps].end = lifetimes[i].end;
+      if (live_ranges[i].begin >= 0) {
+         reg_access[used_temps].begin =live_ranges[i].begin;
+         reg_access[used_temps].end =live_ranges[i].end;
          reg_access[used_temps].reg = i;
          reg_access[used_temps].erase = false;
          ++used_temps;
diff --git a/src/mesa/state_tracker/st_glsl_to_tgsi_temprename.h b/src/mesa/state_tracker/st_glsl_to_tgsi_temprename.h
index 3f21b13..375d5b8 100644
--- a/src/mesa/state_tracker/st_glsl_to_tgsi_temprename.h
+++ b/src/mesa/state_tracker/st_glsl_to_tgsi_temprename.h
@@ -26,46 +26,48 @@
 
 #include "st_glsl_to_tgsi_private.h"
 
-/** Storage to record the required life time of a temporary register
+/** Storage to record the required live range of a temporary register
  * begin == end == -1 indicates that the register can be reused without
  * limitations. Otherwise, "begin" indicates the first instruction in which
  * a write operation may target this temporary, and end indicates the
  * last instruction in which a value can be read from this temporary.
  * Hence, a register R2 can be merged with a register R1 if R1.end <= R2.begin.
  */
-struct lifetime {
+struct register_live_range {
    int begin;
    int end;
 };
 
-/** Evaluates the required life times of temporary registers in a shader.
- * The life time estimation can only be run sucessfully if the shader doesn't
+/** Evaluates the required live ranges of temporary registers in a shader.
+ * The live range estimation can only be run sucessfully if the shader doesn't
  * call a subroutine.
- * @param[in] mem_ctx a memory context that can be used with the ralloc_* functions
+ * @param[in] mem_ctx a memory context that can be used with the ralloc_*
+ *            functions
  * @param[in] instructions the shader to be anlzyed
  * @param[in] ntemps number of temporaries reserved for this shader
- * @param[in,out] lifetimes memory location to store the estimated required
- *   life times for each temporary register. The parameter must point to
- *   allocated memory that can hold ntemps lifetime structures. On output
- *   the life times contains the life times for the registers with the
- *   exception of TEMP[0].
+ * @param[in,out] reg_live_ranges memory location to store the estimated
+ *   required live ranges for each temporary register. The parameter must
+ *   point to allocated memory that can hold ntemps register_live_range
+ *   structures. On output the live ranges contains the live ranges for
+ *   the registers with the exception of TEMP[0]
  * @returns: true if the lifetimes were estimated, false if not (i.e. if a
  * subroutine was called).
  */
 bool
-get_temp_registers_required_lifetimes(void *mem_ctx, exec_list *instructions,
-                                      int ntemps, struct lifetime *lifetimes);
+get_temp_registers_required_live_ranges(void *mem_ctx, exec_list *instructions,
+                           int ntemps, struct register_live_range *live_ranges);
+
 /** Estimate the merge remapping of the registers.
- * @param[in] mem_ctx a memory context that can be used with the ralloc_* functions
+ * @param[in] mem_ctx a memory context that can be used with the ralloc_*
+ *            functions
  * @param[in] ntemps number of temporaries reserved for this shader
- * @param[in] lifetimes required life time for each temporary register.
+ * @param[in] reg_live_ranges required live range for each temporary register.
  * @param[in,out] result memory location to store the register remapping table.
  *  On input the parameter must point to allocated memory that can hold the
  *  renaming information for ntemps registers, on output the mapping is stored.
  *  Note that TEMP[0] is not considered for register renaming.
  */
 void get_temp_registers_remapping(void *mem_ctx, int ntemps,
-                                  const struct lifetime* lifetimes,
-                                  struct rename_reg_pair *result);
-
+                            const struct register_live_range* reg_live_ranges,
+                            struct rename_reg_pair *result);
 #endif
\ No newline at end of file
diff --git a/src/mesa/state_tracker/tests/st_tests_common.cpp b/src/mesa/state_tracker/tests/st_tests_common.cpp
index ea01ca5..f1e4a83 100644
--- a/src/mesa/state_tracker/tests/st_tests_common.cpp
+++ b/src/mesa/state_tracker/tests/st_tests_common.cpp
@@ -411,7 +411,7 @@ LifetimeEvaluatorTest::run(const vector<FakeCodeline>& code, bool& success)
    lifetime_result result(shader.get_num_temps());
 
    success =
-         get_temp_registers_required_lifetimes(mem_ctx, shader.get_program(mem_ctx),
+         get_temp_registers_required_live_ranges(mem_ctx, shader.get_program(mem_ctx),
                                                shader.get_num_temps(),
                                                &result[0]);
 
@@ -422,8 +422,9 @@ void LifetimeEvaluatorTest::run(const vector<FakeCodeline>& code, const temp_lt_
 {
    FakeShader shader(code);
    lifetime_result result(shader.get_num_temps());
+
    bool success =
-      get_temp_registers_required_lifetimes(mem_ctx, shader.get_program(mem_ctx),
+      get_temp_registers_required_live_ranges(mem_ctx, shader.get_program(mem_ctx),
                                             shader.get_num_temps(),
                                             &result[0]);
    ASSERT_TRUE(success);
@@ -431,7 +432,7 @@ void LifetimeEvaluatorTest::run(const vector<FakeCodeline>& code, const temp_lt_
    check(result, e);
 }
 
-void LifetimeEvaluatorExactTest::check( const vector<lifetime>& lifetimes,
+void LifetimeEvaluatorExactTest::check( const vector<register_live_range>& lifetimes,
                                         const temp_lt_expect& e)
 {
    for (unsigned i = 1; i < lifetimes.size(); ++i) {
@@ -440,7 +441,7 @@ void LifetimeEvaluatorExactTest::check( const vector<lifetime>& lifetimes,
    }
 }
 
-void LifetimeEvaluatorAtLeastTest::check( const vector<lifetime>& lifetimes,
+void LifetimeEvaluatorAtLeastTest::check( const vector<register_live_range>& lifetimes,
                                           const temp_lt_expect& e)
 {
    for (unsigned i = 1; i < lifetimes.size(); ++i) {
@@ -449,7 +450,7 @@ void LifetimeEvaluatorAtLeastTest::check( const vector<lifetime>& lifetimes,
    }
 }
 
-void RegisterRemappingTest::run(const vector<lifetime>& lt,
+void RegisterRemappingTest::run(const vector<register_live_range>& lt,
                                 const vector<int>& expect)
 {
    rename_reg_pair proto{false,0};
@@ -476,8 +477,9 @@ void RegisterLifetimeAndRemappingTest::run(const vector<FakeCodeline>& code,
                                            const vector<int>& expect)
 {
      FakeShader shader(code);
-     std::vector<lifetime> lt(shader.get_num_temps());
-     get_temp_registers_required_lifetimes(mem_ctx, shader.get_program(mem_ctx),
+     std::vector<register_live_range> lt(shader.get_num_temps());
+
+     get_temp_registers_required_live_ranges(mem_ctx, shader.get_program(mem_ctx),
                                            shader.get_num_temps(), &lt[0]);
      this->run(lt, expect);
 }
diff --git a/src/mesa/state_tracker/tests/st_tests_common.h b/src/mesa/state_tracker/tests/st_tests_common.h
index 2e18832..0fcec62 100644
--- a/src/mesa/state_tracker/tests/st_tests_common.h
+++ b/src/mesa/state_tracker/tests/st_tests_common.h
@@ -131,17 +131,19 @@ class LifetimeEvaluatorTest : public MesaTestWithMemCtx {
 protected:
    void run(const std::vector<FakeCodeline>& code, const temp_lt_expect& e);
 private:
-   using lifetime_result=std::vector<lifetime>;
+   using lifetime_result=std::vector<register_live_range>;
    lifetime_result run(const std::vector<FakeCodeline>& code, bool& success);
 
-   virtual void check(const std::vector<lifetime>& result, const temp_lt_expect& e) = 0;
+   virtual void check(const std::vector<register_live_range>& result,
+                      const temp_lt_expect& e) = 0;
 };
 
 /* This is a test class to check the exact life times of
  * registers. */
 class LifetimeEvaluatorExactTest : public LifetimeEvaluatorTest {
 protected:
-   void check(const std::vector<lifetime>& result, const temp_lt_expect& e);
+   void check(const std::vector<register_live_range>& result,
+              const temp_lt_expect& e);
 
 };
 
@@ -152,13 +154,14 @@ protected:
  */
 class LifetimeEvaluatorAtLeastTest : public LifetimeEvaluatorTest {
 protected:
-   void check(const std::vector<lifetime>& result, const temp_lt_expect& e);
+   void check(const std::vector<register_live_range>& result, const temp_lt_expect& e);
 };
 
 /* With this test class the renaming mapping estimation is tested */
 class RegisterRemappingTest : public MesaTestWithMemCtx {
 protected:
-   void run(const std::vector<lifetime>& lt, const std::vector<int> &expect);
+   void run(const std::vector<register_live_range>& lt,
+            const std::vector<int> &expect);
 };
 
 /* With this test class the combined lifetime estimation and renaming
diff --git a/src/mesa/state_tracker/tests/test_glsl_to_tgsi_lifetime.cpp b/src/mesa/state_tracker/tests/test_glsl_to_tgsi_lifetime.cpp
index acebfb8..dbf74cc 100644
--- a/src/mesa/state_tracker/tests/test_glsl_to_tgsi_lifetime.cpp
+++ b/src/mesa/state_tracker/tests/test_glsl_to_tgsi_lifetime.cpp
@@ -1684,7 +1684,7 @@ TEST_F(LifetimeEvaluatorExactTest, WriteIndirectReladdr2)
  */
 TEST_F(RegisterRemappingTest, RegisterRemapping1)
 {
-   vector<lifetime> lt({{-1,-1},
+   vector<register_live_range> lt({{-1,-1},
                         {0,1},
                         {0,2},
                         {1,2},
@@ -1699,7 +1699,7 @@ TEST_F(RegisterRemappingTest, RegisterRemapping1)
 
 TEST_F(RegisterRemappingTest, RegisterRemapping2)
 {
-   vector<lifetime> lt({{-1,-1},
+   vector<register_live_range> lt({{-1,-1},
                         {0,1},
                         {0,2},
                         {3,4},
@@ -1711,7 +1711,7 @@ TEST_F(RegisterRemappingTest, RegisterRemapping2)
 
 TEST_F(RegisterRemappingTest, RegisterRemappingMergeAllToOne)
 {
-   vector<lifetime> lt({{-1,-1},
+   vector<register_live_range> lt({{-1,-1},
                         {0,1},
                         {1,2},
                         {2,3},
@@ -1723,7 +1723,7 @@ TEST_F(RegisterRemappingTest, RegisterRemappingMergeAllToOne)
 
 TEST_F(RegisterRemappingTest, RegisterRemappingIgnoreUnused)
 {
-   vector<lifetime> lt({{-1,-1},
+   vector<register_live_range> lt({{-1,-1},
                         {0,1},
                         {1,2},
                         {2,3},
@@ -1736,7 +1736,7 @@ TEST_F(RegisterRemappingTest, RegisterRemappingIgnoreUnused)
 
 TEST_F(RegisterRemappingTest, RegisterRemappingMergeZeroLifetimeRegisters)
 {
-   vector<lifetime> lt({{-1,-1},
+   vector<register_live_range> lt({{-1,-1},
                         {0,1},
                         {1,2},
                         {2,3},
-- 
2.7.4