[vmkit-commits] [vmkit] r114734 - in /vmkit/trunk: lib/J3/Compiler/LowerConstantCalls.cpp lib/Mvm/Compiler/EscapeAnalysis.cpp lib/Mvm/Compiler/InlineMalloc.cpp lib/Mvm/Compiler/LoopSafePoints.cpp mmtk/magic/LowerMagic.cpp

Nicolas Geoffray nicolas.geoffray at lip6.fr
Fri Sep 24 10:16:33 PDT 2010


Author: geoffray
Date: Fri Sep 24 12:16:33 2010
New Revision: 114734

URL: http://llvm.org/viewvc/llvm-project?rev=114734&view=rev
Log:
Move to new LLVM API.


Modified:
    vmkit/trunk/lib/J3/Compiler/LowerConstantCalls.cpp
    vmkit/trunk/lib/Mvm/Compiler/EscapeAnalysis.cpp
    vmkit/trunk/lib/Mvm/Compiler/InlineMalloc.cpp
    vmkit/trunk/lib/Mvm/Compiler/LoopSafePoints.cpp
    vmkit/trunk/mmtk/magic/LowerMagic.cpp

Modified: vmkit/trunk/lib/J3/Compiler/LowerConstantCalls.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/J3/Compiler/LowerConstantCalls.cpp?rev=114734&r1=114733&r2=114734&view=diff
==============================================================================
--- vmkit/trunk/lib/J3/Compiler/LowerConstantCalls.cpp (original)
+++ vmkit/trunk/lib/J3/Compiler/LowerConstantCalls.cpp Fri Sep 24 12:16:33 2010
@@ -143,14 +143,18 @@
             Cmp->eraseFromParent();
             break;
           }
-          
-          CallSite Ca = CallSite::get(Arg);
-          Instruction* CI = Ca.getInstruction();
-          if (CI && Ca.getCalledValue() == intrinsics->AllocateFunction) {
-            Changed = true;
-            Cmp->replaceAllUsesWith(ConstantInt::getFalse(*Context));
-            Cmp->eraseFromParent();
-            break;
+         
+          Instruction* InsArg = dyn_cast<Instruction>(Arg); 
+          if (InsArg != NULL &&
+              (InsArg->getOpcode() == Instruction::Call ||
+               InsArg->getOpcode() == Instruction::Invoke)) { 
+            CallSite Ca(Arg);
+            if (Ca.getCalledValue() == intrinsics->AllocateFunction) {
+              Changed = true;
+              Cmp->replaceAllUsesWith(ConstantInt::getFalse(*Context));
+              Cmp->eraseFromParent();
+              break;
+            }
           }
         }
       }
@@ -164,10 +168,15 @@
           if (dyn_cast<StoreInst>(*UI)) continue;
           if (BitCastInst* BI = dyn_cast<BitCastInst>(*UI)) {
             if (BI->hasOneUse()) {
-              CallSite Call = CallSite::get(*(BI->use_begin()));
-              Instruction* CI = Call.getInstruction();
-              if (CI && Call.getCalledFunction() == intrinsics->llvm_gc_gcroot)
-                continue;
+              Instruction* use = dyn_cast<Instruction>(*(BI->use_begin()));
+              if (use != NULL &&
+                  (use->getOpcode() == Instruction::Call ||
+                   use->getOpcode() == Instruction::Invoke)) { 
+                CallSite Call(use);
+                if (Call.getCalledFunction() == intrinsics->llvm_gc_gcroot) {
+                  continue;
+                }
+              }
             }
           }
           
@@ -185,7 +194,7 @@
               if (dyn_cast<Instruction>(II) == SI) ++II;
               SI->eraseFromParent();
             } else if (BitCastInst* BI = dyn_cast<BitCastInst>(Temp)) {
-              CallSite Call = CallSite::get(*(BI->use_begin()));
+              CallSite Call(*(BI->use_begin()));
               Instruction* CI = Call.getInstruction();
               if (dyn_cast<Instruction>(II) == CI) ++II;
               CI->eraseFromParent();
@@ -205,9 +214,10 @@
         }
       }
 
-      CallSite Call = CallSite::get(I);
-      Instruction* CI = Call.getInstruction();
-      if (CI) {
+      if ((I->getOpcode() == Instruction::Call ||
+           I->getOpcode() == Instruction::Invoke)) { 
+        Instruction* CI = I;
+        CallSite Call(I);
         Value* V = Call.getCalledValue();
         if (V == intrinsics->ArrayLengthFunction) {
           Changed = true;

Modified: vmkit/trunk/lib/Mvm/Compiler/EscapeAnalysis.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/Mvm/Compiler/EscapeAnalysis.cpp?rev=114734&r1=114733&r2=114734&view=diff
==============================================================================
--- vmkit/trunk/lib/Mvm/Compiler/EscapeAnalysis.cpp (original)
+++ vmkit/trunk/lib/Mvm/Compiler/EscapeAnalysis.cpp Fri Sep 24 12:16:33 2010
@@ -76,9 +76,12 @@
     for (BasicBlock::iterator II = Cur->begin(), IE = Cur->end(); II != IE;) {
       Instruction *I = II;
       II++;
-      CallSite Call = CallSite::get(I);
-      if (Call.getInstruction() && Call.getCalledValue() == Allocator) {
-
+      if (I->getOpcode() != Instruction::Call &&
+          I->getOpcode() != Instruction::Invoke) {
+        continue;
+      }
+      CallSite Call(I);
+      if (Call.getCalledValue() == Allocator) {
         if (CurLoop) {
           bool escapesLoop = false;
           for (Value::use_iterator U = I->use_begin(), E = I->use_end();
@@ -118,7 +121,7 @@
       if (II->getOpcode() == Instruction::Call || 
           II->getOpcode() == Instruction::Invoke) {
         
-        CallSite CS = CallSite::get(II);
+        CallSite CS(II);
         if (!CS.onlyReadsMemory()) return true;
         
         CallSite::arg_iterator B = CS.arg_begin(), E = CS.arg_end();

Modified: vmkit/trunk/lib/Mvm/Compiler/InlineMalloc.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/Mvm/Compiler/InlineMalloc.cpp?rev=114734&r1=114733&r2=114734&view=diff
==============================================================================
--- vmkit/trunk/lib/Mvm/Compiler/InlineMalloc.cpp (original)
+++ vmkit/trunk/lib/Mvm/Compiler/InlineMalloc.cpp Fri Sep 24 12:16:33 2010
@@ -49,16 +49,17 @@
     for (BasicBlock::iterator II = Cur->begin(), IE = Cur->end(); II != IE;) {
       Instruction *I = II;
       II++;
-      CallSite Call = CallSite::get(I);
-      Instruction* CI = Call.getInstruction();
-      if (CI) {
-        Function* Temp = Call.getCalledFunction();
-        if (Temp == Malloc) {
-          if (dyn_cast<Constant>(Call.getArgument(0))) {
-            InlineFunctionInfo IFI(NULL, mvm::MvmModule::TheTargetData);
-            Changed |= InlineFunction(Call, IFI);
-            break;
-          }
+      if (I->getOpcode() != Instruction::Call &&
+          I->getOpcode() != Instruction::Invoke) {
+        continue;
+      }
+      CallSite Call(I);
+      Function* Temp = Call.getCalledFunction();
+      if (Temp == Malloc) {
+        if (dyn_cast<Constant>(Call.getArgument(0))) {
+          InlineFunctionInfo IFI(NULL, mvm::MvmModule::TheTargetData);
+          Changed |= InlineFunction(Call, IFI);
+          break;
         }
       }
     }

Modified: vmkit/trunk/lib/Mvm/Compiler/LoopSafePoints.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/Mvm/Compiler/LoopSafePoints.cpp?rev=114734&r1=114733&r2=114734&view=diff
==============================================================================
--- vmkit/trunk/lib/Mvm/Compiler/LoopSafePoints.cpp (original)
+++ vmkit/trunk/lib/Mvm/Compiler/LoopSafePoints.cpp Fri Sep 24 12:16:33 2010
@@ -82,8 +82,13 @@
     for (BasicBlock::iterator II = Cur->begin(), IE = Cur->end(); II != IE;) {
       Instruction *I = II;
       II++;
-      CallSite Call = CallSite::get(I);
-      if (Call.getInstruction() && Call.getCalledValue() == SafeFunction) {
+      if (I->getOpcode() != Instruction::Call &&
+          I->getOpcode() != Instruction::Invoke) {
+        continue;
+      }
+
+      CallSite Call(I);
+      if (Call.getCalledValue() == SafeFunction) {
         if (BasicBlock* Incoming = Cur->getSinglePredecessor()) {
           if (BranchInst* T = dyn_cast<BranchInst>(Incoming->getTerminator())) {
             if (LoadInst* LI = dyn_cast<LoadInst>(T->getCondition())) {

Modified: vmkit/trunk/mmtk/magic/LowerMagic.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/mmtk/magic/LowerMagic.cpp?rev=114734&r1=114733&r2=114734&view=diff
==============================================================================
--- vmkit/trunk/mmtk/magic/LowerMagic.cpp (original)
+++ vmkit/trunk/mmtk/magic/LowerMagic.cpp Fri Sep 24 12:16:33 2010
@@ -422,9 +422,13 @@
     for (BasicBlock::iterator II = Cur->begin(), IE = Cur->end(); II != IE;) {
       Instruction *I = II;
       II++;
-      CallSite Call = CallSite::get(I);
-      Instruction* CI = Call.getInstruction();
-      if (CI) {
+      if (I->getOpcode() != Instruction::Call &&
+          I->getOpcode() != Instruction::Invoke) {
+        continue;
+      }
+
+      CallSite Call(I);
+      Instruction* CI = I;
         Value* V = Call.getCalledValue();
         if (Function* FCur = dyn_cast<Function>(V)) {
           const char* name = FCur->getName().data();
@@ -1250,7 +1254,6 @@
             }
           }
         }
-      }
     }
   }
   return Changed;





More information about the vmkit-commits mailing list