commit | c2676d79b5b5ceb86783efbca412b37374282f7d | [log] [tgz] |
---|---|---|
author | Fangrui Song <i@maskray.me> | Wed Nov 29 07:39:43 2023 -0800 |
committer | Copybara-Service <copybara-worker@google.com> | Wed Nov 29 07:41:11 2023 -0800 |
tree | 46fe8c96d6d33282614af70cd1c42f622f27799a | |
parent | 06aa2399b5bc6d4b4fdc0111c65e0aabd1a5a501 [diff] |
[ELF,LTO] Test calloc defined in a lazy bitcode file for (malloc+memset => calloc) libcall optimization Similar to https://reviews.llvm.org/D50017: malloc+memset references can be combined to a calloc reference, which is not explicit in the referencer's IR symbol table. If calloc is defined in a lazy bitcode file, we should extract the archive member to satisfy possible references from LTO generated object files; otherwise (current status, which will be fixed by #72673), `calloc` as a LazyObject symbol will be resolved by compileBitcodeFiles generated Undefined, leading to an incorrectly-extracted Defined symbol without section, which will lower to an SHN_ABS symbol at address 0. GitOrigin-RevId: 2212e900599bb98a46b99b61ccc1983cdaf422d1
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
.