mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-07-24 06:25:18 +00:00
[REFACTOR] Push logic from MemDepPrinter into getNonLocalPointerDependency
Previously, MemDepPrinter handled volatile and unordered accesses without involving MemoryDependencyAnalysis. By making a slight tweak to the documented interface - which is respected by both callers - we can move this responsibility to MDA for the benefit of any future callers. This is basically just cleanup. In the future, we may decide to extend MDA's non local dependency analysis to return useful results for ordered or volatile loads. I believe (but have not really checked in detail) that local dependency analyis does get useful results for ordered, but not volatile, loads. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@225483 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -366,9 +366,12 @@ namespace llvm {
|
||||
|
||||
|
||||
/// getNonLocalPointerDependency - Perform a full dependency query for an
|
||||
/// access to the QueryInst's specified (non-volatile) memory location,
|
||||
/// returning the set of instructions that either define or clobber
|
||||
/// the value.
|
||||
/// access to the QueryInst's specified memory location, returning the set
|
||||
/// of instructions that either define or clobber the value.
|
||||
///
|
||||
/// Warning: For a volatile query instruction, the dependencies will be
|
||||
/// accurate, and thus usable for reordering, but it is never legal to
|
||||
/// remove the query instruction.
|
||||
///
|
||||
/// This method assumes the pointer has a "NonLocal" dependency within
|
||||
/// QueryInst's parent basic block.
|
||||
|
Reference in New Issue
Block a user