[llvm-commits] [llvm] r99418 - /llvm/trunk/lib/Transforms/Scalar/SimplifyLibCalls.cpp

Evan Cheng evan.cheng at apple.com
Wed Mar 24 13:19:04 PDT 2010


Author: evancheng
Date: Wed Mar 24 15:19:04 2010
New Revision: 99418

URL: http://llvm.org/viewvc/llvm-project?rev=99418&view=rev
Log:
Move OptChkCall off LibCallOptimization into StrCpyOpt.

Modified:
    llvm/trunk/lib/Transforms/Scalar/SimplifyLibCalls.cpp

Modified: llvm/trunk/lib/Transforms/Scalar/SimplifyLibCalls.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Transforms/Scalar/SimplifyLibCalls.cpp?rev=99418&r1=99417&r2=99418&view=diff
==============================================================================
--- llvm/trunk/lib/Transforms/Scalar/SimplifyLibCalls.cpp (original)
+++ llvm/trunk/lib/Transforms/Scalar/SimplifyLibCalls.cpp Wed Mar 24 15:19:04 2010
@@ -49,13 +49,10 @@
   Function *Caller;
   const TargetData *TD;
   LLVMContext* Context;
-  bool OptChkCall;  // True if it's optimizing a *_chk libcall.
 public:
-  LibCallOptimization() : OptChkCall(false) { }
+  LibCallOptimization() { }
   virtual ~LibCallOptimization() {}
 
-  void setOptChkCall(bool c) { OptChkCall = c; }
-
   /// CallOptimizer - This pure virtual method is implemented by base classes to
   /// do various optimizations.  If this returns null then no transformation was
   /// performed.  If it returns CI, then it transformed the call and CI is to be
@@ -353,6 +350,10 @@
 // 'strcpy' Optimizations
 
 struct StrCpyOpt : public LibCallOptimization {
+  bool OptChkCall;  // True if it's optimizing a __strcpy_chk libcall.
+
+  StrCpyOpt(bool c) : OptChkCall(c) {}
+
   virtual Value *CallOptimizer(Function *Callee, CallInst *CI, IRBuilder<> &B) {
     // Verify the "strcpy" function prototype.
     unsigned NumParams = OptChkCall ? 3 : 2;
@@ -1188,8 +1189,7 @@
     bool Modified;  // This is only used by doInitialization.
   public:
     static char ID; // Pass identification
-    SimplifyLibCalls() : FunctionPass(&ID) {}
-
+    SimplifyLibCalls() : FunctionPass(&ID), StrCpy(false), StrCpyChk(true) {}
     void InitOptimizations();
     bool runOnFunction(Function &F);
 
@@ -1240,7 +1240,6 @@
   Optimizations["memset"] = &MemSet;
 
   // _chk variants of String and Memory LibCall Optimizations.
-  StrCpyChk.setOptChkCall(true);
   Optimizations["__strcpy_chk"] = &StrCpyChk;
 
   // Math Library Optimizations





More information about the llvm-commits mailing list