Index: llvm-convert.cpp =================================================================== --- llvm-convert.cpp (revision 122670) +++ llvm-convert.cpp (working copy) @@ -74,7 +74,7 @@ /// "gimple_formal_tmp_var". static bool isGCC_SSA_Temporary(tree decl) { return TREE_CODE(decl) == VAR_DECL && - DECL_GIMPLE_FORMAL_TEMP_P(decl) && + DECL_GIMPLE_FORMAL_TEMP_P(decl) && !TREE_ADDRESSABLE(decl) && !isAggregateType(TREE_TYPE(decl)); } Index: convert.c =================================================================== --- convert.c (revision 122671) +++ convert.c (working copy) @@ -750,7 +750,8 @@ return convert (type, build_compound_literal_vector (TREE_TYPE (expr), expr)); /* APPLE LOCAL end AltiVec */ - return build1 (NOP_EXPR, type, expr); + /* APPLE LOCAL mainline 4253848 */ + return build1 (VIEW_CONVERT_EXPR, type, expr); default: error ("can't convert value to a vector");