diff options
author | Fangrui Song <i@maskray.me> | 2023-11-29 07:39:43 -0800 |
---|---|---|
committer | Fangrui Song <i@maskray.me> | 2023-11-29 07:39:43 -0800 |
commit | 2212e900599bb98a46b99b61ccc1983cdaf422d1 (patch) | |
tree | bf784a5e117d2d213073aa3e077cca6b3e5f2c4f /flang/lib/Frontend/CompilerInvocation.cpp | |
parent | 9fa2d74be415a3e30d811c0acc05c45e1c55759e (diff) | |
download | llvm-2212e900599bb98a46b99b61ccc1983cdaf422d1.zip llvm-2212e900599bb98a46b99b61ccc1983cdaf422d1.tar.gz llvm-2212e900599bb98a46b99b61ccc1983cdaf422d1.tar.bz2 |
[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.
Diffstat (limited to 'flang/lib/Frontend/CompilerInvocation.cpp')
0 files changed, 0 insertions, 0 deletions