Changes in directory llvm/lib/Transforms/Scalar:
InstructionCombining.cpp updated: 1.693 -> 1.694 --- Log message: Get better debug output by having modified instructions print both the original and new instruction. A slight performance hit with ostringstream but it is only for debug. Also, clean up an uninitialized variable warning noticed in a release build. --- Diffs of the changes: (+10 -2) InstructionCombining.cpp | 12 ++++++++++-- 1 files changed, 10 insertions(+), 2 deletions(-) Index: llvm/lib/Transforms/Scalar/InstructionCombining.cpp diff -u llvm/lib/Transforms/Scalar/InstructionCombining.cpp:1.693 llvm/lib/Transforms/Scalar/InstructionCombining.cpp:1.694 --- llvm/lib/Transforms/Scalar/InstructionCombining.cpp:1.693 Mon Mar 26 12:18:58 2007 +++ llvm/lib/Transforms/Scalar/InstructionCombining.cpp Mon Mar 26 12:44:01 2007 @@ -57,6 +57,9 @@ #include "llvm/ADT/STLExtras.h" #include <algorithm> #include <set> +#ifndef NDEBUG +#include <sstream> +#endif using namespace llvm; using namespace llvm::PatternMatch; @@ -3134,7 +3137,7 @@ // Otherwise, if Mask is 0+1+0+, and if B is known to have the low 0+ // part, we don't need any explicit masks to take them out of A. If that // is all N is, ignore it. - unsigned MB, ME; + unsigned MB = 0, ME = 0; if (isRunOfOnes(Mask, MB, ME)) { // begin/end bit of run, inclusive uint32_t BitWidth = cast<IntegerType>(RHS->getType())->getBitWidth(); APInt Mask(APInt::getAllOnesValue(BitWidth)); @@ -9445,6 +9448,10 @@ } // Now that we have an instruction, try combining it to simplify it... +#ifndef NDEBUG + std::string OrigI; +#endif + DEBUG(std::ostringstream SS; I->print(SS); OrigI = SS.str();); if (Instruction *Result = visit(*I)) { ++NumCombined; // Should we replace the old instruction with a new one? @@ -9483,7 +9490,8 @@ // Erase the old instruction. InstParent->getInstList().erase(I); } else { - DOUT << "IC: MOD = " << *I; + DOUT << "IC: Mod = " << OrigI + << " New = " << *I; // If the instruction was modified, it's possible that it is now dead. // if so, remove it. _______________________________________________ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits