brintos

brintos / llvm-project-archived public Read only

0
0
Text · 5.1 KiB · a7cb535 Raw
192 lines · plain
1; RUN: opt < %s -passes=gvn -enable-load-pre -disable-output2 3	%struct.VEC_rtx_base = type { i32, i32, [1 x ptr] }4	%struct.VEC_rtx_gc = type { %struct.VEC_rtx_base }5	%struct.block_symbol = type { [3 x %struct.cgraph_rtl_info], ptr, i64 }6	%struct.cgraph_rtl_info = type { i32 }7	%struct.object_block = type { ptr, i32, i64, ptr, ptr }8	%struct.rtvec_def = type { i32, [1 x ptr] }9	%struct.rtx_def = type { i16, i8, i8, %struct.u }10	%struct.section = type { %struct.unnamed_section }11	%struct.u = type { %struct.block_symbol }12	%struct.unnamed_section = type { %struct.cgraph_rtl_info, ptr, ptr, ptr }13 14declare ptr @gen_rtvec(i32, ...)15 16declare ptr @plus_constant(ptr, i64)17 18declare ptr @gen_rtx_fmt_Ei(i32, i32, ptr, i32)19 20declare i32 @local_symbolic_operand(ptr, i32)21 22define ptr @legitimize_pic_address(ptr %orig, ptr %reg) nounwind {23entry:24	%addr = alloca ptr		; <ptr> [#uses=5]25	%iftmp.1532 = alloca ptr		; <ptr> [#uses=3]26	store ptr %orig, ptr null27	%0 = load ptr, ptr null, align 4		; <ptr> [#uses=0]28	br i1 false, label %bb96, label %bb5929 30bb59:		; preds = %entry31	%1 = load ptr, ptr %addr, align 4		; <ptr> [#uses=1]32	%2 = call i32 @local_symbolic_operand(ptr %1, i32 0) nounwind		; <i32> [#uses=0]33	br i1 false, label %bb96, label %bb6334 35bb63:		; preds = %bb5936	br i1 false, label %bb64, label %bb7437 38bb64:		; preds = %bb6339	br i1 false, label %bb72, label %bb6540 41bb65:		; preds = %bb6442	br label %bb7243 44bb72:		; preds = %bb65, %bb6445	br label %bb7446 47bb74:		; preds = %bb72, %bb6348	br i1 false, label %bb75, label %bb7649 50bb75:		; preds = %bb7451	br label %bb7652 53bb76:		; preds = %bb75, %bb7454	br i1 false, label %bb77, label %bb8455 56bb77:		; preds = %bb7657	%3 = getelementptr [1 x %struct.cgraph_rtl_info], ptr null, i32 0, i32 0		; <ptr> [#uses=0]58	unreachable59 60bb84:		; preds = %bb7661	br i1 false, label %bb85, label %bb8662 63bb85:		; preds = %bb8464	br label %bb8765 66bb86:		; preds = %bb8467	br label %bb8768 69bb87:		; preds = %bb86, %bb8570	%4 = call ptr @gen_rtx_fmt_Ei(i32 16, i32 0, ptr null, i32 1) nounwind		; <ptr> [#uses=0]71	br i1 false, label %bb89, label %bb9072 73bb89:		; preds = %bb8774	br label %bb9175 76bb90:		; preds = %bb8777	br label %bb9178 79bb91:		; preds = %bb90, %bb8980	br i1 false, label %bb92, label %bb9381 82bb92:		; preds = %bb9183	br label %bb9484 85bb93:		; preds = %bb9186	br label %bb9487 88bb94:		; preds = %bb93, %bb9289	unreachable90 91bb96:		; preds = %bb59, %entry92	%5 = load ptr, ptr %addr, align 4		; <ptr> [#uses=1]93	%6 = getelementptr %struct.rtx_def, ptr %5, i32 0, i32 0		; <ptr> [#uses=1]94	%7 = load i16, ptr %6, align 2		; <i16> [#uses=0]95	br i1 false, label %bb147, label %bb9796 97bb97:		; preds = %bb9698	%8 = load ptr, ptr %addr, align 4		; <ptr> [#uses=0]99	br i1 false, label %bb147, label %bb99100 101bb99:		; preds = %bb97102	unreachable103 104bb147:		; preds = %bb97, %bb96105	%9 = load ptr, ptr %addr, align 4		; <ptr> [#uses=1]106	%10 = getelementptr %struct.rtx_def, ptr %9, i32 0, i32 0		; <ptr> [#uses=1]107	%11 = load i16, ptr %10, align 2		; <i16> [#uses=0]108	br i1 false, label %bb164, label %bb148109 110bb148:		; preds = %bb147111	br i1 false, label %bb164, label %bb149112 113bb149:		; preds = %bb148114	br i1 false, label %bb150, label %bb152115 116bb150:		; preds = %bb149117	unreachable118 119bb152:		; preds = %bb149120	br label %bb164121 122bb164:		; preds = %bb152, %bb148, %bb147123	%12 = getelementptr [1 x %struct.cgraph_rtl_info], ptr null, i32 0, i32 1		; <ptr> [#uses=0]124	br i1 false, label %bb165, label %bb166125 126bb165:		; preds = %bb164127	br label %bb167128 129bb166:		; preds = %bb164130	br label %bb167131 132bb167:		; preds = %bb166, %bb165133	br i1 false, label %bb211, label %bb168134 135bb168:		; preds = %bb167136	br i1 false, label %bb211, label %bb170137 138bb170:		; preds = %bb168139	br i1 false, label %bb172, label %bb181140 141bb172:		; preds = %bb170142	br i1 false, label %bb179, label %bb174143 144bb174:		; preds = %bb172145	br i1 false, label %bb177, label %bb175146 147bb175:		; preds = %bb174148	br i1 false, label %bb177, label %bb176149 150bb176:		; preds = %bb175151	br label %bb178152 153bb177:		; preds = %bb175, %bb174154	br label %bb178155 156bb178:		; preds = %bb177, %bb176157	br label %bb180158 159bb179:		; preds = %bb172160	br label %bb180161 162bb180:		; preds = %bb179, %bb178163	br label %bb181164 165bb181:		; preds = %bb180, %bb170166	%13 = call ptr (i32, ...) @gen_rtvec(i32 1, ptr null) nounwind		; <ptr> [#uses=0]167	unreachable168 169bb211:		; preds = %bb168, %bb167170	%14 = load ptr, ptr %addr, align 4		; <ptr> [#uses=0]171	%15 = getelementptr [1 x %struct.cgraph_rtl_info], ptr null, i32 0, i32 0		; <ptr> [#uses=0]172	store ptr null, ptr null, align 4173	br i1 false, label %bb212, label %bb213174 175bb212:		; preds = %bb211176	store ptr null, ptr %iftmp.1532, align 4177	br label %bb214178 179bb213:		; preds = %bb211180	store ptr null, ptr %iftmp.1532, align 4181	br label %bb214182 183bb214:		; preds = %bb213, %bb212184	%16 = getelementptr [1 x %struct.cgraph_rtl_info], ptr null, i32 0, i32 1		; <ptr> [#uses=0]185	%17 = load ptr, ptr %iftmp.1532, align 4		; <ptr> [#uses=0]186	%18 = getelementptr %struct.rtx_def, ptr null, i32 0, i32 3		; <ptr> [#uses=1]187	%19 = getelementptr %struct.u, ptr %18, i32 0, i32 0		; <ptr> [#uses=1]188	%20 = getelementptr [1 x i64], ptr %19, i32 0, i32 0		; <ptr> [#uses=0]189	%21 = call ptr @plus_constant(ptr null, i64 0) nounwind		; <ptr> [#uses=0]190	unreachable191}192