[llvm-commits] [dragonegg] r125276 - /dragonegg/trunk/llvm-convert.cpp

Chris Lattner clattner at apple.com
Thu Feb 10 09:37:50 PST 2011


Thanks Duncan!

-Chris

On Feb 10, 2011, at 2:21 AM, Duncan Sands <baldrick at free.fr> wrote:

> Author: baldrick
> Date: Thu Feb 10 04:21:31 2011
> New Revision: 125276
> 
> URL: http://llvm.org/viewvc/llvm-project?rev=125276&view=rev
> Log:
> Fix the dragonegg build subsequent to changes Chris made to the target
> folder interface.
> 
> Modified:
>    dragonegg/trunk/llvm-convert.cpp
> 
> Modified: dragonegg/trunk/llvm-convert.cpp
> URL: http://llvm.org/viewvc/llvm-project/dragonegg/trunk/llvm-convert.cpp?rev=125276&r1=125275&r2=125276&view=diff
> ==============================================================================
> --- dragonegg/trunk/llvm-convert.cpp (original)
> +++ dragonegg/trunk/llvm-convert.cpp Thu Feb 10 04:21:31 2011
> @@ -126,6 +126,18 @@
>   return align ? align : 1;
> }
> 
> +/// hasNUW - Return whether overflowing unsigned operations on this type result
> +/// in undefined behaviour.
> +static bool hasNUW(tree type) {
> +  return TYPE_UNSIGNED(type) && !TYPE_OVERFLOW_WRAPS(type);
> +}
> +
> +/// hasNSW - Return whether overflowing signed operations on this type result
> +/// in undefined behaviour.
> +static bool hasNSW(tree type) {
> +  return !TYPE_UNSIGNED(type) && !TYPE_OVERFLOW_WRAPS(type);
> +}
> +
> /// getSSAPlaceholder - A fake value associated with an SSA name when the name
> /// is used before being defined (this can occur because basic blocks are not
> /// output in dominator order).  Replaced with the correct value when the SSA
> @@ -8849,9 +8861,9 @@
>   Constant *IndexVal = Convert(Index);
>   tree LowerBound = array_ref_low_bound(exp);
>   if (!integer_zerop(LowerBound))
> -    IndexVal = TYPE_UNSIGNED(TREE_TYPE(Index)) ?
> -      TheFolder->CreateSub(IndexVal, Convert(LowerBound)) :
> -      TheFolder->CreateNSWSub(IndexVal, Convert(LowerBound));
> +    IndexVal = TheFolder->CreateSub(IndexVal, Convert(LowerBound),
> +                                    /*HasNUW*/hasNUW(TREE_TYPE(Index)),
> +                                    /*HasNSW*/hasNSW(TREE_TYPE(Index)));
> 
>   const Type *IntPtrTy = getTargetData().getIntPtrType(Context);
>   IndexVal = TheFolder->CreateIntCast(IndexVal, IntPtrTy,
> 
> 
> _______________________________________________
> 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