mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-08-02 23:26:31 +00:00
Allow targets to specify register classes whose member registers should not be renamed to break anti-dependencies.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86628 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -17,6 +17,7 @@
|
||||
#include "llvm/Target/TargetInstrItineraries.h"
|
||||
#include "llvm/Target/TargetMachine.h"
|
||||
#include "llvm/Target/TargetSubtarget.h"
|
||||
#include "ARMBaseRegisterInfo.h"
|
||||
#include <string>
|
||||
|
||||
namespace llvm {
|
||||
@@ -129,8 +130,11 @@ protected:
|
||||
/// enablePostRAScheduler - True at 'More' optimization except
|
||||
/// for Thumb1.
|
||||
bool enablePostRAScheduler(CodeGenOpt::Level OptLevel,
|
||||
TargetSubtarget::AntiDepBreakMode& mode) const {
|
||||
mode = TargetSubtarget::ANTIDEP_CRITICAL;
|
||||
TargetSubtarget::AntiDepBreakMode& Mode,
|
||||
ExcludedRCVector& ExcludedRCs) const {
|
||||
Mode = TargetSubtarget::ANTIDEP_CRITICAL;
|
||||
ExcludedRCs.clear();
|
||||
ExcludedRCs.push_back(&ARM::GPRRegClass);
|
||||
return PostRAScheduler && OptLevel >= CodeGenOpt::Default;
|
||||
}
|
||||
|
||||
|
@@ -219,8 +219,10 @@ public:
|
||||
/// enablePostRAScheduler - X86 target is enabling post-alloc scheduling
|
||||
/// at 'More' optimization level.
|
||||
bool enablePostRAScheduler(CodeGenOpt::Level OptLevel,
|
||||
TargetSubtarget::AntiDepBreakMode& mode) const {
|
||||
mode = TargetSubtarget::ANTIDEP_CRITICAL;
|
||||
TargetSubtarget::AntiDepBreakMode& Mode,
|
||||
ExcludedRCVector& ExcludedRCs) const {
|
||||
Mode = TargetSubtarget::ANTIDEP_CRITICAL;
|
||||
ExcludedRCs.clear();
|
||||
return OptLevel >= CodeGenOpt::Default;
|
||||
}
|
||||
};
|
||||
|
Reference in New Issue
Block a user