brintos

brintos / llvm-project-archived public Read only

0
0
Text · 893 B · d04ae31 Raw
33 lines · plain
1; RUN: llc < %s -O2 --code-model=kernel | FileCheck %s2; The intent of the test is that we do not generate conditional3; tail calls to the thunk.4 5target triple = "x86_64-unknown-linux-gnu"6 7define dso_local void @foo(ptr %something) #0 {8; CHECK-LABEL: foo:9; CHECK:       # %bb.0: # %entry10; CHECK-NEXT:    movq (%rdi), %r1111; CHECK-NEXT:    testq %r11, %r1112; Make sure that a JNE was not generated instead of a JE + JMP sequence13; CHECK-NOT:     jne14; CHECK-NEXT:    je .LBB0_115; CHECK-NEXT:    bb.2: # %if.then16; CHECK-NEXT:    jmp __x86_indirect_thunk_r1117; CHECK-NEXT:    LBB0_1:18; CHECK-NEXT:    retq19entry:20  %0 = load ptr, ptr %something, align 821  %tobool.not = icmp eq ptr %0, null22  br i1 %tobool.not, label %if.end, label %if.then23 24if.then:25  tail call void %0()26  br label %if.end27 28if.end:29  ret void30}31 32attributes #0 = { optsize "target-features"="+retpoline-external-thunk" }33