The Language Reference says that aliases can have available_externally linkage if their aliasee is an available_externally global value. Using this kind of aliases resulted in crashes during code generation, filter them out (the same that the AsmPrinter also filters out GlobalVariables in emitSpecialLLVMGlobal(); Functions are discarded in the machine pass infrastructure).
Details
Details
Diff Detail
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
Comment Actions
I've only touched this file for refactoring purposes, I'm not qualified to do a proper review.
Comment Actions
This looks right to me -- the verifier already requires available_externally aliases to point to other available_externally symbols, so if we're skipping an alias here then we know that we'll also skip all the things that it points to.