mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-23 19:23:23 +01:00
[SystemZ] New CL option to enable subreg liveness
This option is needed to enable subreg liveness tracking during register allocation. Review: Ulrich Weigand https://reviews.llvm.org/D50779 llvm-svn: 339776
This commit is contained in:
parent
514bfb5e93
commit
dcfb73ed19
@ -19,6 +19,11 @@ using namespace llvm;
|
||||
#define GET_SUBTARGETINFO_CTOR
|
||||
#include "SystemZGenSubtargetInfo.inc"
|
||||
|
||||
static cl::opt<bool> UseSubRegLiveness(
|
||||
"systemz-subreg-liveness",
|
||||
cl::desc("Enable subregister liveness tracking for SystemZ (experimental)"),
|
||||
cl::Hidden);
|
||||
|
||||
// Pin the vtable to this file.
|
||||
void SystemZSubtarget::anchor() {}
|
||||
|
||||
@ -54,6 +59,11 @@ SystemZSubtarget::SystemZSubtarget(const Triple &TT, const std::string &CPU,
|
||||
TargetTriple(TT), InstrInfo(initializeSubtargetDependencies(CPU, FS)),
|
||||
TLInfo(TM, *this), TSInfo(), FrameLowering() {}
|
||||
|
||||
|
||||
bool SystemZSubtarget::enableSubRegLiveness() const {
|
||||
return UseSubRegLiveness;
|
||||
}
|
||||
|
||||
bool SystemZSubtarget::isPC32DBLSymbol(const GlobalValue *GV,
|
||||
CodeModel::Model CM) const {
|
||||
// PC32DBL accesses require the low bit to be clear. Note that a zero
|
||||
|
@ -102,6 +102,9 @@ public:
|
||||
// Always enable the early if-conversion pass.
|
||||
bool enableEarlyIfConversion() const override { return true; }
|
||||
|
||||
// Enable tracking of subregister liveness in register allocator.
|
||||
bool enableSubRegLiveness() const override;
|
||||
|
||||
// Automatically generated by tblgen.
|
||||
void ParseSubtargetFeatures(StringRef CPU, StringRef FS);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user