1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-23 03:02:36 +01:00
llvm-mirror/test/CodeGen/Mips/unsized-global.ll
Alexander Richardson ca6e5dbb32 [MIPS] Don't crash on unsized extern types with -mgpopt
Summary: This fixes an assertion when building the FreeBSD MIPS64 kernel.

Reviewers: atanasyan, sdardis, emaste

Reviewed By: sdardis

Subscribers: krytarowski, llvm-commits

Differential Revision: https://reviews.llvm.org/D42571

llvm-svn: 323536
2018-01-26 15:56:14 +00:00

23 lines
709 B
LLVM

; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
; Check that -mgpopt doesn't crash on unsized externals
; RUN: llc -mtriple=mips64-unknown-freebsd -mattr=+noabicalls -target-abi n64 -mgpopt -o - %s | FileCheck %s
%struct.a = type opaque
@b = external global %struct.a, align 1
; Function Attrs: norecurse nounwind readnone
define %struct.a* @d() {
; CHECK-LABEL: d:
; CHECK: # %bb.0: # %entry
; CHECK-NEXT: lui $1, %highest(b)
; CHECK-NEXT: daddiu $1, $1, %higher(b)
; CHECK-NEXT: dsll $1, $1, 16
; CHECK-NEXT: daddiu $1, $1, %hi(b)
; CHECK-NEXT: dsll $1, $1, 16
; CHECK-NEXT: jr $ra
; CHECK-NEXT: daddiu $2, $1, %lo(b)
entry:
ret %struct.a* @b
}