[vmkit-commits] [vmkit] r60445 - /vmkit/trunk/lib/JnJVM/VMCore/LowerConstantCalls.cpp

Nicolas Geoffray nicolas.geoffray at lip6.fr
Tue Dec 2 15:32:26 PST 2008


Author: geoffray
Date: Tue Dec  2 17:32:25 2008
New Revision: 60445

URL: http://llvm.org/viewvc/llvm-project?rev=60445&view=rev
Log:
 Remove the loaded value if it is not needed, in GetStaticInstance.


Modified:
    vmkit/trunk/lib/JnJVM/VMCore/LowerConstantCalls.cpp

Modified: vmkit/trunk/lib/JnJVM/VMCore/LowerConstantCalls.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/JnJVM/VMCore/LowerConstantCalls.cpp?rev=60445&r1=60444&r2=60445&view=diff

==============================================================================
--- vmkit/trunk/lib/JnJVM/VMCore/LowerConstantCalls.cpp (original)
+++ vmkit/trunk/lib/JnJVM/VMCore/LowerConstantCalls.cpp Tue Dec  2 17:32:25 2008
@@ -347,10 +347,14 @@
           
           ConstantInt* C = (ConstantInt*)CE->getOperand(0);
           Class* cl = (Class*)C->getZExtValue();
-
+          
+          Instruction* R = dyn_cast<Instruction>(Call.getArgument(0));
           Value* Replace = module->getStaticInstance(cl, CI);
           CI->replaceAllUsesWith(Replace);
           CI->eraseFromParent();
+          
+          if (R && !R->getNumUses()) R->eraseFromParent();
+         
 
 #elif defined(ISOLATE)
           Value* TCM = getTCM(module, Call.getArgument(0), CI);





More information about the vmkit-commits mailing list