Fix undefined behavior in the Mips backend.
[oota-llvm.git] / lib / Target / Mips / MipsAnalyzeImmediate.h
index fe181d8d342d21d9ecd2ade3b114619cfc5f928a..a094ddae45de2700a50d218ad85b5b6b7cbb7c76 100644 (file)
@@ -1,4 +1,4 @@
-//===-- MipsAnalyzeImmediate.h - Analyze immediates -----------------------===//
+//===-- MipsAnalyzeImmediate.h - Analyze Immediates ------------*- C++ -*--===//
 //
 //                     The LLVM Compiler Infrastructure
 //
@@ -10,6 +10,7 @@
 #define MIPS_ANALYZE_IMMEDIATE_H
 
 #include "llvm/ADT/SmallVector.h"
+#include "llvm/Support/DataTypes.h"
 
 namespace llvm {
 
@@ -24,7 +25,7 @@ namespace llvm {
     /// Analyze - Get an instrucion sequence to load immediate Imm. The last
     /// instruction in the sequence must be an ADDiu if LastInstrIsADDiu is
     /// true;
-    const InstSeq &Analyze(int64_t Imm, unsigned Size, bool LastInstrIsADDiu);
+    const InstSeq &Analyze(uint64_t Imm, unsigned Size, bool LastInstrIsADDiu);
   private:
     typedef SmallVector<InstSeq, 5> InstSeqLs;
 
@@ -33,24 +34,24 @@ namespace llvm {
 
     /// GetInstSeqLsADDiu - Get instrucion sequences which end with an ADDiu to
     /// load immediate Imm
-    void GetInstSeqLsADDiu(int64_t Imm, unsigned RemSize, InstSeqLs &SeqLs);
+    void GetInstSeqLsADDiu(uint64_t Imm, unsigned RemSize, InstSeqLs &SeqLs);
 
     /// GetInstSeqLsORi - Get instrucion sequences which end with an ORi to
     /// load immediate Imm
-    void GetInstSeqLsORi(int64_t Imm, unsigned RemSize, InstSeqLs &SeqLs);
+    void GetInstSeqLsORi(uint64_t Imm, unsigned RemSize, InstSeqLs &SeqLs);
 
     /// GetInstSeqLsSLL - Get instrucion sequences which end with a SLL to
     /// load immediate Imm
-    void GetInstSeqLsSLL(int64_t Imm, unsigned RemSize, InstSeqLs &SeqLs);
+    void GetInstSeqLsSLL(uint64_t Imm, unsigned RemSize, InstSeqLs &SeqLs);
 
     /// GetInstSeqLs - Get instrucion sequences to load immediate Imm.
-    void GetInstSeqLs(int64_t Imm, unsigned RemSize, InstSeqLs &SeqLs);
+    void GetInstSeqLs(uint64_t Imm, unsigned RemSize, InstSeqLs &SeqLs);
 
     /// ReplaceADDiuSLLWithLUi - Replace an ADDiu & SLL pair with a LUi.
     void ReplaceADDiuSLLWithLUi(InstSeq &Seq);
 
     /// GetShortestSeq - Find the shortest instruction sequence in SeqLs and
-    /// return it in Insts. 
+    /// return it in Insts.
     void GetShortestSeq(InstSeqLs &SeqLs, InstSeq &Insts);
 
     unsigned Size;