Displaying 20 results from an estimated 3000 matches similar to: "XRay: Demo on x86_64/Linux almost done; some questions."
2016 Jun 22
2
x86: How to Force 2-byte `jmp` instruction in lowering
Thanks Nirav,
I can confirm that this works when I do the compile with llc, but then when
linking to an executable with clang (patched with
http://reviews.llvm.org/D20352 and compiler-rt patched with
http://reviews.llvm.org/D21612) on Linux, I'm getting something different.
Here's a sample of the transcript, and what I'm seeing:
--->8 clang invocation 8<---
[16-06-23 3:33:42]
2016 Jun 22
0
x86: How to Force 2-byte `jmp` instruction in lowering
Peter suggested just writing out '.byte 0xeb, 0x09' and that allowed the
jump instruction to bypass the relaxation, so that fixes my immediate
problem. The question still stands though whether it should be possible to
do through the instruction builder interface.
Cheers
On Wed, Jun 22, 2016 at 10:40 AM Dean Michael Berris <dberris at google.com>
wrote:
> Thanks Nirav,
>
>
2018 Jun 08
2
XRay FDR mode doesn’t log main thread calls
Hello,
I am initializing FDR mode and finalizing/flushing the buffers manually.
XRay does not log calls from the main thread unless there is a function
call after __xray_log_finalize(). This behavior is abnormal since one would
expect the trace file to contain all function calls made up to the point
when __xray_log_finalize() is called. To demonstrate this behavior, I have
taken the test case
2019 Feb 02
2
[llvm-xray] llvm-xray cannot log every functions
Hi there,
I have a problem using the function call tracing tools that is designed in llvm tools set. My aim is to record every function call that a program makes when it run. However, for whatever reason, a simple matrix multiply c program that I wrote cannot record all the function calls that happened when the program run.
Here is the program: matrix.c
#include <stdio.h>
void
2018 Mar 11
1
Using Xray compilation with C programs
Hi all,
I was interested in trying out the Xray profiling component in LLVM and was
trying to compile a C program with Clang with Xray flags. Unfortunately, I
keep getting a linker error everytime I try to compile the C program with
Clang. However, the error goes away when I try to compile the same C
program with Clang++ with -xc++ flag.
Searching around for this issue, looks like somebody has
2017 Dec 05
2
XRay Trace of Clang, Loadable through Chrome Trace Viewer
Hi cfe-dev@ and llvm-dev@,
I've attached a Chrome trace-viewer readable trace of a clang built with XRay instrumentation (additional build/link flags="-fxray-instrument -fxray-instruction-threshold=75") with the latest "top-of-trunk" version of clang with the recent updates to the XRay runtime supporting record filtering.
To load the attached file, go to
2016 Aug 22
2
XRay: Demo on x86_64/Linux almost done; some questions.
Hi Dean,
Do you have any estimates on when https://reviews.llvm.org/D21982 will
reach mainline? (As I understood it's not yet there, looking at
http://llvm.org/svn/llvm-project/compiler-rt/trunk ). I would like to test
ARM port of XRay, so ready logging would be handful.
Thanks,
Serge
On 8 August 2016 at 17:41, Dean Michael Berris <dean.berris at gmail.com>
wrote:
>
> > On 8
2016 Jul 30
1
XRay: Demo on x86_64/Linux almost done; some questions.
> On 30 Jul 2016, at 05:07, Serge Rogatch via llvm-dev <llvm-dev at lists.llvm.org> wrote:
>
> Thanks for pointing this out, Tim. Then maybe this approach is not the best choice for x86, though ideally measuring is needed, it is just that on ARM the current x86 approach is not applicable because ARM doesn't have a single return instruction (such as RETQ on x86_64), furthermore,
2016 Aug 04
2
XRay: Demo on x86_64/Linux almost done; some questions.
> On 4 Aug 2016, at 06:27, Serge Rogatch <serge.rogatch at gmail.com> wrote:
>
> Hi Dean,
>
> I have a question about the following piece of code in compiler-rt/trunk/lib/xray/xray_trampoline_x86.S :
> movq _ZN6__xray19XRayPatchedFunctionE(%rip), %rax
> testq %rax, %rax
> je .Ltmp0
>
> // assume that %r10d has the function id.
> movl %r10d,
2017 Dec 05
2
[cfe-dev] XRay Trace of Clang, Loadable through Chrome Trace Viewer
Sent from my iPhone
> On 6 Dec 2017, at 4:17 am, Brian Cain <brian.cain at gmail.com> wrote:
>
>
>
>> On Tue, Dec 5, 2017 at 9:49 AM, Dean Michael Berris via cfe-dev <cfe-dev at lists.llvm.org> wrote:
>> Hi cfe-dev@ and llvm-dev@,
>>
>> I've attached a Chrome trace-viewer readable trace of a clang built with XRay instrumentation (additional
2016 Jul 29
1
XRay: Demo on x86_64/Linux almost done; some questions.
On 29 July 2016 at 10:43, Dean Michael Berris <dean.berris at gmail.com> wrote:
>
> > On 29 Jul 2016, at 09:14, Serge Rogatch via llvm-dev <
> llvm-dev at lists.llvm.org> wrote:
> >
> > Hello,
> >
> > Can I ask you why you chose to patch both function entrances and exits,
> rather than just patching the entrances and (in the patches) pushing on
2018 Aug 30
2
Building/Running LLVM Tests with Sanitizers
Hi llvm-dev,
I'm trying to reproduce an msan failure in one of the bots, but I
can't seem to get the right incantation of building LLVM with msan.
Here's what I've been doing:
1) Build the toolchain in one build directory, including `compiler-rt`.
2) Build the toolchain again with the just built toolchain in step 1,
but this time with `-DLLVM_USE_SANITIZER=MemoryWithOrigins`.
I
2018 Aug 30
2
Building/Running LLVM Tests with Sanitizers
Another option is just to run corresponding script from
*https://llvm.org/svn/llvm-project/zorg/trunk/zorg/buildbot/builders/sanitizers/
<https://llvm.org/svn/llvm-project/zorg/trunk/zorg/buildbot/builders/sanitizers/>*
in
empty directory.
On Thu, Aug 30, 2018 at 5:00 AM Peter Smith via llvm-dev <
llvm-dev at lists.llvm.org> wrote:
> Hello Dean,
>
> I've not done this
2016 Jul 20
2
[XRay] Build instrumented Clang, some analysis results
Hi everyone,
TL;DR: With current pending patches applied in compiler-rt and llvm, and trunk clang, you can build your application with XRay tracing enabled on Linux with tracing enabled before main starts, and logging stops when the main thread exits.
Just a quick update, I have some patches under review that when applied cleanly to LLVM and compiler-rt allows for building applications with XRay
2018 Aug 31
3
Building/Running LLVM Tests with Sanitizers
Aside: would it be useful to execute a build of the libc++/libc++abi with
msan normally during release, and change the driver to look for these
msan-built C++ libs when "-fsanitize=memory"? That would drastically cut
down on the complexity of using msan.
On Fri, Aug 31, 2018 at 5:43 AM Dean Michael Berris via llvm-dev <
llvm-dev at lists.llvm.org> wrote:
> Thanks Vitaly and
2016 Aug 05
2
XRay: Demo on x86_64/Linux almost done; some questions.
Hi Dean,
I have a question for 32-bit platforms. I see in the code that you used the
following in compiler-rt/trunk/lib/xray/xray_interface_internal.h :
struct XRaySledEntry {
uint64_t Address;
uint64_t Function;
unsigned char Kind;
unsigned char AlwaysInstrument;
unsigned char Padding[14]; // Need 32 bytes
};
And the peer code in llvm/trunk/lib/Target/X86/X86MCInstLower.cpp :
void
2016 Jul 29
0
XRay: Demo on x86_64/Linux almost done; some questions.
> On 29 Jul 2016, at 09:14, Serge Rogatch via llvm-dev <llvm-dev at lists.llvm.org> wrote:
>
> Hello,
>
> Can I ask you why you chose to patch both function entrances and exits, rather than just patching the entrances and (in the patches) pushing on the stack the address of __xray_FunctionExit , so that the user function returns normally (with RETQ or POP RIP or whatever
2016 Jul 29
2
XRay: Demo on x86_64/Linux almost done; some questions.
Thanks for pointing this out, Tim. Then maybe this approach is not the best
choice for x86, though ideally measuring is needed, it is just that on ARM
the current x86 approach is not applicable because ARM doesn't have a
single return instruction (such as RETQ on x86_64), furthermore, the return
instructions on ARM can be conditional.
I have another question: what happens if the instrumented
2016 Jun 22
0
x86: How to Force 2-byte `jmp` instruction in lowering
Hmm. Odd. I just rebuilt from scratch and it seems to work with
the test/CodeGen/X86/xray-attribute-instrumentation.ll test case outputing
straight to obj:
llc -filetype=obj -o ~/a.o -mtriple=x86_64-apple-macosx <
test/CodeGen/X86/xray-attribute-instrumentation.ll
What test case are you using?
In any case, the issue appears to be that llvm doesn't realize that the
target address is
2016 Apr 29
2
RFC: XRay -- A Function Call Tracing System
TL;DR: At Google we use a call tracing system called XRay which inserts
patchable instrumentation points into function entries and exits. If the
community is interested, we'd like to contribute this system to the LLVM
project. Many more details are contained in the whitepaper at:
https://storage.googleapis.com/xray-downloads/whitepaper/XRayAFunctionCallTracingSystem.pdf
Who's