[PATCH] D143915: [llvm][AArch64] Fix an interaction of SLS and BTI after a returns twice call

David Spickett via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Feb 13 07:36:45 PST 2023


DavidSpickett added reviewers: kristof.beyls, pzheng.
DavidSpickett added a subscriber: pzheng.
DavidSpickett added a comment.

I should note that the IR that describes an indirect call to a returns twice function will not be generated by current clang. It seems like the SROA pass drops that attribute when it replaces the value. Perhaps it did at one point do that, as I don't think I hand wrote the IR. I will see if that is a bug or not.

That doesn't prevent this patch going in though.

I asked my colleagues about the merits of pseudos that are expanded late, vs. having passes look inside bundles. There were a lot of opinions mostly toward bundles being a bad way to do this. However, it's what we have and the KCFI pass already handles something like this so I went with it. Let's teach 1 pass to handle a bundle rather than 2 how to handle a pseudo.

@pzheng Please check whatever build configuration you were hitting the crash in. I think I'm testing all of SelectionDag/FastIsel/GlobalIsel but not 100% sure.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D143915/new/

https://reviews.llvm.org/D143915



More information about the llvm-commits mailing list