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