summaryrefslogtreecommitdiffstats
path: root/polly/lib/Transform/ScheduleOptimizer.cpp
diff options
context:
space:
mode:
authorDean Michael Berris <dberris@google.com>2017-04-06 07:14:43 +0000
committerDean Michael Berris <dberris@google.com>2017-04-06 07:14:43 +0000
commit895171e6eea4ffc9d2b25ca4151dfef268bc8148 (patch)
tree21c0641c1736e9f4835c4320dffa2abb59f73c0f /polly/lib/Transform/ScheduleOptimizer.cpp
parentfbe67da29b08e7e52e0074989f15b2fa4c3cad98 (diff)
downloadbcm5719-llvm-895171e6eea4ffc9d2b25ca4151dfef268bc8148.tar.gz
bcm5719-llvm-895171e6eea4ffc9d2b25ca4151dfef268bc8148.zip
[XRay] [compiler-rt] Unwriting FDR mode buffers when functions are short.
Summary: "short" is defined as an xray flag, and buffer rewinding happens for both exits and tail exits. I've made the choice to seek backwards finding pairs of FunctionEntry, TailExit record pairs and erasing them if the FunctionEntry occurred before exit from the currently exiting function. This is a compromise so that we don't skip logging tail calls if the function that they call into takes longer our duration. This works by counting the consecutive function and function entry, tail exit pairs that proceed the current point in the buffer. The buffer is rewound to check whether these entry points happened recently enough to be erased. It is still possible we will omit them if they call into a child function that is not instrumented which calls a fast grandchild that is instrumented before doing other processing. Reviewers: pelikan, dberris Reviewed By: dberris Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D31345 llvm-svn: 299629
Diffstat (limited to 'polly/lib/Transform/ScheduleOptimizer.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud