mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-01-14 16:33:28 +00:00
R600/SI: Fix off by 1 error in used register count
The register numbers start at 0, so if only 1 register was used, this was reported as 0. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@217636 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
e23e5700bb
commit
86ffcddf42
@ -322,8 +322,10 @@ void AMDGPUAsmPrinter::getSIProgramInfo(SIProgramInfo &ProgInfo,
|
||||
if (VCCUsed)
|
||||
MaxSGPR += 2;
|
||||
|
||||
ProgInfo.NumVGPR = MaxVGPR;
|
||||
ProgInfo.NumSGPR = MaxSGPR;
|
||||
// We found the maximum register index. They start at 0, so add one to get the
|
||||
// number of registers.
|
||||
ProgInfo.NumVGPR = MaxVGPR + 1;
|
||||
ProgInfo.NumSGPR = MaxSGPR + 1;
|
||||
|
||||
// Set the value to initialize FP_ROUND and FP_DENORM parts of the mode
|
||||
// register.
|
||||
|
@ -1,4 +1,4 @@
|
||||
; RUN: llc -march=r600 -mcpu=SI -verify-machineinstrs< %s | FileCheck -check-prefix=SI %s
|
||||
; RUN: llc -march=r600 -mcpu=SI -verify-machineinstrs -asm-verbose < %s | FileCheck -check-prefix=SI %s
|
||||
|
||||
declare i32 @llvm.SI.tid() nounwind readnone
|
||||
|
||||
@ -18,3 +18,10 @@ define void @foo(i32 addrspace(1)* noalias %out, i32 addrspace(1)* %abase, i32 a
|
||||
store i32 %result, i32 addrspace(1)* %outptr, align 4
|
||||
ret void
|
||||
}
|
||||
|
||||
; SI-LABEL: @one_vgpr_used
|
||||
; SI: NumVgprs: 1
|
||||
define void @one_vgpr_used(i32 addrspace(1)* %out, i32 %x) nounwind {
|
||||
store i32 %x, i32 addrspace(1)* %out, align 4
|
||||
ret void
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user