[llvm-commits] CVS: llvm/lib/VMCore/AutoUpgrade.cpp

Reid Spencer reid at x10sys.com
Sun Jan 22 23:42:41 PST 2006



Changes in directory llvm/lib/VMCore:

AutoUpgrade.cpp updated: 1.6 -> 1.7
---
Log message:

For PR411: http://llvm.cs.uiuc.edu/PR411 :
No functionality changes, just improve the code by a) providing better 
function names, b) eliminating a call to get_suffix and c) tightening up
a function elimination test to reduce further checking.


---
Diffs of the changes:  (+6 -7)

 AutoUpgrade.cpp |   13 ++++++-------
 1 files changed, 6 insertions(+), 7 deletions(-)


Index: llvm/lib/VMCore/AutoUpgrade.cpp
diff -u llvm/lib/VMCore/AutoUpgrade.cpp:1.6 llvm/lib/VMCore/AutoUpgrade.cpp:1.7
--- llvm/lib/VMCore/AutoUpgrade.cpp:1.6	Fri Jan 20 12:04:43 2006
+++ llvm/lib/VMCore/AutoUpgrade.cpp	Mon Jan 23 01:42:30 2006
@@ -36,7 +36,7 @@
   return 0;
 }
 
-static inline const Type* get_type(Function* F) {
+static inline const Type* getTypeFromFunctionName(Function* F) {
   // If there's no function, we can't get the argument type.
   if (!F)
     return 0;
@@ -45,7 +45,7 @@
   const std::string& Name = F->getName();
 
   // Quickly eliminate it, if it's not a candidate.
-  if (Name.length() <= 5 || Name[0] != 'l' || Name[1] != 'l' || Name[2] !=
+  if (Name.length() <= 8 || Name[0] != 'l' || Name[1] != 'l' || Name[2] !=
     'v' || Name[3] != 'm' || Name[4] != '.')
     return 0;
 
@@ -109,10 +109,9 @@
 // the argument types.
 Function* llvm::UpgradeIntrinsicFunction(Function* F) {
   // See if its one of the name's we're interested in.
-  if (const Type* Ty = get_type(F)) {
-    const char* suffix = get_suffix(Ty);
-    if (Ty->isSigned())
-      suffix = get_suffix(Ty->getUnsignedVersion());
+  if (const Type* Ty = getTypeFromFunctionName(F)) {
+    const char* suffix = 
+      get_suffix((Ty->isSigned() ? Ty->getUnsignedVersion() : Ty));
     assert(suffix && "Intrinsic parameter type not recognized");
     const std::string& Name = F->getName();
     std::string new_name = Name + suffix;
@@ -143,7 +142,7 @@
 
 Instruction* llvm::UpgradeIntrinsicCall(CallInst *CI) {
   Function *F = CI->getCalledFunction();
-  if (const Type* Ty = get_type(F)) {
+  if (const Type* Ty = getTypeFromFunctionName(F)) {
     Function* newF = UpgradeIntrinsicFunction(F);
     std::vector<Value*> Oprnds;
     for (User::op_iterator OI = CI->op_begin(), OE = CI->op_end(); 






More information about the llvm-commits mailing list