[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