mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-08-22 10:29:35 +00:00
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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@208726 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
e02c34ba2a
commit
7d87049ef1
@ -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
Block a user