[XRay] Change function record reader to be endian-aware
authorDean Michael Berris <dberris@google.com>
Fri, 31 Aug 2018 18:36:58 +0000 (18:36 +0000)
committerDean Michael Berris <dberris@google.com>
Fri, 31 Aug 2018 18:36:58 +0000 (18:36 +0000)
commit3fc4cbfe1060c9e12183ac67cd426760c4436291
treef12a742e4511e689926150b89cbd4c7de298cf8a
parent332447f4b45f48d1ce5c4ecc25504cdfadfd2ce2
[XRay] Change function record reader to be endian-aware

This change allows us to let the compiler do the right thing for when
handling big-endian and little-endian records for FDR mode function
records.

Previously, we assumed that the encoding was little-endian that reading
the first byte to look for the function id and function record types was
ordered in a little-endian manner. This change allows us to better
handle function records where the first four bytes may actually be
encoded in big-endian thus giving us the wrong bytes where we're seeking
the function information from.

This is a follow-up to D51210 and D51289.

llvm-svn: 341236
llvm/lib/XRay/Trace.cpp