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
Unit Tests
Unit Tests
Time | Test | |
---|---|---|
60,030 ms | x64 debian > libFuzzer.libFuzzer::minimize_crash.test |
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.