[llvm-commits] [llvm] r60042 - in /llvm/trunk: lib/Support/APFloat.cpp test/Transforms/IndVarsSimplify/2008-11-25-APFloatAssert.ll

Chris Lattner clattner at apple.com
Tue Nov 25 11:14:49 PST 2008


On Nov 25, 2008, at 11:00 AM, Evan Cheng wrote:

> Author: evancheng
> Date: Tue Nov 25 13:00:29 2008
> New Revision: 60042
>
> URL: http://llvm.org/viewvc/llvm-project?rev=60042&view=rev
> Log:
> convertToSignExtendedInteger should return opInvalidOp instead of  
> asserting if sematics of float does not allow arithmetics.

Are you sure?  This behavior was consistent with all the other  
methods.  Usually the client has to check to see if it is hacking on  
ppc long double and not do the optimization in question.

-Chris

>
>
> Added:
>    llvm/trunk/test/Transforms/IndVarsSimplify/2008-11-25- 
> APFloatAssert.ll
> Modified:
>    llvm/trunk/lib/Support/APFloat.cpp
>
> Modified: llvm/trunk/lib/Support/APFloat.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Support/APFloat.cpp?rev=60042&r1=60041&r2=60042&view=diff
>
> = 
> = 
> = 
> = 
> = 
> = 
> = 
> = 
> ======================================================================
> --- llvm/trunk/lib/Support/APFloat.cpp (original)
> +++ llvm/trunk/lib/Support/APFloat.cpp Tue Nov 25 13:00:29 2008
> @@ -117,6 +117,11 @@
>            && "Compile-time arithmetic does not support these  
> semantics");
>   }
>
> +  static inline bool
> +  isArithmeticOk(const llvm::fltSemantics &semantics) {
> +    return semantics.arithmeticOK;
> +  }
> +
>   /* Return the value of a decimal exponent of the form
>      [+-]ddddddd.
>
> @@ -1787,7 +1792,8 @@
>   const integerPart *src;
>   unsigned int dstPartsCount, truncatedBits;
>
> -  assertArithmeticOK(*semantics);
> +  if (!isArithmeticOk(*semantics))
> +    return opInvalidOp;
>
>   *isExact = false;
>
>
> Added: llvm/trunk/test/Transforms/IndVarsSimplify/2008-11-25- 
> APFloatAssert.ll
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Transforms/IndVarsSimplify/2008-11-25-APFloatAssert.ll?rev=60042&view=auto
>
> = 
> = 
> = 
> = 
> = 
> = 
> = 
> = 
> ======================================================================
> --- llvm/trunk/test/Transforms/IndVarsSimplify/2008-11-25- 
> APFloatAssert.ll (added)
> +++ llvm/trunk/test/Transforms/IndVarsSimplify/2008-11-25- 
> APFloatAssert.ll Tue Nov 25 13:00:29 2008
> @@ -0,0 +1,11 @@
> +; RUN: llvm-as < %s | opt -indvars
> +
> +define void @t() nounwind {
> +entry:
> +	br label %bb23.i91
> +
> +bb23.i91:		; preds = %bb23.i91, %entry
> +	%result.0.i89 = phi ppc_fp128  
> [ 0xM00000000000000000000000000000000, %entry ], [ %0,  
> %bb23.i91 ]		; <ppc_fp128> [#uses=2]
> +	%0 = mul ppc_fp128 %result.0.i89, %result.0.i89		; <ppc_fp128>  
> [#uses=1]
> +	br label %bb23.i91
> +}
>
>
> _______________________________________________
> 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