[PATCH] D23986: [XRay] Detect and emit sleds for sibling/tail calls

Dean Michael Berris via llvm-commits llvm-commits at lists.llvm.org
Thu Oct 13 02:35:55 PDT 2016


dberris added inline comments.


================
Comment at: llvm/trunk/test/CodeGen/X86/xray-tail-call-sled.ll:12
+; CHECK-LABEL: Lxray_sled_1:
+; CHECK-NEXT:  retq
+; CHECK-NEXT:  nopw %cs:512(%rax,%rax)
----------------
rSerge wrote:
> Isn't it missing setting EAX to 0? The function in the disassembly seems to just `return;`, rather than `return 0;` as, I guess, `ret i32 0` requires.
Nope, this is in a test -- the set to eax 0 happens before the return. We're only looking for the return instruction sled here.


================
Comment at: llvm/trunk/test/CodeGen/X86/xray-tail-call-sled.ll:18-20
+; CHECK-LABEL: Lxray_synthetic_0:
+; CHECK:       .quad .Lxray_sled_0
+; CHECK:       .quad .Lxray_sled_1
----------------
rSerge wrote:
> Perhaps I missed some patches. Where are these generated? And also `.quad .Lxray_synthetic_0` 2 lines above.
This was introduced in D23398. The discussion of why is there.


Repository:
  rL LLVM

https://reviews.llvm.org/D23986





More information about the llvm-commits mailing list