Go to file
Ulrich Weigand e508cd2a04 [gcov] Fix gcov profiling on big-endian machines
Two fixes required to handle big-endian systems:

- 64-bit counter values are stored in a mixed-endian format in the
gcov files: a 32-bit low-part followed by a 32-bit high part. Note that
this is already implemented correctly on the LLVM side, see
GCOVBuffer::readInt64.

- The tag values (e.g. arcs tag, object summary tag, ...) are aways
written as the same sequence of bytes independent of byte order. But
when *reading* them back in, the code reads them as 32-bit values in
host byte order. For the comparisons to work correctly, this should
instead always read them as little-endian values.

Fixes PR 38121.

Reviewed By: marco-c

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

llvm-svn: 336693
2018-07-10 16:08:27 +00:00
clang Support -fdebug-prefix-map for assembler source (pass to cc1as). This 2018-07-10 15:15:24 +00:00
clang-tools-extra
compiler-rt [gcov] Fix gcov profiling on big-endian machines 2018-07-10 16:08:27 +00:00
debuginfo-tests
libclc
libcxx Remove BUILD file from google-benchmark 2018-07-10 13:25:26 +00:00
libcxxabi
libunwind
lld Make a struct type declaration private. NFC. 2018-07-10 15:57:25 +00:00
lldb
llgo
llvm [gcov] Fix ABI when calling llvm_gcov_... routines from instrumentation code 2018-07-10 16:05:47 +00:00
openmp
parallel-libs
polly
README.md

README.md

Low Level Virtual Machine (LLVM)

This directory and its subdirectories contain source code for LLVM, a toolkit for the construction of highly optimized compilers, optimizers, and runtime environments.