[llvm] r175014 - Actually delete this code, since it's really not clear what it's

Jim Grosbach grosbach at apple.com
Tue Feb 12 15:59:23 PST 2013


I'm torn between thinking this is hilarious, scary, or awesome. I'm going to go with "all three" and back away slowly before the buildbots see it. ;)

-Jim

On Feb 12, 2013, at 2:26 PM, Dan Gohman <dan433584 at gmail.com> wrote:

> Author: djg
> Date: Tue Feb 12 16:26:41 2013
> New Revision: 175014
> 
> URL: http://llvm.org/viewvc/llvm-project?rev=175014&view=rev
> Log:
> Actually delete this code, since it's really not clear what it's
> trying to do.
> 
> Modified:
>    llvm/trunk/lib/Transforms/Scalar/GVN.cpp
> 
> Modified: llvm/trunk/lib/Transforms/Scalar/GVN.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Transforms/Scalar/GVN.cpp?rev=175014&r1=175013&r2=175014&view=diff
> ==============================================================================
> --- llvm/trunk/lib/Transforms/Scalar/GVN.cpp (original)
> +++ llvm/trunk/lib/Transforms/Scalar/GVN.cpp Tue Feb 12 16:26:41 2013
> @@ -1526,10 +1526,8 @@ bool GVN::processNonLocalLoad(LoadInst *
>   BasicBlock *LoadBB = LI->getParent();
>   BasicBlock *TmpBB = LoadBB;
> 
> -  bool isSinglePred = false;
>   bool allSingleSucc = true;
>   while (TmpBB->getSinglePredecessor()) {
> -    isSinglePred = true;
>     TmpBB = TmpBB->getSinglePredecessor();
>     if (TmpBB == LoadBB) // Infinite (unreachable) loop.
>       return false;
> @@ -1548,28 +1546,6 @@ bool GVN::processNonLocalLoad(LoadInst *
>   assert(TmpBB);
>   LoadBB = TmpBB;
> 
> -  // FIXME: It is extremely unclear what this loop is doing, other than
> -  // artificially restricting loadpre.
> -  if (isSinglePred) {
> -    bool isHot = false;
> -    for (unsigned i = 0, e = ValuesPerBlock.size(); i != e; ++i) {
> -      const AvailableValueInBlock &AV = ValuesPerBlock[i];
> -      if (AV.isSimpleValue())
> -        // "Hot" Instruction is in some loop (because it dominates its dep.
> -        // instruction).
> -        if (Instruction *I = dyn_cast<Instruction>(AV.getSimpleValue()))
> -          if (DT->dominates(LI, I)) {
> -            isHot = true;
> -            break;
> -          }
> -    }
> -
> -    // We are interested only in "hot" instructions. We don't want to do any
> -    // mis-optimizations here.
> -    if (!isHot)
> -      return false;
> -  }
> -
>   // Check to see how many predecessors have the loaded value fully
>   // available.
>   DenseMap<BasicBlock*, Value*> PredLoads;
> 
> 
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits




More information about the llvm-commits mailing list