Go to file
Rafael Espindola 4b6833332b Rewrite our relocation processing.
This splits relocation processing in two steps.

First, analyze what needs to be done at the relocation spot. This can
be a constant (non preemptible symbol, relative got reference, etc) or
require a dynamic relocation. At this step we also consider creating
copy relocations.

Once that is done we decide if we need a got or a plt entry.

The code is simpler IMHO. For example:

- There is a single call to isPicRel since the logic is not split
  among adjustExpr and the caller.
- R_MIPS_GOTREL is simple to handle now.
- The tracking of what is preemptible or not is much simpler now.

This also fixes a regression with symbols being both in a got and copy
relocated. They had regressed in r268668 and r268149.

The other test changes are because of error messages changes or the
order of two relocations in the output.

llvm-svn: 322047
2018-01-09 00:13:54 +00:00
clang Document attribute target multiversioning. 2018-01-08 23:36:29 +00:00
clang-tools-extra [clang-tidy] Fix DanglingHandleCheck for the correct conversion operation between basic_string and basic_string_view. 2018-01-08 15:59:08 +00:00
compiler-rt o -fsanitize=function warning when calling noexcept function through non-noexcept pointer in C++17 2018-01-05 07:57:24 +00:00
debuginfo-tests [debuginfo-tests] Support moving debuginfo-tests to llvm/projects 2017-12-12 16:54:20 +00:00
libclc configure.py: Add gfx900 (Vega, Raven) 2017-11-27 11:14:06 +00:00
libcxx [libcxx] Support the use of compiler-rt in lit tests 2018-01-08 23:36:53 +00:00
libcxxabi Update version to 7.0.0svn 2018-01-03 15:42:34 +00:00
libunwind Update PACKAGE_VERSION to 7.0.0svn 2018-01-03 16:59:48 +00:00
lld Rewrite our relocation processing. 2018-01-09 00:13:54 +00:00
lldb [test] Use full PATH lookup for tools 2018-01-06 10:20:25 +00:00
llgo irgen: Create functions instead of global variables for builtin hash and equal algorithms. 2017-06-04 22:11:28 +00:00
llvm [CMake] Support for cross-compilation when build runtimes 2018-01-08 23:50:59 +00:00
openmp Correct types of pointers to doacross_num_done 2018-01-07 16:54:36 +00:00
parallel-libs [Axccel] Remove -Wno-missing-braces in build 2016-12-19 21:34:07 +00:00
polly Docs, release notes: update version to 7.0.0 2018-01-03 15:54:54 +00:00
README.md Add an svn project to contain the files that appear at the root of the 2017-10-19 21:09:49 +00:00

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.