[llvm-commits] [llvm] r55137 - /llvm/trunk/lib/Analysis/ValueTracking.cpp

Bill Wendling isanbard at gmail.com
Thu Aug 21 15:41:21 PDT 2008


David,

This patch looks like it's causing the llvm-gcc bootstrap to go into
an infinite loop. I reverted it for now. Could you please check it
out?

-bw

On Thu, Aug 21, 2008 at 1:45 PM, David Greene <greened at obbligato.org> wrote:
> Author: greened
> Date: Thu Aug 21 15:45:12 2008
> New Revision: 55137
>
> URL: http://llvm.org/viewvc/llvm-project?rev=55137&view=rev
> Log:
>
> Fix ComputeMaskedBits to handle phis correctly.  We need to take the
> minimum of the known zeros.
>
> Modified:
>    llvm/trunk/lib/Analysis/ValueTracking.cpp
>
> Modified: llvm/trunk/lib/Analysis/ValueTracking.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Analysis/ValueTracking.cpp?rev=55137&r1=55136&r2=55137&view=diff
>
> ==============================================================================
> --- llvm/trunk/lib/Analysis/ValueTracking.cpp (original)
> +++ llvm/trunk/lib/Analysis/ValueTracking.cpp Thu Aug 21 15:45:12 2008
> @@ -509,9 +509,13 @@
>           ComputeMaskedBits(R, Mask2, KnownZero2, KnownOne2, TD, Depth+1);
>           Mask2 = APInt::getLowBitsSet(BitWidth,
>                                        KnownZero2.countTrailingOnes());
> -          KnownOne2.clear();
> -          KnownZero2.clear();
> -          ComputeMaskedBits(L, Mask2, KnownZero2, KnownOne2, TD, Depth+1);
> +
> +          // We need to take the minimum number of known bits
> +          APInt KnownZero3(KnownZero), KnownOne3(KnownOne);
> +          KnownOne3.clear();
> +          KnownZero3.clear();
> +          ComputeMaskedBits(L, Mask2, KnownZero3, KnownOne3, TD, Depth+1);
> +
>           KnownZero = Mask &
>                       APInt::getLowBitsSet(BitWidth,
>                                            KnownZero2.countTrailingOnes());
>
>
> _______________________________________________
> 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