mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-07-25 13:24:46 +00:00
Scaffolding for LDA pass.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74120 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -18,6 +18,7 @@ add_llvm_library(LLVMAnalysis
|
||||
LibCallAliasAnalysis.cpp
|
||||
LibCallSemantics.cpp
|
||||
LiveValues.cpp
|
||||
LoopDependenceAnalysis.cpp
|
||||
LoopInfo.cpp
|
||||
LoopPass.cpp
|
||||
LoopVR.cpp
|
||||
|
47
lib/Analysis/LoopDependenceAnalysis.cpp
Normal file
47
lib/Analysis/LoopDependenceAnalysis.cpp
Normal file
@@ -0,0 +1,47 @@
|
||||
//===- LoopDependenceAnalysis.cpp - LDA Implementation ----------*- C++ -*-===//
|
||||
//
|
||||
// The LLVM Compiler Infrastructure
|
||||
//
|
||||
// This file is distributed under the University of Illinois Open Source
|
||||
// License. See LICENSE.TXT for details.
|
||||
//
|
||||
//===----------------------------------------------------------------------===//
|
||||
//
|
||||
// This is the (beginning) of an implementation of a loop dependence analysis
|
||||
// framework, which is used to detect dependences in memory accesses in loops.
|
||||
//
|
||||
// Please note that this is work in progress and the interface is subject to
|
||||
// change.
|
||||
//
|
||||
// TODO: adapt as implementation progresses.
|
||||
//
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
#define DEBUG_TYPE "lda"
|
||||
#include "llvm/Analysis/LoopDependenceAnalysis.h"
|
||||
#include "llvm/Analysis/LoopPass.h"
|
||||
#include "llvm/Analysis/ScalarEvolution.h"
|
||||
using namespace llvm;
|
||||
|
||||
LoopPass *llvm::createLoopDependenceAnalysisPass() {
|
||||
return new LoopDependenceAnalysis();
|
||||
}
|
||||
|
||||
static RegisterPass<LoopDependenceAnalysis>
|
||||
R("lda", "Loop Dependence Analysis", false, true);
|
||||
char LoopDependenceAnalysis::ID = 0;
|
||||
|
||||
//===----------------------------------------------------------------------===//
|
||||
// LoopDependenceAnalysis Implementation
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
bool LoopDependenceAnalysis::runOnLoop(Loop *L, LPPassManager &) {
|
||||
this->L = L;
|
||||
SE = &getAnalysis<ScalarEvolution>();
|
||||
return false;
|
||||
}
|
||||
|
||||
void LoopDependenceAnalysis::getAnalysisUsage(AnalysisUsage &AU) const {
|
||||
AU.setPreservesAll();
|
||||
AU.addRequired<ScalarEvolution>();
|
||||
}
|
Reference in New Issue
Block a user