macros -> Inline functions
authorRafael Espindola <rafael.espindola@gmail.com>
Mon, 18 Dec 2006 11:07:09 +0000 (11:07 +0000)
committerRafael Espindola <rafael.espindola@gmail.com>
Mon, 18 Dec 2006 11:07:09 +0000 (11:07 +0000)
Lauros's patch

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32656 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/ARM/ARMRegisterInfo.cpp

index 47090b2488c1fd072200a1381a7cd77f0c9e2b07..73fd7a4899de8fdce0a7f1a4e9e561d691daa91d 100644 (file)
@@ -35,9 +35,13 @@ static bool hasFP(const MachineFunction &MF) {
   return NoFramePointerElim || MFI->hasVarSizedObjects();
 }
 
-#define ROTATE32L(x, n) (((x) << (n)) | ((x)  >> (32 - (n))))
+static inline unsigned rotateL(unsigned x, unsigned n){
+  return ((x << n) | (x  >> (32 - n)));
+}
 
-#define ROTATE32R(x, n) (((x) >> (n)) | ((x)  << (32 - (n))))
+static inline unsigned rotateR(unsigned x, unsigned n){
+  return ((x >> n) | (x  << (32 - n)));
+}
 
 // finds the end position of largest sequence of zeros in binary representation
 // of 'immediate'.
@@ -50,19 +54,19 @@ static int findLargestZeroSequence(unsigned immediate){
   int end_pos;
 
   while ((immediate & 0x3) == 0) {
-    immediate = ROTATE32R(immediate, 2);
+    immediate = rotateR(immediate, 2);
     pos+=2;
   }
   end_pos = pos+32;
 
   while (pos<end_pos){
     while ((immediate & 0x3) != 0) {
-      immediate = ROTATE32R(immediate, 2);
+      immediate = rotateR(immediate, 2);
       pos+=2;
     }
     zero_pos = pos;
     while ((immediate & 0x3) == 0) {
-      immediate = ROTATE32R(immediate, 2);
+      immediate = rotateR(immediate, 2);
       pos+=2;
     }
     zero_length = pos - zero_pos;
@@ -90,19 +94,19 @@ static void splitInstructionWithImmediate(MachineBasicBlock &BB,
   }
 
   int start_pos = findLargestZeroSequence(immediate);
-  unsigned immediate_tmp = ROTATE32R(immediate, start_pos);
+  unsigned immediate_tmp = rotateR(immediate, start_pos);
 
   int pos = 0;
   while (pos < 32){
     while(((immediate_tmp&0x3) == 0)&&(pos<32)){
-      immediate_tmp = ROTATE32R(immediate_tmp,2);
+      immediate_tmp = rotateR(immediate_tmp,2);
       pos+=2;
     }
     if (pos < 32){
       BuildMI(BB, I, TID, DestReg).addReg(OrigReg)
-       .addImm(ROTATE32L(immediate_tmp&0xFF, (start_pos + pos) % 32 ))
+       .addImm(rotateL(immediate_tmp&0xFF, (start_pos + pos) % 32 ))
        .addImm(0).addImm(ARMShift::LSL);
-      immediate_tmp = ROTATE32R(immediate_tmp,8);
+      immediate_tmp = rotateR(immediate_tmp,8);
       pos+=8;
     }
   }