In MipsDAGToDAGISel::SelectAddr, fold add node into address operand, if its
[oota-llvm.git] / lib / Target / Mips / MipsInstrInfo.h
index 51fedc4fe4c02d8a1520863649801640857a44bc..aca2bc7ae98d0a3e5b2a918d8d03ef1702ee4616 100644 (file)
@@ -33,6 +33,8 @@ protected:
 public:
   explicit MipsInstrInfo(MipsTargetMachine &TM, unsigned UncondBrOpc);
 
+  static const MipsInstrInfo *create(MipsTargetMachine &TM);
+
   /// Branch Analysis
   virtual bool AnalyzeBranch(MachineBasicBlock &MBB, MachineBasicBlock *&TBB,
                              MachineBasicBlock *&FBB,
@@ -86,17 +88,9 @@ private:
                    const SmallVectorImpl<MachineOperand>& Cond) const;
 };
 
-namespace Mips {
-  /// Emit a series of instructions to load an immediate. All instructions
-  /// except for the last one are emitted. The function returns the number of
-  /// MachineInstrs generated. The opcode-immediate pair of the last
-  /// instruction is returned in LastInst, if it is not 0.
-  unsigned
-  loadImmediate(int64_t Imm, bool IsN64, const TargetInstrInfo &TII,
-                MachineBasicBlock& MBB, MachineBasicBlock::iterator II,
-                DebugLoc DL, bool LastInstrIsADDiu,
-                MipsAnalyzeImmediate::Inst *LastInst);
-}
+/// Create MipsInstrInfo objects.
+const MipsInstrInfo *createMips16InstrInfo(MipsTargetMachine &TM);
+const MipsInstrInfo *createMipsSEInstrInfo(MipsTargetMachine &TM);
 
 }