| ; RUN: opt -S -codegenprepare %s -o - | FileCheck %s | |
| ; | |
| ; Ensure that we don't {crash,return a bad value} when given an alloca larger | |
| ; than what a pointer can represent. | |
| target datalayout = "p:16:16" | |
| ; CHECK-LABEL: @alloca_overflow_is_unknown( | |
| define i16 @alloca_overflow_is_unknown() { | |
| %i = alloca i8, i32 65537 | |
| %j = call i16 @llvm.objectsize.i16.p0i8(i8* %i, i1 false, i1 false) | |
| ; CHECK: ret i16 -1 | |
| ret i16 %j | |
| } | |
| declare i16 @llvm.objectsize.i16.p0i8(i8*, i1, i1) |