[PATCH] D67121: [TargetLowering] Make allowsMemoryAccess methode virtual.

Matt Arsenault via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Sep 3 12:35:57 PDT 2019


arsenm added a comment.

My concern is about growing multiple, parallel concepts related to load/store legality and the existing mess of hooks to control these sort of combines and would like to avoid potentially making it worse.

We already have a few too many hooks for controlling this sort of thing, and none them seem really sufficient or well thought out. We have the basic register type legality check, whether the load/store (for a type only) is legal, checks for whether truncstore/extload are legal, and allowsMisalignedMemoryAccesses. Beyond that, we have hooks like isLoadBitCastBeneficial/isStoreBitCastBeneficial, canMergeStoresTo, mergeStoresAfterLegalization, and possibly a few more.

Things would probably be better if we had some variant of allowsMemoryAccess that would totally subsume the existing set of legality checks. On the other hand, I don't really want to spend much time thinking about how to make SelectionDAG better at this point.


Repository:
  rL LLVM

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

https://reviews.llvm.org/D67121





More information about the llvm-commits mailing list