commit | 637390b315e1dc41396d1f757c17943fecdef816 | [log] [tgz] |
---|---|---|
author | Nico Weber <nicolasweber@gmx.de> | Wed Jan 23 02:07:10 2019 +0000 |
committer | Nico Weber <nicolasweber@gmx.de> | Wed Jan 23 02:07:10 2019 +0000 |
tree | e66f9d222d7f6963cf5532755c4621fce4694be3 | |
parent | f6abb4b500f4f30f8ced624c7ff53e192f4c38e4 [diff] |
lld-link: Use just one code path to process associative comdats, reject some invalid associated comdats Currently, if an associative comdat appears after the comdat it's associated with it's processed immediately, else it's deferred until the end of the object file. I found this confusing to think about while working on PR40094, so this makes it so that associated comdats are always processed at the end of the object file. This seems to be perf-neutral and simpler. Now there's a natural place to reject the associated comdats referring to later associated comdats (associated comdats referring to associated comdats is invalid per COFF spec) that, so reject those. (A later patch will reject associated comdats referring to earlier comdats.) Differential Revision: https://reviews.llvm.org/D56929 git-svn-id: https://llvm.org/svn/llvm-project/lld/trunk@351917 91177308-0d34-0410-b5e6-96231b3b80d8
This directory and its subdirectories contain source code for the LLVM Linker, a modular cross platform linker which is built as part of the LLVM compiler infrastructure project.
lld is open source software. You may freely distribute it under the terms of the license agreement found in LICENSE.txt.
In order to make sure various developers can evaluate patches over the same tests, we create a collection of self contained programs.
It is hosted at https://s3-us-west-2.amazonaws.com/linker-tests/lld-speed-test.tar.xz
The current sha256 is 10eec685463d5a8bbf08d77f4ca96282161d396c65bd97dc99dbde644a31610f.