; RUN: opt -instcombine -S < %s | FileCheck %s

; This test is defending against a TypeSize message raised in the method
; `valueCoversEntireFragment` in Local.cpp because of an implicit cast from
; `TypeSize` to `uint64_t`. This particular TypeSize message only occurred when
; debug info was available.

; CHECK-LABEL: @debug_local_scalable(
define <vscale x 2 x double> @debug_local_scalable(<vscale x 2 x double> %tostore) {
  %vx = alloca <vscale x 2 x double>, align 16
  call void @llvm.dbg.declare(metadata <vscale x 2 x double>* %vx, metadata !3, metadata !DIExpression()), !dbg !5
  store <vscale x 2 x double> %tostore, <vscale x 2 x double>* %vx, align 16
  %ret = call <vscale x 2 x double> @f(<vscale x 2 x double>* %vx)
  ret <vscale x 2 x double> %ret
}

declare <vscale x 2 x double> @f(<vscale x 2 x double>*)

declare void @llvm.dbg.declare(metadata, metadata, metadata)

!llvm.module.flags = !{!2}

!0 = distinct !DICompileUnit(language: DW_LANG_C99, file: !1)
!1 = !DIFile(filename: "/tmp/test.c", directory: "/tmp/")
!2 = !{i32 2, !"Debug Info Version", i32 3}
!3 = !DILocalVariable(scope: !4)
!4 = distinct !DISubprogram(unit: !0)
!5 = !DILocation(scope: !4)
