void added a comment.
; ModuleID = 'arch_static_branch.bc' source_filename = "arch/x86/entry/vsyscall/vsyscall_64.c" target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" target triple = "x86_64-grtev4-linux-gnu" %struct.atomic_t = type { i32 } %struct.jump_entry = type { i64, i64, i64 } %struct.tracepoint_func = type { i8*, i8*, i32 } %struct.static_key = type { %struct.atomic_t, %union.anon } %union.anon = type { i64 } @__tracepoint_emulate_vsyscall = external hidden global { i8*, { %struct.atomic_t, { %struct.jump_entry* } }, i32 ()*, void ()*, %struct.tracepoint_func* }, section "__tracepoints", align 8 ; Function Attrs: alwaysinline noredzone nounwind sspstrong define zeroext i1 @arch_static_branch(%struct.static_key* nocapture readnone %key, i1 zeroext %branch) { entry: callbr void asm sideeffect "1:.byte 0x0f,0x1f,0x44,0x00,0\0A\09.pushsection __jump_table, \22aw\22 \0A\09 .balign 8 \0A\09 .quad 1b, ${2:l}, ${0:c} + ${1:c} \0A\09.popsection \0A\09", "i,i,X,~{dirflag},~{fpsr},~{flags}"(%struct.static_key* bitcast (i32* getelementptr inbounds ({ i8*, { %struct.atomic_t, { %struct.jump_entry* } }, i32 ()*, void ()*, %struct.tracepoint_func* }, { i8*, { %struct.atomic_t, { %struct.j ump_entry* } }, i32 ()*, void ()*, %struct.tracepoint_func* }* @__tracepoint_emulate_vsyscall, i64 0, i32 1, i32 0, i32 0) to %struct.static_key*), i1 false, i8* blockaddress(@arch_static_branch, %return)) to label %asm.fallthrough [label %return] asm.fallthrough: ; preds = %entry call void asm sideeffect "", "~{dirflag},~{fpsr},~{flags}"() br label %return return: ; preds = %asm.fallthrough, %entry %retval.0 = phi i1 [ false, %asm.fallthrough ], [ true, %entry ] ret i1 %retval.0 } CHANGES SINCE LAST ACTION https://reviews.llvm.org/D56571/new/ https://reviews.llvm.org/D56571 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits