Displaying 20 results from an estimated 1100 matches similar to: "Removed a call to EmitXRayTable() from ARMAsmPrinter"
2017 Jan 09
2
Removed a call to EmitXRayTable() from ARMAsmPrinter
Hi Renato,
As far as I understand, such issues should be caught by the tests in compiler-rt/test/xray/TestCases/Linux.
I found the following lines in compiler-rt/test/xray/lit.cfg that seem to disable the tests for non-64-bit targets:
if config.host_os not in ['Linux'] or config.host_arch.find('64') == -1:
config.unsupported = True
@Serge: You will need to change this
2017 Jan 10
2
Removed a call to EmitXRayTable() from ARMAsmPrinter
Why there are no tests that would break in this case?
On Mon, Jan 9, 2017 at 8:32 PM, Dean Michael Berris via llvm-dev
<llvm-dev at lists.llvm.org> wrote:
> Oops -- sorry about that, this is definitely unintended. Adding in Martin who made the change.
>
> I'm happy to review changes to fix this, or if you don't get to it first I can drive by that part of the code and try
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 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 Jan 10
2
Removed a call to EmitXRayTable() from ARMAsmPrinter
> As Oleg points out, apparently the way we've configured the XRay tests in compiler-rt/... excludes running tests on non-64-bit platforms. arm7 is definitely not 64-bit and therefore means we've not been running those tests. :(
I believe that for this particular case one does not need to have
execution tests - you'd simply need to check for expected output and
that's it.
--
2016 Aug 08
2
XRay: Demo on x86_64/Linux almost done; some questions.
I think that 32-bit systems (especially ARM) may be short on memory so
doubling the size of the table containing (potentially) all the functions
may give a tangible overhead. I would even align the entries to 4 bytes (so
12 bytes per entry) on 32-bit platforms and to 8 bytes (so 24-bytes per
entry) on 64-bit platforms, to improve CPU cache hits. What do you think?
Cheers,
Serge
On 8 August 2016
2017 Jan 26
2
Critical XRay fixes for Arm32
I see. Thanks for clarifying.
I'm Ok with merging these if Dean agrees, as I believe he's the code owner.
Thanks,
Hans
On Thu, Jan 26, 2017 at 11:47 AM, Serge Rogatch <serge.rogatch at gmail.com> wrote:
> There were no LLVM tests for presence of XRay instrumentation map in the
> emitted assembly. You can see that https://reviews.llvm.org/D28624 adds this
> check to the
2017 Jan 26
2
Critical XRay fixes for Arm32
I'm wondering why the lit tests didn't catch this as part of testing rc1 on ARM.
On Thu, Jan 26, 2017 at 11:25 AM, Serge Rogatch <serge.rogatch at gmail.com> wrote:
> XRay is tested automatically on build-bots with tests in LLVM and
> compiler-rt . Or are you asking for manual testing instructions?
> Of these 2 patches, the compiler-rt patch depends on LLVM patch because
2017 Jan 26
2
Critical XRay fixes for Arm32
How is XRay tested? IIRC, Renato didn't see any test failures on ARM?
Merging sounds reasonbaly, I'd just like to understand what's the risk
for the branch.
On Thu, Jan 26, 2017 at 10:29 AM, Serge Rogatch <serge.rogatch at gmail.com> wrote:
> Hans, these changes reached trunk in https://reviews.llvm.org/rL292516 and
> https://reviews.llvm.org/rL292517 . Could you look?
2017 Jan 26
2
Critical XRay fixes for Arm32
Sorry, I initially included LLVM-Commits rather than LLVM-Dev. Fixed.
On 26 January 2017 at 03:26, Serge Rogatch <serge.rogatch at gmail.com> wrote:
> Hi Dean, Renato,
>
> AFAIK, unfortunately, these critical Arm32 XRay fixes are not yet in 4.0:
> https://reviews.llvm.org/D28624 , https://reviews.llvm.org/D28623 . The
> first repairs XRay instrumentation map emission.
2017 Jan 26
2
Critical XRay fixes for Arm32
On 26 January 2017 at 20:04, Serge Rogatch <serge.rogatch at gmail.com> wrote:
> Thank you for considering.
> Dean, Renato - what do you think?
Hi, sorry it took so long. Yes, those two patches are fundamental to
make XRay work on ARM. Backporting makes sense.
We already added XRay on both ARM and AArch64 release notes, so they
have to work. :)
--renato
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 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 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
2016 Jul 29
0
XRay: Demo on x86_64/Linux almost done; some questions.
On 28 July 2016 at 16:14, Serge Rogatch via llvm-dev
<llvm-dev at lists.llvm.org> wrote:
> 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 else instruction)
2017 Nov 21
2
question about xray tls data initialization
with some dirty hack , I've made xray runtime 'built' on windows ,
but unfortunately I haven't enough knowledge about linker and the
runtime, and finally built executable didn't run. I'd like to share
my changes here , hopes somebody help me to make it run on windows.
in AsmPrinter, copy/paster xray for coff target
InstMap =
2017 Aug 15
3
[XRay] Alternatives to relocations in .text section
Hi llvm-dev,
I'm currently looking for alternatives to the synthetic references that XRay uses to keep some side-tables live, to avoid linker garbage collection from deleting those sections. Before going any further, let me give a backgrounder on what XRay does today.
Background
==========
XRay has two side tables we use at runtime to identify the location of the sleds for the functions
2017 Nov 16
2
question about xray tls data initialization
I'm learning the xray library and try if it can be built on windows, in
xray_fdr_logging_impl.h
line 152 , comment written as
// Using pthread_once(...) to initialize the thread-local data structures
but at line 175, 183, code written as
thread_local pthread_key_t key;
// Ensure that we only actually ever do the pthread initialization once.
thread_local bool UNUSED Unused = [] {
2016 Jun 23
2
Building an array in a section from multiple object files
Hi,
As part of working on XRay, I'm trying to accomplish the following: create
a section that contains an array of entries pertaining to the
instrumentation map (nop sleds) in an object file, and have those merged
into a single section in the final binary where the contents are
concatenated. The trick though is I'd like to be able to reference the
whole array with a single symbol (or two,