1*7d6ca2ecSMatt Arsenault; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
2*7d6ca2ecSMatt Arsenault; RUN: opt -mtriple=amdgcn-amd-amdhsa -mcpu=gfx900 -S -infer-address-spaces %s | FileCheck %s
3*7d6ca2ecSMatt Arsenault
4*7d6ca2ecSMatt Arsenaultdefine amdgpu_kernel void @subclass_data_assert() {
5*7d6ca2ecSMatt Arsenault; CHECK-LABEL: @subclass_data_assert(
6*7d6ca2ecSMatt Arsenault; CHECK-NEXT:  entry:
7*7d6ca2ecSMatt Arsenault; CHECK-NEXT:    unreachable
8*7d6ca2ecSMatt Arsenault; CHECK:       strlen.while11:
9*7d6ca2ecSMatt Arsenault; CHECK-NEXT:    [[I:%.*]] = getelementptr i8, i8* [[I]], i64 1
10*7d6ca2ecSMatt Arsenault; CHECK-NEXT:    [[I1:%.*]] = load i8, i8* [[I]], align 1
11*7d6ca2ecSMatt Arsenault; CHECK-NEXT:    [[I2:%.*]] = icmp eq i8 [[I1]], 0
12*7d6ca2ecSMatt Arsenault; CHECK-NEXT:    br i1 [[I2]], label [[STRLEN_WHILE_DONE12:%.*]], label [[STRLEN_WHILE11:%.*]]
13*7d6ca2ecSMatt Arsenault; CHECK:       strlen.while.done12:
14*7d6ca2ecSMatt Arsenault; CHECK-NEXT:    ret void
15*7d6ca2ecSMatt Arsenault;
16*7d6ca2ecSMatt Arsenaultentry:
17*7d6ca2ecSMatt Arsenault  unreachable
18*7d6ca2ecSMatt Arsenault
19*7d6ca2ecSMatt Arsenaultstrlen.while11:                                   ; preds = %strlen.while11
20*7d6ca2ecSMatt Arsenault  %i = getelementptr i8, i8* %i, i64 1
21*7d6ca2ecSMatt Arsenault  %i1 = load i8, i8* %i, align 1
22*7d6ca2ecSMatt Arsenault  %i2 = icmp eq i8 %i1, 0
23*7d6ca2ecSMatt Arsenault  br i1 %i2, label %strlen.while.done12, label %strlen.while11
24*7d6ca2ecSMatt Arsenault
25*7d6ca2ecSMatt Arsenaultstrlen.while.done12:                              ; preds = %strlen.while11
26*7d6ca2ecSMatt Arsenault  ret void
27*7d6ca2ecSMatt Arsenault}
28