[LLVM][IR] Use splat syntax when printing ConstantExpr based splats. (#116856)
[llvm-project.git] / llvm / test / Transforms / NewGVN / 2009-03-10-PREOnVoid.ll
blob83177e5498fe83f7bb9ddb3acb028ab498534527
1 ; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 4
2 ; RUN: opt < %s -passes=newgvn -disable-output
3 ; PR3775
5 ; ModuleID = 'bugpoint-reduced-simplified.bc'
6 target datalayout = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:64:64-v128:128:128-a0:0:64-f80:32:32"
7 target triple = "i386-pc-linux-gnu"
8   %llvm.dbg.anchor.type = type { i32, i32 }
9   %"struct.__gnu_cxx::hash<ptr>" = type <{ i8 }>
10   %struct.__sched_param = type { i32 }
11   %struct._pthread_descr_struct = type opaque
12   %struct.pthread_attr_t = type { i32, i32, %struct.__sched_param, i32, i32, i32, i32, ptr, i32 }
13   %struct.pthread_mutex_t = type { i32, i32, ptr, i32, %llvm.dbg.anchor.type }
14   %"struct.std::_Rb_tree<ptr,std::pair<ptr const, std::vector<ShadowInfo, std::allocator<ShadowInfo> > >,std::_Select1st<std::pair<ptr const, std::vector<ShadowInfo, std::allocator<ShadowInfo> > > >,std::less<ptr>,std::allocator<std::pair<ptr const, std::vector<ShadowInfo, std::allocator<ShadowInfo> > > > >" = type { %"struct.std::_Rb_tree<ptr,std::pair<ptr const, std::vector<ShadowInfo, std::allocator<ShadowInfo> > >,std::_Select1st<std::pair<ptr const, std::vector<ShadowInfo, std::allocator<ShadowInfo> > > >,std::less<ptr>,std::allocator<std::pair<ptr const, std::vector<ShadowInfo, std::allocator<ShadowInfo> > > > >::_Rb_tree_impl<std::less<ptr>,false>" }
15   %"struct.std::_Rb_tree<ptr,std::pair<ptr const, std::vector<ShadowInfo, std::allocator<ShadowInfo> > >,std::_Select1st<std::pair<ptr const, std::vector<ShadowInfo, std::allocator<ShadowInfo> > > >,std::less<ptr>,std::allocator<std::pair<ptr const, std::vector<ShadowInfo, std::allocator<ShadowInfo> > > > >::_Rb_tree_impl<std::less<ptr>,false>" = type { %"struct.__gnu_cxx::hash<ptr>", %"struct.std::_Rb_tree_node_base", i32 }
16   %"struct.std::_Rb_tree_iterator<std::pair<ptr const, std::vector<ShadowInfo, std::allocator<ShadowInfo> > > >" = type { ptr }
17   %"struct.std::_Rb_tree_node_base" = type { i32, ptr, ptr, ptr }
18   %"struct.std::pair<std::_Rb_tree_iterator<std::pair<ptr const, std::vector<ShadowInfo, std::allocator<ShadowInfo> > > >,bool>" = type { %"struct.std::_Rb_tree_iterator<std::pair<ptr const, std::vector<ShadowInfo, std::allocator<ShadowInfo> > > >", i8 }
19   %"struct.std::pair<ptr const,ptr>" = type { ptr, ptr }
21 @_ZL20__gthrw_pthread_oncePiPFvvE = weak alias i32 (ptr, ptr), ptr @pthread_once                ; <ptr> [#uses=0]
22 @_ZL27__gthrw_pthread_getspecificj = weak alias ptr (i32), ptr @pthread_getspecific             ; <ptr> [#uses=0]
23 @_ZL27__gthrw_pthread_setspecificjPKv = weak alias i32 (i32, ptr), ptr @pthread_setspecific             ; <ptr> [#uses=0]
24 @_ZL22__gthrw_pthread_createPmPK16__pthread_attr_sPFPvS3_ES3_ = weak alias i32 (ptr, ptr, ptr, ptr), ptr @pthread_create                ; <ptr> [#uses=0]
25 @_ZL22__gthrw_pthread_cancelm = weak alias i32 (i32), ptr @pthread_cancel               ; <ptr> [#uses=0]
26 @_ZL26__gthrw_pthread_mutex_lockP15pthread_mutex_t = weak alias i32 (ptr), ptr @pthread_mutex_lock              ; <ptr> [#uses=0]
27 @_ZL29__gthrw_pthread_mutex_trylockP15pthread_mutex_t = weak alias i32 (ptr), ptr @pthread_mutex_trylock                ; <ptr> [#uses=0]
28 @_ZL28__gthrw_pthread_mutex_unlockP15pthread_mutex_t = weak alias i32 (ptr), ptr @pthread_mutex_unlock          ; <ptr> [#uses=0]
29 @_ZL26__gthrw_pthread_mutex_initP15pthread_mutex_tPK19pthread_mutexattr_t = weak alias i32 (ptr, ptr), ptr @pthread_mutex_init          ; <ptr> [#uses=0]
30 @_ZL26__gthrw_pthread_key_createPjPFvPvE = weak alias i32 (ptr, ptr), ptr @pthread_key_create           ; <ptr> [#uses=0]
31 @_ZL26__gthrw_pthread_key_deletej = weak alias i32 (i32), ptr @pthread_key_delete               ; <ptr> [#uses=0]
32 @_ZL30__gthrw_pthread_mutexattr_initP19pthread_mutexattr_t = weak alias i32 (ptr), ptr @pthread_mutexattr_init          ; <ptr> [#uses=0]
33 @_ZL33__gthrw_pthread_mutexattr_settypeP19pthread_mutexattr_ti = weak alias i32 (ptr, i32), ptr @pthread_mutexattr_settype              ; <ptr> [#uses=0]
34 @_ZL33__gthrw_pthread_mutexattr_destroyP19pthread_mutexattr_t = weak alias i32 (ptr), ptr @pthread_mutexattr_destroy            ; <ptr> [#uses=0]
36 declare fastcc void @_ZNSt10_Select1stISt4pairIKPvS1_EEC1Ev() nounwind readnone
38 define fastcc void @_ZNSt8_Rb_treeIPvSt4pairIKS0_S0_ESt10_Select1stIS3_ESt4lessIS0_ESaIS3_EE16_M_insert_uniqueERKS3_(ptr noalias nocapture sret(%"struct.std::pair<std::_Rb_tree_iterator<std::pair<ptr const, std::vector<ShadowInfo, std::allocator<ShadowInfo> > > >,bool>") %agg.result, ptr %this, ptr %__v) nounwind {
39 entry:
40   br i1 false, label %bb7, label %bb
42 bb:             ; preds = %bb, %entry
43   br i1 false, label %bb5, label %bb
45 bb5:            ; preds = %bb
46   call fastcc void @_ZNSt10_Select1stISt4pairIKPvS1_EEC1Ev() nounwind
47   br i1 false, label %bb11, label %bb7
49 bb7:            ; preds = %bb5, %entry
50   br label %bb11
52 bb11:           ; preds = %bb7, %bb5
53   call fastcc void @_ZNSt10_Select1stISt4pairIKPvS1_EEC1Ev() nounwind
54   unreachable
57 define i32 @pthread_once(ptr, ptr) {
58   ret i32 0
61 define ptr @pthread_getspecific(i32) {
62   ret ptr null
65 define i32 @pthread_setspecific(i32, ptr) {
66   ret i32 0
69 define i32 @pthread_create(ptr, ptr, ptr, ptr) {
70   ret i32 0
73 define i32 @pthread_cancel(i32) {
74   ret i32 0
77 define i32 @pthread_mutex_lock(ptr) {
78   ret i32 0
81 define i32 @pthread_mutex_trylock(ptr) {
82   ret i32 0
85 define i32 @pthread_mutex_unlock(ptr) {
86   ret i32 0
89 define i32 @pthread_mutex_init(ptr, ptr) {
90   ret i32 0
93 define i32 @pthread_key_create(ptr, ptr) {
94   ret i32 0
97 define i32 @pthread_key_delete(i32) {
98   ret i32 0
101 define i32 @pthread_mutexattr_init(ptr) {
102   ret i32 0
105 define i32 @pthread_mutexattr_settype(ptr, i32) {
106   ret i32 0
109 define i32 @pthread_mutexattr_destroy(ptr) {
110   ret i32 0