1*9880d681SAndroid Build Coastguard Worker; RUN: llc < %s -mtriple=powerpc64-unknown-linux-gnu -disable-ppc-sco=false --enable-shrink-wrap=false | FileCheck %s -check-prefix=CHECK-SCO-ONLY 2*9880d681SAndroid Build Coastguard Worker; RUN: llc < %s -mtriple=powerpc64-unknown-linux-gnu -disable-ppc-sco=false --enable-shrink-wrap=true | FileCheck %s -check-prefix=CHECK-SCO-SHRK 3*9880d681SAndroid Build Coastguard Worker; RUN: llc < %s -mtriple=powerpc64le-unknown-linux-gnu -disable-ppc-sco=false --enable-shrink-wrap=false | FileCheck %s -check-prefix=CHECK-SCO-ONLY 4*9880d681SAndroid Build Coastguard Worker; RUN: llc < %s -mtriple=powerpc64le-unknown-linux-gnu -disable-ppc-sco=false --enable-shrink-wrap=true | FileCheck %s -check-prefix=CHECK-SCO-SHRK 5*9880d681SAndroid Build Coastguard Worker 6*9880d681SAndroid Build Coastguard Worker%"class.clang::NamedDecl" = type { i32 } 7*9880d681SAndroid Build Coastguard Workerdeclare void @__assert_fail(); 8*9880d681SAndroid Build Coastguard Worker 9*9880d681SAndroid Build Coastguard Workerdefine i8 @_ZNK5clang9NamedDecl23getLinkageAndVisibilityEv( 10*9880d681SAndroid Build Coastguard Worker %"class.clang::NamedDecl"* %this) { 11*9880d681SAndroid Build Coastguard Workerentry: 12*9880d681SAndroid Build Coastguard Worker %tobool = icmp eq %"class.clang::NamedDecl"* %this, null 13*9880d681SAndroid Build Coastguard Worker br i1 %tobool, label %cond.false, label %exit 14*9880d681SAndroid Build Coastguard Worker 15*9880d681SAndroid Build Coastguard Workercond.false: 16*9880d681SAndroid Build Coastguard Worker tail call void @__assert_fail() 17*9880d681SAndroid Build Coastguard Worker unreachable 18*9880d681SAndroid Build Coastguard Worker 19*9880d681SAndroid Build Coastguard Workerexit: 20*9880d681SAndroid Build Coastguard Worker %DeclKind = getelementptr inbounds 21*9880d681SAndroid Build Coastguard Worker %"class.clang::NamedDecl", 22*9880d681SAndroid Build Coastguard Worker %"class.clang::NamedDecl"* %this, i64 0, i32 0 23*9880d681SAndroid Build Coastguard Worker %bf.load = load i32, i32* %DeclKind, align 4 24*9880d681SAndroid Build Coastguard Worker %call.i = tail call i8 @LVComputationKind( 25*9880d681SAndroid Build Coastguard Worker %"class.clang::NamedDecl"* %this, 26*9880d681SAndroid Build Coastguard Worker i32 %bf.load) 27*9880d681SAndroid Build Coastguard Worker ret i8 %call.i 28*9880d681SAndroid Build Coastguard Worker 29*9880d681SAndroid Build Coastguard Worker; CHECK-SCO-SHRK-LABEL: _ZNK5clang9NamedDecl23getLinkageAndVisibilityEv: 30*9880d681SAndroid Build Coastguard Worker; CHECK-SCO-SHRK: b LVComputationKind 31*9880d681SAndroid Build Coastguard Worker; CHECK-SCO-SHRK: #TC_RETURNd8 32*9880d681SAndroid Build Coastguard Worker; CHECK-SCO-SHRK: stdu 1, -{{[0-9]+}}(1) 33*9880d681SAndroid Build Coastguard Worker; CHECK-SCO-SHRK: bl __assert_fail 34*9880d681SAndroid Build Coastguard Worker; 35*9880d681SAndroid Build Coastguard Worker; CHECK-SCO-ONLY-LABEL: _ZNK5clang9NamedDecl23getLinkageAndVisibilityEv: 36*9880d681SAndroid Build Coastguard Worker; CHECK-SCO-ONLY: stdu 1, -{{[0-9]+}}(1) 37*9880d681SAndroid Build Coastguard Worker; CHECK-SCO-ONLY: b LVComputationKind 38*9880d681SAndroid Build Coastguard Worker; CHECK-SCO-ONLY: #TC_RETURNd8 39*9880d681SAndroid Build Coastguard Worker; CHECK-SCO-ONLY: bl __assert_fail 40*9880d681SAndroid Build Coastguard Worker} 41*9880d681SAndroid Build Coastguard Worker 42*9880d681SAndroid Build Coastguard Workerdefine fastcc i8 @LVComputationKind( 43*9880d681SAndroid Build Coastguard Worker %"class.clang::NamedDecl"* %D, 44*9880d681SAndroid Build Coastguard Worker i32 %computation) { 45*9880d681SAndroid Build Coastguard Worker ret i8 0 46*9880d681SAndroid Build Coastguard Worker} 47