comparison test/CodeGen/X86/sibcall.ll @ 95:afa8332a0e37 LLVM3.8

LLVM 3.8
author Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
date Tue, 13 Oct 2015 17:48:58 +0900
parents 60c9769439b8
children c2174574ed3a
comparison
equal deleted inserted replaced
84:f3e34b893a5f 95:afa8332a0e37
285 285
286 ; X32ABI-LABEL: t14: 286 ; X32ABI-LABEL: t14:
287 ; X32ABI: movl 20(%edi), %edi 287 ; X32ABI: movl 20(%edi), %edi
288 ; X32ABI-NEXT: movl 12(%edi), %eax 288 ; X32ABI-NEXT: movl 12(%edi), %eax
289 ; X32ABI-NEXT: jmpq *%rax 289 ; X32ABI-NEXT: jmpq *%rax
290 %0 = getelementptr inbounds %struct.__block_literal_2* %.block_descriptor, i64 0, i32 5 ; <void ()**> [#uses=1] 290 %0 = getelementptr inbounds %struct.__block_literal_2, %struct.__block_literal_2* %.block_descriptor, i64 0, i32 5 ; <void ()**> [#uses=1]
291 %1 = load void ()** %0, align 8 ; <void ()*> [#uses=2] 291 %1 = load void ()*, void ()** %0, align 8 ; <void ()*> [#uses=2]
292 %2 = bitcast void ()* %1 to %struct.__block_literal_1* ; <%struct.__block_literal_1*> [#uses=1] 292 %2 = bitcast void ()* %1 to %struct.__block_literal_1* ; <%struct.__block_literal_1*> [#uses=1]
293 %3 = getelementptr inbounds %struct.__block_literal_1* %2, i64 0, i32 3 ; <i8**> [#uses=1] 293 %3 = getelementptr inbounds %struct.__block_literal_1, %struct.__block_literal_1* %2, i64 0, i32 3 ; <i8**> [#uses=1]
294 %4 = load i8** %3, align 8 ; <i8*> [#uses=1] 294 %4 = load i8*, i8** %3, align 8 ; <i8*> [#uses=1]
295 %5 = bitcast i8* %4 to void (i8*)* ; <void (i8*)*> [#uses=1] 295 %5 = bitcast i8* %4 to void (i8*)* ; <void (i8*)*> [#uses=1]
296 %6 = bitcast void ()* %1 to i8* ; <i8*> [#uses=1] 296 %6 = bitcast void ()* %1 to i8* ; <i8*> [#uses=1]
297 tail call void %5(i8* %6) nounwind 297 tail call void %5(i8* %6) nounwind
298 ret void 298 ret void
299 } 299 }
347 ; 64: jmp {{_?}}bar5 347 ; 64: jmp {{_?}}bar5
348 348
349 ; X32ABI-LABEL: t17: 349 ; X32ABI-LABEL: t17:
350 ; X32ABI: xorl %eax, %eax 350 ; X32ABI: xorl %eax, %eax
351 ; X32ABI: jmp {{_?}}bar5 351 ; X32ABI: jmp {{_?}}bar5
352 tail call void (...)* @bar5() nounwind 352 tail call void (...) @bar5() nounwind
353 ret void 353 ret void
354 } 354 }
355 355
356 declare void @bar5(...) 356 declare void @bar5(...)
357 357
367 ; 64: jmp {{_?}}bar6 367 ; 64: jmp {{_?}}bar6
368 368
369 ; X32ABI-LABEL: t18: 369 ; X32ABI-LABEL: t18:
370 ; X32ABI: xorl %eax, %eax 370 ; X32ABI: xorl %eax, %eax
371 ; X32ABI: jmp {{_?}}bar6 371 ; X32ABI: jmp {{_?}}bar6
372 %0 = tail call double (...)* @bar6() nounwind 372 %0 = tail call double (...) @bar6() nounwind
373 ret void 373 ret void
374 } 374 }
375 375
376 declare double @bar6(...) 376 declare double @bar6(...)
377 377