Skip to content

Commit 47f8c94

Browse files
committed
Respond to comments
1 parent 0ecabb7 commit 47f8c94

File tree

3 files changed

+24
-25
lines changed

3 files changed

+24
-25
lines changed

llvm/lib/CodeGen/LiveVariables.cpp

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -214,7 +214,6 @@ void LiveVariables::HandleVirtRegDef(Register Reg, MachineInstr &MI) {
214214
}
215215

216216
/// FindLastPartialDef - Return the last partial def of the specified register.
217-
/// Also returns the sub-registers that're defined by the instruction.
218217
MachineInstr *LiveVariables::FindLastPartialDef(Register Reg) {
219218
unsigned LastDefDist = 0;
220219
MachineInstr *LastDef = nullptr;
@@ -250,12 +249,12 @@ void LiveVariables::HandlePhysRegUse(Register Reg, MachineInstr &MI) {
250249
// ...
251250
// = EAX
252251
// All of the sub-registers must have been defined before the use of Reg!
253-
MachineInstr *LastPartialDef = FindLastPartialDef(Reg);
252+
//MachineInstr *LastPartialDef = FindLastPartialDef(Reg);
254253
// If LastPartialDef is NULL, it must be using a livein register.
255-
if (LastPartialDef) {
256-
LastPartialDef->addOperand(
257-
MachineOperand::CreateReg(Reg, true /*IsDef*/, true /*IsImp*/));
258-
}
254+
//if (LastPartialDef) {
255+
//LastPartialDef->addOperand(
256+
//MachineOperand::CreateReg(Reg, true /*IsDef*/, true /*IsImp*/));
257+
//}
259258
} else if (LastDef && !PhysRegUse[Reg.id()] &&
260259
!LastDef->findRegisterDefOperand(Reg, /*TRI=*/nullptr))
261260
// Last def defines the super register, add an implicit def of reg.

llvm/test/CodeGen/AMDGPU/fncall-implicitdef.ll

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,18 @@
11
; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 5
2-
; RUN: llc -mtriple=amdgcn -mcpu=gfx900 -O1 %s -o - | FileCheck %s
2+
; RUN: llc -mtriple=amdgcn-amd-amdpal -mcpu=gfx900 -O1 %s -o - | FileCheck %s
33

44
define amdgpu_ps <4 x float> @caller(ptr %ptr) {
55
; CHECK-LABEL: caller:
66
; CHECK: ; %bb.0:
77
; CHECK-NEXT: flat_load_dword v1, v[0:1]
8+
; CHECK-NEXT: s_mov_b32 s5, fn@abs32@hi
9+
; CHECK-NEXT: s_mov_b32 s4, fn@abs32@lo
10+
; CHECK-NEXT: s_mov_b64 s[8:9], 0
811
; CHECK-NEXT: s_mov_b32 s0, 0
912
; CHECK-NEXT: s_mov_b32 s1, 0
1013
; CHECK-NEXT: s_mov_b32 s2, 0
11-
; CHECK-NEXT: s_getpc_b64 s[4:5]
12-
; CHECK-NEXT: s_add_u32 s4, s4, fn@rel32@lo+4
13-
; CHECK-NEXT: s_addc_u32 s5, s5, fn@rel32@hi+12
14-
; CHECK-NEXT: s_mov_b64 s[8:9], 36
15-
; CHECK-NEXT: v_mov_b32_e32 v0, 0
1614
; CHECK-NEXT: s_mov_b32 s3, 0
15+
; CHECK-NEXT: v_mov_b32_e32 v0, 0
1716
; CHECK-NEXT: v_mov_b32_e32 v2, 0
1817
; CHECK-NEXT: s_mov_b32 s32, 0
1918
; CHECK-NEXT: s_swappc_b64 s[30:31], s[4:5]

llvm/test/CodeGen/AMDGPU/livevars-implicitdef.mir

Lines changed: 14 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py UTC_ARGS: --version 5
22
# RUN: llc -mtriple=amdgcn --run-pass=livevars -o - %s | FileCheck %s
33
---
4-
# Check that super register is implicitly defined for an sgpr copy.
4+
# Check that super register is defined for an sgpr copy.
55
name: sgpr_copy
66
tracksRegLiveness: true
77
body: |
@@ -12,19 +12,19 @@ body: |
1212
; CHECK-NEXT: $sgpr0 = COPY %sval
1313
; CHECK-NEXT: $sgpr1 = COPY %sval
1414
; CHECK-NEXT: $sgpr2 = COPY %sval
15-
; CHECK-NEXT: $sgpr3 = COPY killed %sval, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3
16-
; CHECK-NEXT: dead $sgpr30_sgpr31 = COPY killed $sgpr0_sgpr1_sgpr2_sgpr3
15+
; CHECK-NEXT: $sgpr3 = COPY killed %sval
16+
; CHECK-NEXT: SI_RETURN implicit killed $sgpr0_sgpr1_sgpr2_sgpr3
1717
%sval:sreg_32 = S_MOV_B32 0
1818
1919
$sgpr0 = COPY %sval
2020
$sgpr1 = COPY %sval
2121
$sgpr2 = COPY %sval
2222
$sgpr3 = COPY %sval
23-
$sgpr30_sgpr31 = COPY $sgpr0_sgpr1_sgpr2_sgpr3
23+
SI_RETURN implicit $sgpr0_sgpr1_sgpr2_sgpr3
2424
2525
...
2626
---
27-
# Check that super register is implicitly defined for a vgpr vector copy.
27+
# Check that super register is defined for a vgpr vector copy.
2828
name: vgpr_copy
2929
tracksRegLiveness: true
3030
body: |
@@ -35,7 +35,7 @@ body: |
3535
; CHECK-NEXT: $vgpr0 = COPY %vval
3636
; CHECK-NEXT: $vgpr1 = COPY %vval
3737
; CHECK-NEXT: $vgpr2 = COPY %vval
38-
; CHECK-NEXT: $vgpr3 = COPY killed %vval, implicit-def $vgpr0_vgpr1_vgpr2_vgpr3
38+
; CHECK-NEXT: $vgpr3 = COPY killed %vval
3939
; CHECK-NEXT: dead [[COPY:%[0-9]+]]:vgpr_32 = COPY killed $vgpr0_vgpr1_vgpr2_vgpr3
4040
%vval:vgpr_32 = V_MOV_B32_e32 0, implicit $exec
4141
@@ -47,7 +47,7 @@ body: |
4747
4848
...
4949
---
50-
# Check that super register is implicitly defined when there is a hole.
50+
# Check that super register is defined when there is a hole.
5151
name: sgpr_copy_hole
5252
tracksRegLiveness: true
5353
body: |
@@ -56,18 +56,18 @@ body: |
5656
; CHECK: %sval:sreg_32 = S_MOV_B32 0
5757
; CHECK-NEXT: $sgpr0 = COPY %sval
5858
; CHECK-NEXT: $sgpr2 = COPY %sval
59-
; CHECK-NEXT: $sgpr3 = COPY killed %sval, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3
60-
; CHECK-NEXT: dead $sgpr30_sgpr31 = COPY killed $sgpr0_sgpr1_sgpr2_sgpr3
59+
; CHECK-NEXT: $sgpr3 = COPY killed %sval
60+
; CHECK-NEXT: SI_RETURN implicit killed $sgpr0_sgpr1_sgpr2_sgpr3
6161
%sval:sreg_32 = S_MOV_B32 0
6262
6363
$sgpr0 = COPY %sval
6464
$sgpr2 = COPY %sval
6565
$sgpr3 = COPY %sval
66-
$sgpr30_sgpr31 = COPY $sgpr0_sgpr1_sgpr2_sgpr3
66+
SI_RETURN implicit $sgpr0_sgpr1_sgpr2_sgpr3
6767
6868
...
6969
---
70-
# Check that super register is imp-def when a pair interrupts the sequence.
70+
# Check that super register is defined when a pair interrupts the sequence.
7171
name: vgpr_copy_pair
7272
tracksRegLiveness: true
7373
body: |
@@ -76,8 +76,8 @@ body: |
7676
; CHECK: %vval:vgpr_32 = V_MOV_B32_e32 0, implicit $exec
7777
; CHECK-NEXT: $vgpr0 = COPY %vval
7878
; CHECK-NEXT: $vgpr1 = COPY %vval
79-
; CHECK-NEXT: $vgpr2 = COPY %vval, implicit-def $vgpr1_vgpr2
80-
; CHECK-NEXT: $vgpr3 = COPY killed %vval, implicit-def $vgpr0_vgpr1_vgpr2_vgpr3
79+
; CHECK-NEXT: $vgpr2 = COPY %vval
80+
; CHECK-NEXT: $vgpr3 = COPY killed %vval
8181
; CHECK-NEXT: dead [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr1_vgpr2
8282
; CHECK-NEXT: dead [[COPY1:%[0-9]+]]:vgpr_32 = COPY killed $vgpr0_vgpr1_vgpr2_vgpr3
8383
%vval:vgpr_32 = V_MOV_B32_e32 0, implicit $exec
@@ -88,3 +88,4 @@ body: |
8888
$vgpr3 = COPY %vval
8989
%0:vgpr_32 = COPY $vgpr1_vgpr2
9090
%1:vgpr_32 = COPY $vgpr0_vgpr1_vgpr2_vgpr3
91+
...

0 commit comments

Comments
 (0)