]> granicus.if.org Git - llvm/commit
[XRay] support conditional return on PPC.
authorTim Shen <timshen91@gmail.com>
Fri, 22 Sep 2017 18:30:02 +0000 (18:30 +0000)
committerTim Shen <timshen91@gmail.com>
Fri, 22 Sep 2017 18:30:02 +0000 (18:30 +0000)
commit1f90df4d8876bc1420d0a37c6e3e2705ee4f4753
tree4575498f2c04c59fa429c5c82b21aa71354af17d
parentbbd7d72ffd76b502d80f8c12665d007537e49ca3
[XRay] support conditional return on PPC.

Summary: Conditional returns were not taken into consideration at all. Implement them by turning them into jumps and normal returns. This means there is a slightly higher performance penalty for conditional returns, but this is the best we can do, and it still disturbs little of the rest.

Reviewers: dberris, echristo

Subscribers: sanjoy, nemanjai, hiraditya, kbarton, llvm-commits

Differential Revision: https://reviews.llvm.org/D38102

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@314005 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/Target/Target.td
lib/CodeGen/XRayInstrumentation.cpp
lib/Target/PowerPC/PPC.h
lib/Target/PowerPC/PPCAsmPrinter.cpp
lib/Target/PowerPC/PPCMCInstLower.cpp
test/CodeGen/PowerPC/xray-conditional-return.ll [new file with mode: 0644]
test/CodeGen/PowerPC/xray-ret-is-terminator.ll [new file with mode: 0644]