diff options
author | Krzysztof Parzyszek <kparzysz@codeaurora.org> | 2017-11-30 21:25:28 +0000 |
---|---|---|
committer | Krzysztof Parzyszek <kparzysz@codeaurora.org> | 2017-11-30 21:25:28 +0000 |
commit | d76814200be0c125c08d1c4fd261bbfc82876371 (patch) | |
tree | 21d43efedae2dceab9adc436779cf3f229e631c8 /llvm/lib | |
parent | 2dddd6004ff66a534feb0530a7d49baa621bf239 (diff) | |
download | bcm5719-llvm-d76814200be0c125c08d1c4fd261bbfc82876371.tar.gz bcm5719-llvm-d76814200be0c125c08d1c4fd261bbfc82876371.zip |
[Hexagon] Implement HexagonSubtarget::useAA()
llvm-svn: 319477
Diffstat (limited to 'llvm/lib')
-rw-r--r-- | llvm/lib/Target/Hexagon/HexagonSubtarget.cpp | 10 | ||||
-rw-r--r-- | llvm/lib/Target/Hexagon/HexagonSubtarget.h | 5 |
2 files changed, 14 insertions, 1 deletions
diff --git a/llvm/lib/Target/Hexagon/HexagonSubtarget.cpp b/llvm/lib/Target/Hexagon/HexagonSubtarget.cpp index 7596bb5a435..37f1e455b23 100644 --- a/llvm/lib/Target/Hexagon/HexagonSubtarget.cpp +++ b/llvm/lib/Target/Hexagon/HexagonSubtarget.cpp @@ -92,7 +92,7 @@ static cl::opt<bool> EnableCheckBankConflict("hexagon-check-bank-conflict", 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::BankConflictMutation::apply(ScheduleDAGInstrs *DAG) { } } +/// \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, diff --git a/llvm/lib/Target/Hexagon/HexagonSubtarget.h b/llvm/lib/Target/Hexagon/HexagonSubtarget.h index 76892454d8a..ea69bd34192 100644 --- a/llvm/lib/Target/Hexagon/HexagonSubtarget.h +++ b/llvm/lib/Target/Hexagon/HexagonSubtarget.h @@ -53,6 +53,7 @@ class HexagonSubtarget : public HexagonGenSubtargetInfo { 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; |