[llvm-commits] [compiler-rt] r158669 - in /compiler-rt/trunk/lib: adddf3.c addsf3.c fp_lib.h muldf3.c mulsf3.c

Stephen Canon scanon at apple.com
Mon Jun 18 11:53:48 PDT 2012


Thanks, Joerg!

On Jun 18, 2012, at 2:51 PM, Joerg Sonnenberger <joerg at bec.de> wrote:

> Author: joerg
> Date: Mon Jun 18 13:51:13 2012
> New Revision: 158669
> 
> URL: http://llvm.org/viewvc/llvm-project?rev=158669&view=rev
> Log:
> Declare some variables unsigned to avoid signed vs unsigned mismatches.
> This exploits the relative order of the arguments and/or checks already
> made in the functions.
> 
> Modified:
>    compiler-rt/trunk/lib/adddf3.c
>    compiler-rt/trunk/lib/addsf3.c
>    compiler-rt/trunk/lib/fp_lib.h
>    compiler-rt/trunk/lib/muldf3.c
>    compiler-rt/trunk/lib/mulsf3.c
> 
> Modified: compiler-rt/trunk/lib/adddf3.c
> URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/adddf3.c?rev=158669&r1=158668&r2=158669&view=diff
> ==============================================================================
> --- compiler-rt/trunk/lib/adddf3.c (original)
> +++ compiler-rt/trunk/lib/adddf3.c Mon Jun 18 13:51:13 2012
> @@ -85,7 +85,7 @@
> 
>     // Shift the significand of b by the difference in exponents, with a sticky
>     // bottom bit to get rounding correct.
> -    const int align = aExponent - bExponent;
> +    const unsigned int align = aExponent - bExponent;
>     if (align) {
>         if (align < typeWidth) {
>             const bool sticky = bSignificand << (typeWidth - align);
> 
> Modified: compiler-rt/trunk/lib/addsf3.c
> URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/addsf3.c?rev=158669&r1=158668&r2=158669&view=diff
> ==============================================================================
> --- compiler-rt/trunk/lib/addsf3.c (original)
> +++ compiler-rt/trunk/lib/addsf3.c Mon Jun 18 13:51:13 2012
> @@ -84,7 +84,7 @@
> 
>     // Shift the significand of b by the difference in exponents, with a sticky
>     // bottom bit to get rounding correct.
> -    const int align = aExponent - bExponent;
> +    const unsigned int align = aExponent - bExponent;
>     if (align) {
>         if (align < typeWidth) {
>             const bool sticky = bSignificand << (typeWidth - align);
> 
> Modified: compiler-rt/trunk/lib/fp_lib.h
> URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/fp_lib.h?rev=158669&r1=158668&r2=158669&view=diff
> ==============================================================================
> --- compiler-rt/trunk/lib/fp_lib.h (original)
> +++ compiler-rt/trunk/lib/fp_lib.h Mon Jun 18 13:51:13 2012
> @@ -124,7 +124,7 @@
>     *lo = *lo << count;
> }
> 
> -static inline void wideRightShiftWithSticky(rep_t *hi, rep_t *lo, int count) {
> +static inline void wideRightShiftWithSticky(rep_t *hi, rep_t *lo, unsigned int count) {
>     if (count < typeWidth) {
>         const bool sticky = *lo << (typeWidth - count);
>         *lo = *hi << (typeWidth - count) | *lo >> count | sticky;
> 
> Modified: compiler-rt/trunk/lib/muldf3.c
> URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/muldf3.c?rev=158669&r1=158668&r2=158669&view=diff
> ==============================================================================
> --- compiler-rt/trunk/lib/muldf3.c (original)
> +++ compiler-rt/trunk/lib/muldf3.c Mon Jun 18 13:51:13 2012
> @@ -96,7 +96,7 @@
>         // a zero of the appropriate sign.  Mathematically there is no need to
>         // handle this case separately, but we make it a special case to
>         // simplify the shift logic.
> -        const int shift = 1 - productExponent;
> +        const unsigned int shift = 1U - (unsigned int)productExponent;
>         if (shift >= typeWidth) return fromRep(productSign);
> 
>         // Otherwise, shift the significand of the result so that the round
> 
> Modified: compiler-rt/trunk/lib/mulsf3.c
> URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/mulsf3.c?rev=158669&r1=158668&r2=158669&view=diff
> ==============================================================================
> --- compiler-rt/trunk/lib/mulsf3.c (original)
> +++ compiler-rt/trunk/lib/mulsf3.c Mon Jun 18 13:51:13 2012
> @@ -92,7 +92,7 @@
>     if (productExponent <= 0) {
>         // Result is denormal before rounding, the exponent is zero and we
>         // need to shift the significand.
> -        wideRightShiftWithSticky(&productHi, &productLo, 1 - productExponent);
> +        wideRightShiftWithSticky(&productHi, &productLo, 1U - (unsigned)productExponent);
>     }
> 
>     else {
> 
> 
> _______________________________________________
> 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