[llvm-commits] Fix regression on vector code

Chris Lattner clattner at apple.com
Sat Jan 20 17:51:17 PST 2007


On Jan 20, 2007, at 4:57 PM, Chris Lattner wrote:

> This fixes test/CFrontend/2007-01-20-VectorICE.c
>
> This is a short-term fix that reverts a recent part of the merge  
> from apple gcc head.  I will track down the real problem shortly.
>
> Patch here:
>
> ===================================================================
> --- convert.c   (revision 122668)
> +++ convert.c   (working copy)
> @@ -750,8 +750,7 @@
>           return convert (type, build_compound_literal_vector  
> (TREE_TYPE (expr), expr));
>        /* APPLE LOCAL end AltiVec */
> -      /* APPLE LOCAL mainline 4253848 */
> -      return build1 (VIEW_CONVERT_EXPR, type, expr);
> +      return build1 (NOP_EXPR, type, expr);
>      default:
>        error ("can't convert value to a vector");
>

Okay, here's the real fix.  Apparently DECL_GIMPLE_FORMAL_TEMP_P's  
are allowed to have their address taken.  When this happens,  
TREE_ADDRESSABLE is set, but DECL_GIMPLE_FORMAL_TEMP_P isn't  
cleared.  As such, only consider DECL_GIMPLE_FORMAL_TEMP_P's that  
don't have TREE_ADDRESSABLE to be SSA values.

-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: patch.txt
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20070120/13a11ef9/attachment.txt>
-------------- next part --------------

-Chris


More information about the llvm-commits mailing list