1; RUN: llc < %s 2; PR3806 3 4; NVPTX does not support 'alias' yet 5; XFAIL: target=nvptx{{.*}} 6 7 %struct..0__pthread_mutex_s = type { i32, i32, i32, i32, i32, i32, %struct.__pthread_list_t } 8 %struct.Alignment = type { i32 } 9 %struct.QDesignerFormWindowInterface = type { %struct.QWidget } 10 %struct.QFont = type { ptr, i32 } 11 %struct.QFontPrivate = type opaque 12 %"struct.QHash<QString,QList<QAbstractExtensionFactory*> >" = type { %"struct.QHash<QString,QList<QAbstractExtensionFactory*> >::._120" } 13 %"struct.QHash<QString,QList<QAbstractExtensionFactory*> >::._120" = type { ptr } 14 %struct.QHashData = type { ptr, ptr, %struct.Alignment, i32, i32, i16, i16, i32, i8 } 15 %"struct.QHashData::Node" = type { ptr, i32 } 16 %"struct.QList<QAbstractExtensionFactory*>" = type { %"struct.QList<QAbstractExtensionFactory*>::._101" } 17 %"struct.QList<QAbstractExtensionFactory*>::._101" = type { %struct.QListData } 18 %struct.QListData = type { ptr } 19 %"struct.QListData::Data" = type { %struct.Alignment, i32, i32, i32, i8, [1 x ptr] } 20 %struct.QObject = type { ptr, ptr } 21 %struct.QObjectData = type { ptr, ptr, ptr, %"struct.QList<QAbstractExtensionFactory*>", i32, i32 } 22 %struct.QPaintDevice.base = type { ptr, i16 } 23 %"struct.QPair<int,int>" = type { i32, i32 } 24 %struct.QPalette = type { ptr, i32 } 25 %struct.QPalettePrivate = type opaque 26 %struct.QRect = type { i32, i32, i32, i32 } 27 %struct.QWidget = type { %struct.QObject, %struct.QPaintDevice.base, ptr } 28 %struct.QWidgetData = type { i64, i32, %struct.Alignment, i8, i8, i16, %struct.QRect, %struct.QPalette, %struct.QFont, %struct.QRect } 29 %struct.__pthread_list_t = type { ptr, ptr } 30 %struct.pthread_attr_t = type { i64, [48 x i8] } 31 %struct.pthread_mutex_t = type { %struct..0__pthread_mutex_s } 32 %"struct.qdesigner_internal::Grid" = type { i32, i32, ptr, ptr, ptr } 33 %"struct.qdesigner_internal::GridLayout" = type { %"struct.qdesigner_internal::Layout", %"struct.QPair<int,int>", ptr } 34 %"struct.qdesigner_internal::Layout" = type { %struct.QObject, %"struct.QList<QAbstractExtensionFactory*>", ptr, %"struct.QHash<QString,QList<QAbstractExtensionFactory*> >", ptr, ptr, i8, %"struct.QPair<int,int>", %struct.QRect, i8 } 35 36@_ZL20__gthrw_pthread_oncePiPFvvE = weak alias i32 (ptr, ptr), ptr @pthread_once ; <ptr> [#uses=0] 37@_ZL27__gthrw_pthread_getspecificj = weak alias ptr (i32), ptr @pthread_getspecific ; <ptr> [#uses=0] 38@_ZL27__gthrw_pthread_setspecificjPKv = weak alias i32 (i32, ptr), ptr @pthread_setspecific ; <ptr> [#uses=0] 39@_ZL22__gthrw_pthread_createPmPK14pthread_attr_tPFPvS3_ES3_ = weak alias i32 (ptr, ptr, ptr, ptr), ptr @pthread_create ; <ptr> [#uses=0] 40@_ZL22__gthrw_pthread_cancelm = weak alias i32 (i64), ptr @pthread_cancel ; <ptr> [#uses=0] 41@_ZL26__gthrw_pthread_mutex_lockP15pthread_mutex_t = weak alias i32 (ptr), ptr @pthread_mutex_lock ; <ptr> [#uses=0] 42@_ZL29__gthrw_pthread_mutex_trylockP15pthread_mutex_t = weak alias i32 (ptr), ptr @pthread_mutex_trylock ; <ptr> [#uses=0] 43@_ZL28__gthrw_pthread_mutex_unlockP15pthread_mutex_t = weak alias i32 (ptr), ptr @pthread_mutex_unlock ; <ptr> [#uses=0] 44@_ZL26__gthrw_pthread_mutex_initP15pthread_mutex_tPK19pthread_mutexattr_t = weak alias i32 (ptr, ptr), ptr @pthread_mutex_init ; <ptr> [#uses=0] 45@_ZL26__gthrw_pthread_key_createPjPFvPvE = weak alias i32 (ptr, ptr), ptr @pthread_key_create ; <ptr> [#uses=0] 46@_ZL26__gthrw_pthread_key_deletej = weak alias i32 (i32), ptr @pthread_key_delete ; <ptr> [#uses=0] 47@_ZL30__gthrw_pthread_mutexattr_initP19pthread_mutexattr_t = weak alias i32 (ptr), ptr @pthread_mutexattr_init ; <ptr> [#uses=0] 48@_ZL33__gthrw_pthread_mutexattr_settypeP19pthread_mutexattr_ti = weak alias i32 (ptr, i32), ptr @pthread_mutexattr_settype ; <ptr> [#uses=0] 49@_ZL33__gthrw_pthread_mutexattr_destroyP19pthread_mutexattr_t = weak alias i32 (ptr), ptr @pthread_mutexattr_destroy ; <ptr> [#uses=0] 50 51define void @_ZN18qdesigner_internal10GridLayout9buildGridEv(ptr %this) nounwind { 52entry: 53 br label %bb44 54 55bb44: ; preds = %bb47, %entry 56 %indvar = phi i128 [ %indvar.next144, %bb47 ], [ 0, %entry ] ; <i128> [#uses=2] 57 br i1 false, label %bb46, label %bb47 58 59bb46: ; preds = %bb44 60 %tmp = shl i128 %indvar, 64 ; <i128> [#uses=1] 61 %tmp96 = and i128 %tmp, 79228162495817593519834398720 ; <i128> [#uses=0] 62 br label %bb47 63 64bb47: ; preds = %bb46, %bb44 65 %indvar.next144 = add i128 %indvar, 1 ; <i128> [#uses=1] 66 br label %bb44 67} 68 69define i32 @pthread_once(ptr, ptr) addrspace(0) { 70 ret i32 0 71} 72 73define ptr @pthread_getspecific(i32) addrspace(0) { 74 ret ptr null 75} 76 77define i32 @pthread_setspecific(i32, ptr) addrspace(0) { 78 ret i32 0 79} 80 81define i32 @pthread_create(ptr, ptr, ptr, ptr) addrspace(0) { 82 ret i32 0 83} 84 85define i32 @pthread_cancel(i64) addrspace(0) { 86 ret i32 0 87} 88 89define i32 @pthread_mutex_lock(ptr) addrspace(0) { 90 ret i32 0 91} 92 93define i32 @pthread_mutex_trylock(ptr) addrspace(0) { 94 ret i32 0 95} 96 97define i32 @pthread_mutex_unlock(ptr) addrspace(0) { 98 ret i32 0 99} 100 101define i32 @pthread_mutex_init(ptr, ptr) addrspace(0) { 102 ret i32 0 103} 104 105define i32 @pthread_key_create(ptr, ptr) addrspace(0) { 106 ret i32 0 107} 108 109define i32 @pthread_key_delete(i32) addrspace(0) { 110 ret i32 0 111} 112 113define i32 @pthread_mutexattr_init(ptr) addrspace(0) { 114 ret i32 0 115} 116 117define i32 @pthread_mutexattr_settype(ptr, i32) addrspace(0) { 118 ret i32 0 119} 120 121define i32 @pthread_mutexattr_destroy(ptr) addrspace(0) { 122 ret i32 0 123} 124