[llvm] r319477 - [Hexagon] Implement HexagonSubtarget::useAA()
Krzysztof Parzyszek via llvm-commits
llvm-commits at lists.llvm.org
Thu Nov 30 13:25:28 PST 2017
Author: kparzysz
Date: Thu Nov 30 13:25:28 2017
New Revision: 319477
URL: http://llvm.org/viewvc/llvm-project?rev=319477&view=rev
Log:
[Hexagon] Implement HexagonSubtarget::useAA()
Modified:
llvm/trunk/lib/Target/Hexagon/HexagonSubtarget.cpp
llvm/trunk/lib/Target/Hexagon/HexagonSubtarget.h
Modified: llvm/trunk/lib/Target/Hexagon/HexagonSubtarget.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/Hexagon/HexagonSubtarget.cpp?rev=319477&r1=319476&r2=319477&view=diff
==============================================================================
--- llvm/trunk/lib/Target/Hexagon/HexagonSubtarget.cpp (original)
+++ llvm/trunk/lib/Target/Hexagon/HexagonSubtarget.cpp Thu Nov 30 13:25:28 2017
@@ -92,7 +92,7 @@ static cl::opt<bool> EnableCheckBankConf
HexagonSubtarget::HexagonSubtarget(const Triple &TT, StringRef CPU,
StringRef FS, const TargetMachine &TM)
- : HexagonGenSubtargetInfo(TT, CPU, FS),
+ : HexagonGenSubtargetInfo(TT, CPU, FS), OptLevel(TM.getOptLevel()),
CPUString(Hexagon_MC::selectHexagonCPU(TT, CPU)),
InstrInfo(initializeSubtargetDependencies(CPU, FS)),
RegInfo(getHwMode()), TLInfo(TM, *this),
@@ -294,6 +294,14 @@ void HexagonSubtarget::BankConflictMutat
}
}
+/// \brief Enable use of alias analysis during code generation (during MI
+/// scheduling, DAGCombine, etc.).
+bool HexagonSubtarget::useAA() const {
+ if (OptLevel != CodeGenOpt::None)
+ return true;
+ return false;
+}
+
/// \brief Perform target specific adjustments to the latency of a schedule
/// dependency.
void HexagonSubtarget::adjustSchedDependency(SUnit *Src, SUnit *Dst,
Modified: llvm/trunk/lib/Target/Hexagon/HexagonSubtarget.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/Hexagon/HexagonSubtarget.h?rev=319477&r1=319476&r2=319477&view=diff
==============================================================================
--- llvm/trunk/lib/Target/Hexagon/HexagonSubtarget.h (original)
+++ llvm/trunk/lib/Target/Hexagon/HexagonSubtarget.h Thu Nov 30 13:25:28 2017
@@ -53,6 +53,7 @@ class HexagonSubtarget : public HexagonG
public:
Hexagon::ArchEnum HexagonArchVersion;
Hexagon::ArchEnum HexagonHVXVersion = Hexagon::ArchEnum::V4;
+ CodeGenOpt::Level OptLevel;
/// True if the target should use Back-Skip-Back scheduling. This is the
/// default for V60.
bool UseBSBScheduling;
@@ -177,6 +178,10 @@ public:
std::vector<std::unique_ptr<ScheduleDAGMutation>> &Mutations)
const override;
+ /// \brief Enable use of alias analysis during code generation (during MI
+ /// scheduling, DAGCombine, etc.).
+ bool useAA() const override;
+
/// \brief Perform target specific adjustments to the latency of a schedule
/// dependency.
void adjustSchedDependency(SUnit *def, SUnit *use, SDep& dep) const override;
More information about the llvm-commits
mailing list