[PATCH] [PM/AA] Split the location computation out of getArgLocation so the virtual interface on AliasAnalysis only deals with ModRef information.

Chandler Carruth chandlerc at gmail.com
Thu Jun 4 15:44:18 PDT 2015


Hi nlewycky, hfinkel,

This interface was both computing memory locations by using TLI and
other tricks to estimate the size of memory referenced by an operand,
and computing ModRef information through similar investigations. This
change narrows the scope of the virtual interface on AliasAnalysis
slightly.

Note that all of this code could live in BasicAA, and be done with
a single investigation of the argument, if it weren't for the fact that
the generic code in AliasAnalysis::getModRefBehavior for a callsite
calls into the virtual aspect of (now) getArgModRefInfo. An alternative
factoring would be to lift all of this generic logic up into BasicAA and
not have any other AAs reason about argument-specific ModRef info or
memory locations. But it isn't really clear that this is a strictly
better interface. Suggestions for a preferred factoring welcome.

http://reviews.llvm.org/D10259

Files:
  include/llvm/Analysis/AliasAnalysis.h
  include/llvm/Analysis/MemoryLocation.h
  lib/Analysis/AliasAnalysis.cpp
  lib/Analysis/BasicAliasAnalysis.cpp
  lib/Analysis/MemoryLocation.cpp
  lib/Analysis/NoAliasAnalysis.cpp

EMAIL PREFERENCES
  http://reviews.llvm.org/settings/panel/emailpreferences/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D10259.27154.patch
Type: text/x-patch
Size: 15421 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20150604/0106da87/attachment.bin>


More information about the llvm-commits mailing list