mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-09-30 04:56:49 +00:00
Reset the virtual registers in liveins when clearing the virtual registers.
This commit zeroes out the virtual register references in the machine function's liveins in the class 'MachineRegisterInfo' when the virtual register definitions are cleared. Reviewers: Matthias Braun git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@243290 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
a5da4f1f8d
commit
6c304ebd8a
@ -116,6 +116,8 @@ void MachineRegisterInfo::clearVirtRegs() {
|
||||
}
|
||||
#endif
|
||||
VRegInfo.clear();
|
||||
for (auto &I : LiveIns)
|
||||
I.second = 0;
|
||||
}
|
||||
|
||||
void MachineRegisterInfo::verifyUseList(unsigned Reg) const {
|
||||
|
@ -0,0 +1,19 @@
|
||||
; RUN: llc -march=x86-64 -o /dev/null -stop-after machine-scheduler %s | FileCheck %s --check-prefix=PRE-RA
|
||||
; RUN: llc -march=x86-64 -o /dev/null -stop-after prologepilog %s | FileCheck %s --check-prefix=POST-RA
|
||||
|
||||
; This test verifies that the virtual register references in machine function's
|
||||
; liveins are cleared after register allocation.
|
||||
|
||||
define i32 @test(i32 %a, i32 %b) {
|
||||
body:
|
||||
%c = mul i32 %a, %b
|
||||
ret i32 %c
|
||||
}
|
||||
|
||||
; PRE-RA: liveins:
|
||||
; PRE-RA-NEXT: - { reg: '%edi', virtual-reg: '%0' }
|
||||
; PRE-RA-NEXT: - { reg: '%esi', virtual-reg: '%1' }
|
||||
|
||||
; POST-RA: liveins:
|
||||
; POST-RA-NEXT: - { reg: '%edi' }
|
||||
; POST-RA-NEXT: - { reg: '%esi' }
|
Loading…
Reference in New Issue
Block a user