[llvm-commits] CVS: llvm/lib/Target/IA64/IA64ISelPattern.cpp

Duraid Madina duraid at octopus.com.au
Tue Apr 26 02:43:01 PDT 2005



Changes in directory llvm/lib/Target/IA64:

IA64ISelPattern.cpp updated: 1.28 -> 1.29
---
Log message:

constmul bugfix: multiply by 27611 was broken



---
Diffs of the changes:  (+10 -11)

 IA64ISelPattern.cpp |   21 ++++++++++-----------
 1 files changed, 10 insertions(+), 11 deletions(-)


Index: llvm/lib/Target/IA64/IA64ISelPattern.cpp
diff -u llvm/lib/Target/IA64/IA64ISelPattern.cpp:1.28 llvm/lib/Target/IA64/IA64ISelPattern.cpp:1.29
--- llvm/lib/Target/IA64/IA64ISelPattern.cpp:1.28	Tue Apr 26 03:43:47 2005
+++ llvm/lib/Target/IA64/IA64ISelPattern.cpp	Tue Apr 26 04:42:50 2005
@@ -453,9 +453,6 @@
   ISelDAG = 0;
 }
 
-const char sign[2]={'+','-'};
-
-
 // strip leading '0' characters from a string
 void munchLeadingZeros(std::string& inString) {
   while(inString.c_str()[0]=='0') {
@@ -564,7 +561,8 @@
   }
 
   std::string t, u;
-  int c,f;
+  int c;
+  bool f;
   std::map<const int, int> w;
 
   for(int i=0; i<p.size(); i++) {
@@ -678,18 +676,19 @@
   }
 
   if( c<0 ) {
-    f=1;
+    f=true;
     c=-c;
   } else
-    f=0;
+    f=false;
   
   bool hit=true;
-  for(int i=0; i<u.length()-1; i++) {
-    if(u.c_str()[i]!='0')
-      hit=false;
+  for(int i=0; i<u.length(); i++) {
+    if(u[i]!='0')
+      if(u[i]!='N') {
+	hit=false;
+	break;
+      }
   }
-  if(u.c_str()[u.length()-1]!='N')
-    hit=false;
 
   int g=0;
   if(hit) {






More information about the llvm-commits mailing list