tra added a comment.
In D98783#2632244 <https://reviews.llvm.org/D98783#2632244>, @yaxunl wrote: > In D98783#2632143 <https://reviews.llvm.org/D98783#2632143>, @tra wrote: > >> Shouldn't the unused ASCs be eliminated by DCE? We seem to be cleaning up >> the consequences of a problem that happened somewhere else. > > DCE does not eliminate these unused ASCs because normally they should not > exist. That's why we do not want them to be kept in the IR emitted by clang. TBH, these 'invisible' ASCs do bother me. I wonder what else is present in the IR that we can't easily examine with existing tools? In principle I'm OK with eliminating such dangling ASCs here as a short-term workaround, but I think it's potentially a more general issue which needs a more general solution. One way to consistently deal with something like that is to codegen something using those ASCs, but which would be considered unused and later DCE'd along with unused ASCs. We could use some sort of counterpart for `@llvm.used` only for potentially unused IR we create. Tying them to such `@llvm_maybe_unused` would avoid the problem. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D98783/new/ https://reviews.llvm.org/D98783 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits