See https://github.com/llvm/llvm-project/issues/57815.
dso_local_equivalent would fail with an assertion on forward-referenced globals. This is an issue that only comes up in textual IR, which is why we've never seen this assertion with clang.
Paths
| Differential D134234
[llvm] Support forward-referenced globals with dso_local_equivalent ClosedPublic Authored by leonardchan on Sep 19 2022, 4:08 PM.
Details Summary See https://github.com/llvm/llvm-project/issues/57815. dso_local_equivalent would fail with an assertion on forward-referenced globals. This is an issue that only comes up in textual IR, which is why we've never seen this assertion with clang.
Diff Detail
Event Timelineleonardchan marked 4 inline comments as done. leonardchan added inline comments.
MaskRay added inline comments.
This revision is now accepted and ready to land.Sep 20 2022, 10:29 PM leonardchan added inline comments.
This revision was landed with ongoing or failed builds.Sep 21 2022, 12:32 PM Closed by commit rG411020ad1c15: [llvm] Support forward-referenced globals with dso_local_equivalent (authored by leonardchan). · Explain Why This revision was automatically updated to reflect the committed changes. leonardchan marked an inline comment as done. Comment Actions These tests should be in llvm/test/Assembler and preferably test round-trip of llvm-as and llvm-dis, as well as verify-uselistorder. Comment Actions
Added llvm-as/dis tests and verify-uselistorder. I still think the codegen tests are necessary though since we still want to test the lowered calls are properly calling the right thing with/without plts.
Revision Contents
Diff 461983 llvm/include/llvm/AsmParser/LLParser.h
llvm/lib/AsmParser/LLParser.cpp
llvm/test/CodeGen/X86/dso_local_equivalent.ll
llvm/test/CodeGen/X86/dso_local_equivalent_errors.ll
|
Use a range-based for loop and clear ForwardRefDSOLocalEquivalents?