[llvm-commits] CVS: llvm/lib/Transforms/Utils/Local.cpp

Chris Lattner lattner at cs.uiuc.edu
Thu Mar 9 14:38:22 PST 2006



Changes in directory llvm/lib/Transforms/Utils:

Local.cpp updated: 1.52 -> 1.53
---
Log message:

use autogenerated side-effect information


---
Diffs of the changes:  (+5 -27)

 Local.cpp |   32 +++++---------------------------
 1 files changed, 5 insertions(+), 27 deletions(-)


Index: llvm/lib/Transforms/Utils/Local.cpp
diff -u llvm/lib/Transforms/Utils/Local.cpp:1.52 llvm/lib/Transforms/Utils/Local.cpp:1.53
--- llvm/lib/Transforms/Utils/Local.cpp:1.52	Thu Jan 19 17:53:23 2006
+++ llvm/lib/Transforms/Utils/Local.cpp	Thu Mar  9 16:38:10 2006
@@ -307,33 +307,11 @@
   if (!I->mayWriteToMemory()) return true;
 
   if (CallInst *CI = dyn_cast<CallInst>(I))
-    if (Function *F = CI->getCalledFunction())
-      switch (F->getIntrinsicID()) {
-      default: break;
-      case Intrinsic::returnaddress:
-      case Intrinsic::frameaddress:
-      case Intrinsic::stacksave:
-      case Intrinsic::isunordered_f32:
-      case Intrinsic::isunordered_f64:
-      case Intrinsic::bswap_i16:
-      case Intrinsic::bswap_i32:
-      case Intrinsic::bswap_i64:
-      case Intrinsic::ctpop_i8:
-      case Intrinsic::ctpop_i16:
-      case Intrinsic::ctpop_i32:
-      case Intrinsic::ctpop_i64:
-      case Intrinsic::ctlz_i8:
-      case Intrinsic::ctlz_i16:
-      case Intrinsic::ctlz_i32:
-      case Intrinsic::ctlz_i64:
-      case Intrinsic::cttz_i8:
-      case Intrinsic::cttz_i16:
-      case Intrinsic::cttz_i32:
-      case Intrinsic::cttz_i64:
-      case Intrinsic::sqrt_f32:
-      case Intrinsic::sqrt_f64:
-        return true;             // These intrinsics have no side effects.
-      }
+    if (Function *F = CI->getCalledFunction()) {
+#define GET_SIDE_EFFECT_INFO
+#include "llvm/Intrinsics.gen"
+#undef GET_SIDE_EFFECT_INFO
+    }
   return false;
 }
 






More information about the llvm-commits mailing list