diff options
author | Hal Finkel <hfinkel@anl.gov> | 2015-01-09 02:03:11 +0000 |
---|---|---|
committer | Hal Finkel <hfinkel@anl.gov> | 2015-01-09 02:03:11 +0000 |
commit | 5ff00b43506d75cdd5189a9574dc4c8b9ee3bce5 (patch) | |
tree | 326d178d4154ac04ee9a77abc6571651bedfb6de /llvm/lib | |
parent | 311c7db8e3655795c28adc797fcbac434b01bc51 (diff) | |
download | bcm5719-llvm-5ff00b43506d75cdd5189a9574dc4c8b9ee3bce5.tar.gz bcm5719-llvm-5ff00b43506d75cdd5189a9574dc4c8b9ee3bce5.zip |
[PowerPC] Add a flag for experimenting with subreg liveness tracking
This cannot yet be enabled by default, it causes ~50 miscompiles in the test
suite.
llvm-svn: 225497
Diffstat (limited to 'llvm/lib')
-rw-r--r-- | llvm/lib/Target/PowerPC/PPCSubtarget.cpp | 8 | ||||
-rw-r--r-- | llvm/lib/Target/PowerPC/PPCSubtarget.h | 2 |
2 files changed, 10 insertions, 0 deletions
diff --git a/llvm/lib/Target/PowerPC/PPCSubtarget.cpp b/llvm/lib/Target/PowerPC/PPCSubtarget.cpp index fb47c910c2f..d8ba1c71a0f 100644 --- a/llvm/lib/Target/PowerPC/PPCSubtarget.cpp +++ b/llvm/lib/Target/PowerPC/PPCSubtarget.cpp @@ -19,6 +19,7 @@ #include "llvm/IR/Attributes.h" #include "llvm/IR/Function.h" #include "llvm/IR/GlobalValue.h" +#include "llvm/Support/CommandLine.h" #include "llvm/Support/Host.h" #include "llvm/Support/TargetRegistry.h" #include "llvm/Target/TargetMachine.h" @@ -32,6 +33,9 @@ using namespace llvm; #define GET_SUBTARGETINFO_CTOR #include "PPCGenSubtargetInfo.inc" +static cl::opt<bool> UseSubRegLiveness("ppc-track-subreg-liveness", +cl::desc("Enable subregister liveness tracking for PPC"), cl::Hidden); + /// Return the datalayout string of a subtarget. static std::string getDataLayoutString(const Triple &T) { bool is64Bit = T.getArch() == Triple::ppc64 || T.getArch() == Triple::ppc64le; @@ -234,3 +238,7 @@ bool PPCSubtarget::useAA() const { return needsAggressiveScheduling(DarwinDirective); } +bool PPCSubtarget::enableSubRegLiveness() const { + return UseSubRegLiveness; +} + diff --git a/llvm/lib/Target/PowerPC/PPCSubtarget.h b/llvm/lib/Target/PowerPC/PPCSubtarget.h index de5f92a971b..b33b7370a91 100644 --- a/llvm/lib/Target/PowerPC/PPCSubtarget.h +++ b/llvm/lib/Target/PowerPC/PPCSubtarget.h @@ -259,6 +259,8 @@ public: MachineInstr *end, unsigned NumRegionInstrs) const override; bool useAA() const override; + + bool enableSubRegLiveness() const override; }; } // End llvm namespace |