In a follow up we will reuse the logic in MemoryEffectsBase to merge
moryLocation and AAMemoryBehavior without duplicating all the bit
ling code already available in MemoryEffectsBase.
This is part of an effort to match FunctionAttr performance with a lightweight Attributor pass, and this should also speed it up as we need less AAs.
Why the enum wrapped in a class here?