mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-22 02:33:06 +01:00
[NFC] Reduce include files dependency and AA header cleanup (part 2).
Continuing work started in https://reviews.llvm.org/D92489: Removed a bunch of includes from "AliasAnalysis.h" and "LoopPassManager.h". Reviewed By: RKSimon Differential Revision: https://reviews.llvm.org/D92852
This commit is contained in:
parent
fdd8c22c46
commit
b7b67e3e9a
@ -3,6 +3,7 @@
|
||||
#include "llvm/Pass.h"
|
||||
#include "llvm/Passes/PassBuilder.h"
|
||||
#include "llvm/Passes/PassPlugin.h"
|
||||
#include "llvm/Support/CommandLine.h"
|
||||
#include "llvm/Support/raw_ostream.h"
|
||||
#include "llvm/Transforms/IPO/PassManagerBuilder.h"
|
||||
|
||||
|
@ -42,8 +42,6 @@
|
||||
#include "llvm/ADT/Optional.h"
|
||||
#include "llvm/ADT/SmallVector.h"
|
||||
#include "llvm/Analysis/MemoryLocation.h"
|
||||
#include "llvm/IR/Instruction.h"
|
||||
#include "llvm/IR/Instructions.h"
|
||||
#include "llvm/IR/PassManager.h"
|
||||
#include "llvm/Pass.h"
|
||||
#include <cstdint>
|
||||
@ -54,10 +52,17 @@
|
||||
namespace llvm {
|
||||
|
||||
class AnalysisUsage;
|
||||
class AtomicCmpXchgInst;
|
||||
class BasicAAResult;
|
||||
class BasicBlock;
|
||||
class CatchPadInst;
|
||||
class CatchReturnInst;
|
||||
class DominatorTree;
|
||||
class FenceInst;
|
||||
class Function;
|
||||
class InvokeInst;
|
||||
class PreservedAnalyses;
|
||||
class TargetLibraryInfo;
|
||||
class Value;
|
||||
|
||||
/// The possible results of an alias query.
|
||||
@ -768,40 +773,7 @@ private:
|
||||
AAQueryInfo &AAQI);
|
||||
ModRefInfo getModRefInfo(const Instruction *I,
|
||||
const Optional<MemoryLocation> &OptLoc,
|
||||
AAQueryInfo &AAQIP) {
|
||||
if (OptLoc == None) {
|
||||
if (const auto *Call = dyn_cast<CallBase>(I)) {
|
||||
return createModRefInfo(getModRefBehavior(Call));
|
||||
}
|
||||
}
|
||||
|
||||
const MemoryLocation &Loc = OptLoc.getValueOr(MemoryLocation());
|
||||
|
||||
switch (I->getOpcode()) {
|
||||
case Instruction::VAArg:
|
||||
return getModRefInfo((const VAArgInst *)I, Loc, AAQIP);
|
||||
case Instruction::Load:
|
||||
return getModRefInfo((const LoadInst *)I, Loc, AAQIP);
|
||||
case Instruction::Store:
|
||||
return getModRefInfo((const StoreInst *)I, Loc, AAQIP);
|
||||
case Instruction::Fence:
|
||||
return getModRefInfo((const FenceInst *)I, Loc, AAQIP);
|
||||
case Instruction::AtomicCmpXchg:
|
||||
return getModRefInfo((const AtomicCmpXchgInst *)I, Loc, AAQIP);
|
||||
case Instruction::AtomicRMW:
|
||||
return getModRefInfo((const AtomicRMWInst *)I, Loc, AAQIP);
|
||||
case Instruction::Call:
|
||||
return getModRefInfo((const CallInst *)I, Loc, AAQIP);
|
||||
case Instruction::Invoke:
|
||||
return getModRefInfo((const InvokeInst *)I, Loc, AAQIP);
|
||||
case Instruction::CatchPad:
|
||||
return getModRefInfo((const CatchPadInst *)I, Loc, AAQIP);
|
||||
case Instruction::CatchRet:
|
||||
return getModRefInfo((const CatchReturnInst *)I, Loc, AAQIP);
|
||||
default:
|
||||
return ModRefInfo::NoModRef;
|
||||
}
|
||||
}
|
||||
AAQueryInfo &AAQIP);
|
||||
|
||||
class Concept;
|
||||
|
||||
|
@ -18,7 +18,6 @@
|
||||
#include "llvm/ADT/SmallPtrSet.h"
|
||||
#include "llvm/ADT/SmallVector.h"
|
||||
#include "llvm/Analysis/AliasAnalysis.h"
|
||||
#include "llvm/IR/InstrTypes.h"
|
||||
#include "llvm/IR/PassManager.h"
|
||||
#include "llvm/Pass.h"
|
||||
#include <algorithm>
|
||||
|
@ -109,6 +109,7 @@ namespace llvm {
|
||||
/// Enables memory ssa as a dependency for loop passes.
|
||||
extern cl::opt<bool> EnableMSSALoopDependency;
|
||||
|
||||
class AllocaInst;
|
||||
class Function;
|
||||
class Instruction;
|
||||
class MemoryAccess;
|
||||
@ -1217,21 +1218,7 @@ private:
|
||||
/// Returns true if \p Ptr is guaranteed to be loop invariant for any possible
|
||||
/// loop. In particular, this guarantees that it only references a single
|
||||
/// MemoryLocation during execution of the containing function.
|
||||
bool IsGuaranteedLoopInvariant(Value *Ptr) const {
|
||||
auto IsGuaranteedLoopInvariantBase = [](Value *Ptr) {
|
||||
Ptr = Ptr->stripPointerCasts();
|
||||
if (!isa<Instruction>(Ptr))
|
||||
return true;
|
||||
return isa<AllocaInst>(Ptr);
|
||||
};
|
||||
|
||||
Ptr = Ptr->stripPointerCasts();
|
||||
if (auto *GEP = dyn_cast<GEPOperator>(Ptr)) {
|
||||
return IsGuaranteedLoopInvariantBase(GEP->getPointerOperand()) &&
|
||||
GEP->hasAllConstantIndices();
|
||||
}
|
||||
return IsGuaranteedLoopInvariantBase(Ptr);
|
||||
}
|
||||
bool IsGuaranteedLoopInvariant(Value *Ptr) const;
|
||||
|
||||
void fillInCurrentPair() {
|
||||
CurrentPair.first = *DefIterator;
|
||||
|
@ -36,21 +36,10 @@
|
||||
#ifndef LLVM_TRANSFORMS_SCALAR_LOOPPASSMANAGER_H
|
||||
#define LLVM_TRANSFORMS_SCALAR_LOOPPASSMANAGER_H
|
||||
|
||||
#include "llvm/ADT/PostOrderIterator.h"
|
||||
#include "llvm/ADT/PriorityWorklist.h"
|
||||
#include "llvm/ADT/STLExtras.h"
|
||||
#include "llvm/Analysis/AssumptionCache.h"
|
||||
#include "llvm/Analysis/BasicAliasAnalysis.h"
|
||||
#include "llvm/Analysis/BlockFrequencyInfo.h"
|
||||
#include "llvm/Analysis/GlobalsModRef.h"
|
||||
#include "llvm/Analysis/LoopAnalysisManager.h"
|
||||
#include "llvm/Analysis/LoopInfo.h"
|
||||
#include "llvm/Analysis/LoopNestAnalysis.h"
|
||||
#include "llvm/Analysis/MemorySSA.h"
|
||||
#include "llvm/Analysis/ScalarEvolution.h"
|
||||
#include "llvm/Analysis/ScalarEvolutionAliasAnalysis.h"
|
||||
#include "llvm/Analysis/TargetLibraryInfo.h"
|
||||
#include "llvm/Analysis/TargetTransformInfo.h"
|
||||
#include "llvm/IR/Dominators.h"
|
||||
#include "llvm/IR/PassInstrumentation.h"
|
||||
#include "llvm/IR/PassManager.h"
|
||||
|
@ -647,6 +647,43 @@ ModRefInfo AAResults::getModRefInfo(const AtomicRMWInst *RMW,
|
||||
return ModRefInfo::ModRef;
|
||||
}
|
||||
|
||||
ModRefInfo AAResults::getModRefInfo(const Instruction *I,
|
||||
const Optional<MemoryLocation> &OptLoc,
|
||||
AAQueryInfo &AAQIP) {
|
||||
if (OptLoc == None) {
|
||||
if (const auto *Call = dyn_cast<CallBase>(I)) {
|
||||
return createModRefInfo(getModRefBehavior(Call));
|
||||
}
|
||||
}
|
||||
|
||||
const MemoryLocation &Loc = OptLoc.getValueOr(MemoryLocation());
|
||||
|
||||
switch (I->getOpcode()) {
|
||||
case Instruction::VAArg:
|
||||
return getModRefInfo((const VAArgInst *)I, Loc, AAQIP);
|
||||
case Instruction::Load:
|
||||
return getModRefInfo((const LoadInst *)I, Loc, AAQIP);
|
||||
case Instruction::Store:
|
||||
return getModRefInfo((const StoreInst *)I, Loc, AAQIP);
|
||||
case Instruction::Fence:
|
||||
return getModRefInfo((const FenceInst *)I, Loc, AAQIP);
|
||||
case Instruction::AtomicCmpXchg:
|
||||
return getModRefInfo((const AtomicCmpXchgInst *)I, Loc, AAQIP);
|
||||
case Instruction::AtomicRMW:
|
||||
return getModRefInfo((const AtomicRMWInst *)I, Loc, AAQIP);
|
||||
case Instruction::Call:
|
||||
return getModRefInfo((const CallInst *)I, Loc, AAQIP);
|
||||
case Instruction::Invoke:
|
||||
return getModRefInfo((const InvokeInst *)I, Loc, AAQIP);
|
||||
case Instruction::CatchPad:
|
||||
return getModRefInfo((const CatchPadInst *)I, Loc, AAQIP);
|
||||
case Instruction::CatchRet:
|
||||
return getModRefInfo((const CatchReturnInst *)I, Loc, AAQIP);
|
||||
default:
|
||||
return ModRefInfo::NoModRef;
|
||||
}
|
||||
}
|
||||
|
||||
/// Return information about whether a particular call site modifies
|
||||
/// or reads the specified memory location \p MemLoc before instruction \p I
|
||||
/// in a BasicBlock.
|
||||
|
@ -14,6 +14,7 @@
|
||||
#include "llvm/Analysis/MemoryDependenceAnalysis.h"
|
||||
#include "llvm/Analysis/Passes.h"
|
||||
#include "llvm/IR/InstIterator.h"
|
||||
#include "llvm/IR/Instructions.h"
|
||||
#include "llvm/IR/LLVMContext.h"
|
||||
#include "llvm/InitializePasses.h"
|
||||
#include "llvm/Support/ErrorHandling.h"
|
||||
|
@ -2581,3 +2581,19 @@ void MemoryDef::deleteMe(DerivedUser *Self) {
|
||||
void MemoryUse::deleteMe(DerivedUser *Self) {
|
||||
delete static_cast<MemoryUse *>(Self);
|
||||
}
|
||||
|
||||
bool upward_defs_iterator::IsGuaranteedLoopInvariant(Value *Ptr) const {
|
||||
auto IsGuaranteedLoopInvariantBase = [](Value *Ptr) {
|
||||
Ptr = Ptr->stripPointerCasts();
|
||||
if (!isa<Instruction>(Ptr))
|
||||
return true;
|
||||
return isa<AllocaInst>(Ptr);
|
||||
};
|
||||
|
||||
Ptr = Ptr->stripPointerCasts();
|
||||
if (auto *GEP = dyn_cast<GEPOperator>(Ptr)) {
|
||||
return IsGuaranteedLoopInvariantBase(GEP->getPointerOperand()) &&
|
||||
GEP->hasAllConstantIndices();
|
||||
}
|
||||
return IsGuaranteedLoopInvariantBase(Ptr);
|
||||
}
|
||||
|
@ -34,6 +34,7 @@
|
||||
#include "llvm/Analysis/ScopedNoAliasAA.h"
|
||||
#include "llvm/ADT/SmallPtrSet.h"
|
||||
#include "llvm/Analysis/MemoryLocation.h"
|
||||
#include "llvm/IR/InstrTypes.h"
|
||||
#include "llvm/IR/Instruction.h"
|
||||
#include "llvm/IR/LLVMContext.h"
|
||||
#include "llvm/IR/Metadata.h"
|
||||
|
@ -111,6 +111,7 @@
|
||||
#include "llvm/Analysis/MemoryLocation.h"
|
||||
#include "llvm/IR/Constants.h"
|
||||
#include "llvm/IR/DerivedTypes.h"
|
||||
#include "llvm/IR/InstrTypes.h"
|
||||
#include "llvm/IR/Instruction.h"
|
||||
#include "llvm/IR/LLVMContext.h"
|
||||
#include "llvm/IR/Metadata.h"
|
||||
|
@ -37,6 +37,7 @@
|
||||
#include "llvm/CodeGen/TargetSubtargetInfo.h"
|
||||
#include "llvm/CodeGen/VirtRegMap.h"
|
||||
#include "llvm/Config/llvm-config.h"
|
||||
#include "llvm/IR/InstrTypes.h"
|
||||
#include "llvm/MC/LaneBitmask.h"
|
||||
#include "llvm/MC/MCRegisterInfo.h"
|
||||
#include "llvm/Pass.h"
|
||||
|
@ -13,6 +13,7 @@
|
||||
#include "llvm/LTO/Caching.h"
|
||||
#include "llvm/ADT/StringExtras.h"
|
||||
#include "llvm/Support/Errc.h"
|
||||
#include "llvm/Support/FileSystem.h"
|
||||
#include "llvm/Support/MemoryBuffer.h"
|
||||
#include "llvm/Support/Path.h"
|
||||
#include "llvm/Support/Process.h"
|
||||
|
@ -14,6 +14,7 @@
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
#include "llvm/LTO/LTOBackend.h"
|
||||
#include "llvm/Analysis/AliasAnalysis.h"
|
||||
#include "llvm/Analysis/CGSCCPassManager.h"
|
||||
#include "llvm/Analysis/ModuleSummaryAnalysis.h"
|
||||
#include "llvm/Analysis/TargetLibraryInfo.h"
|
||||
|
@ -16,7 +16,6 @@
|
||||
|
||||
#include "llvm/Passes/PassBuilder.h"
|
||||
#include "llvm/ADT/StringSwitch.h"
|
||||
#include "llvm/Analysis/AliasAnalysis.h"
|
||||
#include "llvm/Analysis/AliasAnalysisEvaluator.h"
|
||||
#include "llvm/Analysis/AliasSetTracker.h"
|
||||
#include "llvm/Analysis/AssumptionCache.h"
|
||||
|
@ -20,6 +20,7 @@
|
||||
#include "llvm/IR/CallingConv.h"
|
||||
#include "llvm/IR/Function.h"
|
||||
#include "llvm/IR/GlobalVariable.h"
|
||||
#include "llvm/IR/Instructions.h"
|
||||
#include "llvm/IR/Type.h"
|
||||
#include "llvm/IR/Value.h"
|
||||
#include "llvm/Pass.h"
|
||||
|
@ -25,7 +25,6 @@
|
||||
#include "llvm/ADT/SmallVector.h"
|
||||
#include "llvm/ADT/StringRef.h"
|
||||
#include "llvm/ADT/iterator_range.h"
|
||||
#include "llvm/Analysis/AliasAnalysis.h"
|
||||
#include "llvm/Analysis/MemoryLocation.h"
|
||||
#include "llvm/Analysis/ValueTracking.h"
|
||||
#include "llvm/CodeGen/LiveVariables.h"
|
||||
@ -70,6 +69,9 @@ using namespace llvm;
|
||||
#include "AMDGPUGenInstrInfo.inc"
|
||||
|
||||
namespace llvm {
|
||||
|
||||
class AAResults;
|
||||
|
||||
namespace AMDGPU {
|
||||
#define GET_D16ImageDimIntrinsics_IMPL
|
||||
#define GET_ImageDimIntrinsicTable_IMPL
|
||||
@ -137,7 +139,7 @@ static bool nodesHaveSameOperandValue(SDNode *N0, SDNode* N1, unsigned OpName) {
|
||||
}
|
||||
|
||||
bool SIInstrInfo::isReallyTriviallyReMaterializable(const MachineInstr &MI,
|
||||
AliasAnalysis *AA) const {
|
||||
AAResults *AA) const {
|
||||
// TODO: The generic check fails for VALU instructions that should be
|
||||
// rematerializable due to implicit reads of exec. We really want all of the
|
||||
// generic logic for this except for this.
|
||||
|
@ -38,7 +38,6 @@
|
||||
#include "llvm/ADT/SmallVector.h"
|
||||
#include "llvm/ADT/Statistic.h"
|
||||
#include "llvm/ADT/Twine.h"
|
||||
#include "llvm/Analysis/AliasAnalysis.h"
|
||||
#include "llvm/Analysis/AssumptionCache.h"
|
||||
#include "llvm/Analysis/BasicAliasAnalysis.h"
|
||||
#include "llvm/Analysis/CGSCCPassManager.h"
|
||||
|
@ -20,7 +20,6 @@
|
||||
#include "llvm/ADT/SmallPtrSet.h"
|
||||
#include "llvm/ADT/SmallVector.h"
|
||||
#include "llvm/ADT/Statistic.h"
|
||||
#include "llvm/Analysis/AliasAnalysis.h"
|
||||
#include "llvm/Analysis/AssumptionCache.h"
|
||||
#include "llvm/Analysis/BasicAliasAnalysis.h"
|
||||
#include "llvm/Analysis/CGSCCPassManager.h"
|
||||
|
@ -29,7 +29,6 @@
|
||||
#include "llvm/ADT/PostOrderIterator.h"
|
||||
#include "llvm/ADT/SmallVector.h"
|
||||
#include "llvm/ADT/Statistic.h"
|
||||
#include "llvm/Analysis/AliasAnalysis.h"
|
||||
#include "llvm/Analysis/BlockFrequencyInfo.h"
|
||||
#include "llvm/Analysis/BranchProbabilityInfo.h"
|
||||
#include "llvm/Analysis/CFG.h"
|
||||
|
@ -23,7 +23,6 @@
|
||||
#include "llvm/ADT/SmallVector.h"
|
||||
#include "llvm/ADT/Statistic.h"
|
||||
#include "llvm/ADT/StringRef.h"
|
||||
#include "llvm/Analysis/AliasAnalysis.h"
|
||||
#include "llvm/Analysis/AssumptionCache.h"
|
||||
#include "llvm/Analysis/BasicAliasAnalysis.h"
|
||||
#include "llvm/Analysis/BlockFrequencyInfo.h"
|
||||
|
@ -14,6 +14,7 @@
|
||||
#include "llvm/Bitcode/BitcodeWriter.h"
|
||||
#include "llvm/IR/Constants.h"
|
||||
#include "llvm/IR/DebugInfo.h"
|
||||
#include "llvm/IR/Instructions.h"
|
||||
#include "llvm/IR/Intrinsics.h"
|
||||
#include "llvm/IR/Module.h"
|
||||
#include "llvm/IR/PassManager.h"
|
||||
|
@ -59,7 +59,6 @@
|
||||
#include "llvm/ADT/SmallVector.h"
|
||||
#include "llvm/ADT/Triple.h"
|
||||
#include "llvm/ADT/iterator_range.h"
|
||||
#include "llvm/Analysis/AliasAnalysis.h"
|
||||
#include "llvm/Analysis/AssumptionCache.h"
|
||||
#include "llvm/Analysis/BasicAliasAnalysis.h"
|
||||
#include "llvm/Analysis/OptimizationRemarkEmitter.h"
|
||||
|
@ -12,6 +12,7 @@
|
||||
#include "llvm/Analysis/Passes.h"
|
||||
#include "llvm/IR/Function.h"
|
||||
#include "llvm/IR/InstIterator.h"
|
||||
#include "llvm/IR/InstrTypes.h"
|
||||
#include "llvm/IR/Module.h"
|
||||
#include "llvm/InitializePasses.h"
|
||||
#include "llvm/Pass.h"
|
||||
|
@ -12,6 +12,7 @@
|
||||
|
||||
#include "llvm/Analysis/AliasAnalysis.h"
|
||||
#include "llvm/IR/CFG.h"
|
||||
#include "llvm/IR/InstrTypes.h"
|
||||
#include "llvm/IR/ValueHandle.h"
|
||||
#include "llvm/InitializePasses.h"
|
||||
#include "llvm/Pass.h"
|
||||
|
@ -19,7 +19,6 @@
|
||||
#include "llvm/ADT/APInt.h"
|
||||
#include "llvm/ADT/APSInt.h"
|
||||
#include "llvm/ADT/SmallVector.h"
|
||||
#include "llvm/Analysis/AliasAnalysis.h"
|
||||
#include "llvm/Analysis/GlobalsModRef.h"
|
||||
#include "llvm/IR/Constants.h"
|
||||
#include "llvm/IR/IRBuilder.h"
|
||||
|
@ -33,7 +33,6 @@
|
||||
#include "llvm/ADT/StringRef.h"
|
||||
#include "llvm/ADT/Twine.h"
|
||||
#include "llvm/ADT/iterator_range.h"
|
||||
#include "llvm/Analysis/AliasAnalysis.h"
|
||||
#include "llvm/Analysis/AssumptionCache.h"
|
||||
#include "llvm/Analysis/GlobalsModRef.h"
|
||||
#include "llvm/Analysis/LoopAccessAnalysis.h"
|
||||
|
@ -27,7 +27,6 @@
|
||||
#include "llvm/ADT/SmallPtrSet.h"
|
||||
#include "llvm/ADT/SmallVector.h"
|
||||
#include "llvm/ADT/Statistic.h"
|
||||
#include "llvm/Analysis/AliasAnalysis.h"
|
||||
#include "llvm/Analysis/AssumptionCache.h"
|
||||
#include "llvm/Analysis/BlockFrequencyInfo.h"
|
||||
#include "llvm/Analysis/GlobalsModRef.h"
|
||||
|
@ -6,9 +6,15 @@
|
||||
//
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
#include "llvm/Support/TimeProfiler.h"
|
||||
#include "llvm/Transforms/Scalar/LoopPassManager.h"
|
||||
#include "llvm/Analysis/LoopInfo.h"
|
||||
#include "llvm/Analysis/AssumptionCache.h"
|
||||
#include "llvm/Analysis/BasicAliasAnalysis.h"
|
||||
#include "llvm/Analysis/BlockFrequencyInfo.h"
|
||||
#include "llvm/Analysis/GlobalsModRef.h"
|
||||
#include "llvm/Analysis/MemorySSA.h"
|
||||
#include "llvm/Analysis/ScalarEvolutionAliasAnalysis.h"
|
||||
#include "llvm/Analysis/TargetLibraryInfo.h"
|
||||
#include "llvm/Support/TimeProfiler.h"
|
||||
|
||||
using namespace llvm;
|
||||
|
||||
|
@ -16,7 +16,6 @@
|
||||
#include "llvm/Transforms/Scalar/LoopSimplifyCFG.h"
|
||||
#include "llvm/ADT/SmallVector.h"
|
||||
#include "llvm/ADT/Statistic.h"
|
||||
#include "llvm/Analysis/AliasAnalysis.h"
|
||||
#include "llvm/Analysis/AssumptionCache.h"
|
||||
#include "llvm/Analysis/BasicAliasAnalysis.h"
|
||||
#include "llvm/Analysis/DependenceAnalysis.h"
|
||||
|
@ -27,16 +27,17 @@
|
||||
#include "llvm/Analysis/MemorySSA.h"
|
||||
#include "llvm/Analysis/MemorySSAUpdater.h"
|
||||
#include "llvm/Analysis/MustExecute.h"
|
||||
#include "llvm/Analysis/ScalarEvolution.h"
|
||||
#include "llvm/IR/BasicBlock.h"
|
||||
#include "llvm/IR/Constant.h"
|
||||
#include "llvm/IR/Constants.h"
|
||||
#include "llvm/IR/Dominators.h"
|
||||
#include "llvm/IR/Function.h"
|
||||
#include "llvm/IR/IRBuilder.h"
|
||||
#include "llvm/IR/InstrTypes.h"
|
||||
#include "llvm/IR/Instruction.h"
|
||||
#include "llvm/IR/Instructions.h"
|
||||
#include "llvm/IR/IntrinsicInst.h"
|
||||
#include "llvm/IR/IRBuilder.h"
|
||||
#include "llvm/IR/Use.h"
|
||||
#include "llvm/IR/Value.h"
|
||||
#include "llvm/InitializePasses.h"
|
||||
|
@ -12,7 +12,6 @@
|
||||
|
||||
#include "llvm/Transforms/Utils/LoopRotationUtils.h"
|
||||
#include "llvm/ADT/Statistic.h"
|
||||
#include "llvm/Analysis/AliasAnalysis.h"
|
||||
#include "llvm/Analysis/AssumptionCache.h"
|
||||
#include "llvm/Analysis/BasicAliasAnalysis.h"
|
||||
#include "llvm/Analysis/CodeMetrics.h"
|
||||
|
@ -22,7 +22,6 @@
|
||||
|
||||
#include "llvm/ADT/SmallPtrSet.h"
|
||||
#include "llvm/ADT/Statistic.h"
|
||||
#include "llvm/Analysis/AliasAnalysis.h"
|
||||
#include "llvm/Analysis/LoopIterator.h"
|
||||
#include "llvm/Analysis/ScalarEvolution.h"
|
||||
#include "llvm/IR/BasicBlock.h"
|
||||
|
@ -14,7 +14,6 @@
|
||||
|
||||
#include "llvm/Transforms/Utils/LoopVersioning.h"
|
||||
#include "llvm/ADT/ArrayRef.h"
|
||||
#include "llvm/Analysis/AliasAnalysis.h"
|
||||
#include "llvm/Analysis/LoopAccessAnalysis.h"
|
||||
#include "llvm/Analysis/LoopInfo.h"
|
||||
#include "llvm/Analysis/MemorySSA.h"
|
||||
|
@ -10,6 +10,7 @@
|
||||
//
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
#include "llvm/Analysis/AliasAnalysis.h"
|
||||
#include "llvm/Bitcode/BitcodeReader.h"
|
||||
#include "llvm/Bitcode/BitcodeWriter.h"
|
||||
#include "llvm/CodeGen/CommandFlags.h"
|
||||
@ -18,6 +19,7 @@
|
||||
#include "llvm/IR/Verifier.h"
|
||||
#include "llvm/InitializePasses.h"
|
||||
#include "llvm/Passes/PassBuilder.h"
|
||||
#include "llvm/Support/CommandLine.h"
|
||||
#include "llvm/Support/SourceMgr.h"
|
||||
#include "llvm/Support/TargetRegistry.h"
|
||||
#include "llvm/Support/TargetSelect.h"
|
||||
|
@ -16,6 +16,7 @@
|
||||
#include "PassPrinters.h"
|
||||
#include "llvm/ADT/SmallVector.h"
|
||||
#include "llvm/ADT/StringRef.h"
|
||||
#include "llvm/Analysis/AliasAnalysis.h"
|
||||
#include "llvm/Analysis/CGSCCPassManager.h"
|
||||
#include "llvm/Analysis/TargetLibraryInfo.h"
|
||||
#include "llvm/Bitcode/BitcodeWriterPass.h"
|
||||
|
Loading…
Reference in New Issue
Block a user