forked from OSchip/llvm-project
Save the optimization level the subtarget was created with in a
member variable and sink the initialization of crbits into the subtarget feature reset code. No functional change, but this refactor will be used in a future commit. llvm-svn: 208726
This commit is contained in:
parent
83fcaa8c66
commit
d1309ee27d
|
@ -35,22 +35,10 @@ using namespace llvm;
|
|||
PPCSubtarget::PPCSubtarget(const std::string &TT, const std::string &CPU,
|
||||
const std::string &FS, bool is64Bit,
|
||||
CodeGenOpt::Level OptLevel)
|
||||
: PPCGenSubtargetInfo(TT, CPU, FS)
|
||||
, IsPPC64(is64Bit)
|
||||
, TargetTriple(TT) {
|
||||
: PPCGenSubtargetInfo(TT, CPU, FS), IsPPC64(is64Bit), TargetTriple(TT),
|
||||
OptLevel(OptLevel) {
|
||||
initializeEnvironment();
|
||||
|
||||
std::string FullFS = FS;
|
||||
|
||||
// At -O2 and above, track CR bits as individual registers.
|
||||
if (OptLevel >= CodeGenOpt::Default) {
|
||||
if (!FullFS.empty())
|
||||
FullFS = "+crbits," + FullFS;
|
||||
else
|
||||
FullFS = "+crbits";
|
||||
}
|
||||
|
||||
resetSubtargetFeatures(CPU, FullFS);
|
||||
resetSubtargetFeatures(CPU, FS);
|
||||
}
|
||||
|
||||
/// SetJITMode - This is called to inform the subtarget info that we are
|
||||
|
@ -140,6 +128,14 @@ void PPCSubtarget::resetSubtargetFeatures(StringRef CPU, StringRef FS) {
|
|||
FullFS = "+64bit";
|
||||
}
|
||||
|
||||
// At -O2 and above, track CR bits as individual registers.
|
||||
if (OptLevel >= CodeGenOpt::Default) {
|
||||
if (!FullFS.empty())
|
||||
FullFS = "+crbits," + FullFS;
|
||||
else
|
||||
FullFS = "+crbits";
|
||||
}
|
||||
|
||||
// Parse features string.
|
||||
ParseSubtargetFeatures(CPUName, FullFS);
|
||||
|
||||
|
|
|
@ -99,6 +99,9 @@ protected:
|
|||
/// TargetTriple - What processor and OS we're targeting.
|
||||
Triple TargetTriple;
|
||||
|
||||
/// OptLevel - What default optimization level we're emitting code for.
|
||||
CodeGenOpt::Level OptLevel;
|
||||
|
||||
public:
|
||||
/// This constructor initializes the data members to match that
|
||||
/// of the specified triple.
|
||||
|
|
Loading…
Reference in New Issue