Files
clang-p2996/llvm/test/CodeGen/NVPTX/global-variable-big.ll
Artem Belevich 6a423ee344 [NVPTX] Fix integer overflow affecting array size calculation.
It turns out, 4GB+ large arrays are a thing and a 32-bit integer is just not
enough to handle them.

Differential Revision: https://reviews.llvm.org/D146767
2023-03-24 10:35:25 -07:00

19 lines
699 B
LLVM

; RUN: llc < %s | FileCheck %s
; RUN: %if ptxas %{ llc < %s | %ptxas-verify %}
target datalayout = "e-i64:64-v16:16-v32:32-n16:32:64"
target triple = "nvptx64-nvidia-cuda"
; Check that we can handle global variables of large integer type.
; (lsb) 0x0102'0304'0506...0F10 (msb)
@gv = addrspace(1) externally_initialized global i128 21345817372864405881847059188222722561, align 16
; CHECK: .visible .global .align 16 .b8 gv[16] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
; Make sure that we do not overflow on large number of elements.
; CHECK-LABEL large_data
; CHECK: .visible .global .align 1 .b8 large_data[4831838208]
@large_data = global [4831838208 x i8] zeroinitializer