Index: gimplify.c
===================================================================
--- gimplify.c (revision 179210)
+++ gimplify.c (working copy)
@@ -1329,8 +1329,17 @@ gimplify_vla_decl (tree decl, gimple_seq
   SET_DECL_VALUE_EXPR (decl, t);
   DECL_HAS_VALUE_EXPR_P (decl) = 1;

-  t = built_in_decls[BUILT_IN_ALLOCA];
-  t = build_call_expr (t, 1, DECL_SIZE_UNIT (decl));
+  if (flag_mudflap)
+    {
+      t = built_in_decls[BUILT_IN_ALLOCA];
+      t = build_call_expr (t, 1, DECL_SIZE_UNIT (decl));
+    }
+  else
+    {
+      t = built_in_decls[BUILT_IN_ALLOCA_WITH_ALIGN];
+      t = build_call_expr (t, 2, DECL_SIZE_UNIT (decl),
+			   build_int_cstu (size_type_node, DECL_ALIGN (decl)));
+    }
   /* The call has been built for a variable-sized object.  */
   CALL_ALLOCA_FOR_VAR_P (t) = 1;
   t = fold_convert (ptr_type, t);
