mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-07-22 07:24:47 +00:00
Move some more functionality from MRegisterInfo to TargetInstrInfo.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45603 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -46,6 +46,7 @@ namespace {
|
||||
(void) llvm::createAliasDebugger();
|
||||
(void) llvm::createAndersensPass();
|
||||
(void) llvm::createArgumentPromotionPass();
|
||||
(void) llvm::createAutoVectorizePass();
|
||||
(void) llvm::createBasicAliasAnalysisPass();
|
||||
(void) llvm::createBasicVNPass();
|
||||
(void) llvm::createBlockPlacementPass();
|
||||
|
@@ -25,7 +25,6 @@
|
||||
namespace llvm {
|
||||
|
||||
class BitVector;
|
||||
class CalleeSavedInfo;
|
||||
class MachineFunction;
|
||||
class MachineInstr;
|
||||
class MachineLocation;
|
||||
@@ -470,26 +469,6 @@ public:
|
||||
// immediates and memory. FIXME: Move these to TargetInstrInfo.h.
|
||||
//
|
||||
|
||||
/// spillCalleeSavedRegisters - Issues instruction(s) to spill all callee
|
||||
/// saved registers and returns true if it isn't possible / profitable to do
|
||||
/// so by issuing a series of store instructions via
|
||||
/// storeRegToStackSlot(). Returns false otherwise.
|
||||
virtual bool spillCalleeSavedRegisters(MachineBasicBlock &MBB,
|
||||
MachineBasicBlock::iterator MI,
|
||||
const std::vector<CalleeSavedInfo> &CSI) const {
|
||||
return false;
|
||||
}
|
||||
|
||||
/// restoreCalleeSavedRegisters - Issues instruction(s) to restore all callee
|
||||
/// saved registers and returns true if it isn't possible / profitable to do
|
||||
/// so by issuing a series of load instructions via loadRegToStackSlot().
|
||||
/// Returns false otherwise.
|
||||
virtual bool restoreCalleeSavedRegisters(MachineBasicBlock &MBB,
|
||||
MachineBasicBlock::iterator MI,
|
||||
const std::vector<CalleeSavedInfo> &CSI) const {
|
||||
return false;
|
||||
}
|
||||
|
||||
/// getCrossCopyRegClass - Returns a legal register class to copy a register
|
||||
/// in the specified class to or from. Returns NULL if it is possible to copy
|
||||
/// between a two registers of the specified class.
|
||||
|
@@ -26,6 +26,7 @@ class MachineInstr;
|
||||
class TargetMachine;
|
||||
class TargetRegisterClass;
|
||||
class LiveVariables;
|
||||
class CalleeSavedInfo;
|
||||
|
||||
template<class T> class SmallVectorImpl;
|
||||
|
||||
@@ -497,6 +498,26 @@ public:
|
||||
assert(0 && "Target didn't implement TargetInstrInfo::loadRegFromAddr!");
|
||||
}
|
||||
|
||||
/// spillCalleeSavedRegisters - Issues instruction(s) to spill all callee
|
||||
/// saved registers and returns true if it isn't possible / profitable to do
|
||||
/// so by issuing a series of store instructions via
|
||||
/// storeRegToStackSlot(). Returns false otherwise.
|
||||
virtual bool spillCalleeSavedRegisters(MachineBasicBlock &MBB,
|
||||
MachineBasicBlock::iterator MI,
|
||||
const std::vector<CalleeSavedInfo> &CSI) const {
|
||||
return false;
|
||||
}
|
||||
|
||||
/// restoreCalleeSavedRegisters - Issues instruction(s) to restore all callee
|
||||
/// saved registers and returns true if it isn't possible / profitable to do
|
||||
/// so by issuing a series of load instructions via loadRegToStackSlot().
|
||||
/// Returns false otherwise.
|
||||
virtual bool restoreCalleeSavedRegisters(MachineBasicBlock &MBB,
|
||||
MachineBasicBlock::iterator MI,
|
||||
const std::vector<CalleeSavedInfo> &CSI) const {
|
||||
return false;
|
||||
}
|
||||
|
||||
/// BlockHasNoFallThrough - Return true if the specified block does not
|
||||
/// fall-through into its successor block. This is primarily used when a
|
||||
/// branch is unanalyzable. It is useful for things like unconditional
|
||||
|
@@ -330,6 +330,12 @@ FunctionPass *createPredicateSimplifierPass();
|
||||
//
|
||||
FunctionPass *createGVNPREPass();
|
||||
|
||||
//===----------------------------------------------------------------------===//
|
||||
//
|
||||
// AutoVectorize - This pass performs vectorization of straight-line code
|
||||
//
|
||||
FunctionPass *createAutoVectorizePass();
|
||||
|
||||
//===----------------------------------------------------------------------===//
|
||||
//
|
||||
// GVN - This pass performs global value numbering and redundant load
|
||||
|
Reference in New Issue
Block a user