Hmm, this causes an ice for s390 in gcc.dg/tree-ssa/stdarg-2.c:
...
gimplification failed:
&ap <addr_expr 0x7f132f54fb20
type <pointer_type 0x7f132f55f1f8
type <array_type 0x7f132f53fe70 va_list type <record_type
0x7f132f46b888 __va_list_tag>
sizes-gimplified BLK
size <integer_cst 0x7f132f4539f0 constant 128>
unit size <integer_cst 0x7f132f453a08 constant 16>
align 32 symtab 0 alias set -1 canonical type
0x7f132f46b9d8 domain <integer_type 0x7f132f46b930> context
<translation_unit_decl 0x7f1330fa8258 D.1477>
pointer_to_this <pointer_type 0x7f132f55f1f8>>
unsigned SI
size <integer_cst 0x7f132f453690 constant 32>
unit size <integer_cst 0x7f132f4536a8 constant 4>
align 32 symtab 0 alias set -1 canonical type 0x7f132f55f2a0>
arg 0 <var_decl 0x7f132f549630 ap type <array_type 0x7f132f53fe70
va_list>
addressable used BLK file stdarg-2.c line 32 col 11 size
<integer_cst 0x7f132f4539f0 128> unit size <integer_cst 0x7f132f453a08
16>
align 32 context <function_decl 0x7f132f5434d8 f2>>
stdarg-2.c:35:15>
stdarg-2.c: In function ‘f2’:
stdarg-2.c:35:15: internal compiler error: gimplification failed
res = f2_1 (ap);
^
0xad3d02 gimplify_expr(tree_node**, gimple_statement_base**,
gimple_statement_base**, bool (*)(tree_node*), int)
/home/vries/gcc_versions/devel/devel3/src/gcc/gimplify.c:8856
0xad5762 gimplify_va_arg_internal(tree_node*, tree_node*,
gimple_statement_base**, gimple_statement_base**)
/home/vries/gcc_versions/devel/devel3/src/gcc/gimplify.c:9326
0x10a3349 expand_ifn_va_arg_1
/home/vries/gcc_versions/devel/devel3/src/gcc/tree-stdarg.c:1062
0x10a3596 expand_ifn_va_arg
/home/vries/gcc_versions/devel/devel3/src/gcc/tree-stdarg.c:1122
0x10a36d3 execute
/home/vries/gcc_versions/devel/devel3/src/gcc/tree-stdarg.c:1174