
- Add `LiveIntervalsAnalysis`. - Add `LiveIntervalsPrinterPass`. - Use `LiveIntervalsWrapperPass` in legacy pass manager. - Use `std::unique_ptr` instead of raw pointer for `LICalc`, so destructor and default move constructor can handle it correctly. This would be the last analysis required by `PHIElimination`.
33 lines
722 B
YAML
33 lines
722 B
YAML
# RUN: llc -mtriple=amdgcn -run-pass liveintervals -debug-only=regalloc -verify-machineinstrs -o /dev/null %s 2>&1 | FileCheck %s
|
|
# RUN: llc -mtriple=amdgcn --passes='print<live-intervals>' -debug-only=regalloc -o /dev/null %s 2>&1 | FileCheck %s
|
|
# REQUIRES: asserts
|
|
|
|
# CHECK: INTERVALS
|
|
# CHECK: %0
|
|
# CHECK-LABEL: Machine code for function test1:
|
|
|
|
--- |
|
|
define amdgpu_kernel void @test1() { ret void }
|
|
...
|
|
---
|
|
name: test1
|
|
registers:
|
|
- { id: 0, class: sreg_64 }
|
|
body: |
|
|
bb.0:
|
|
S_CBRANCH_VCCNZ %bb.1, implicit undef $vcc
|
|
S_BRANCH %bb.2
|
|
|
|
bb.1:
|
|
S_NOP 0, implicit-def undef %0.sub0
|
|
S_BRANCH %bb.3
|
|
|
|
bb.2:
|
|
S_NOP 0, implicit-def %0
|
|
S_BRANCH %bb.3
|
|
|
|
bb.3:
|
|
S_NOP 0
|
|
S_NOP 0, implicit %0
|
|
...
|