[PATCH][PR66010] Don't take address of ap unless necessary
Tom de Vries
Tom_deVries@mentor.com
Tue May 12 11:48:00 GMT 2015
On 12-05-15 12:04, Tom de Vries wrote:
> Committed with comments below added.
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
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See <http://gcc.gnu.org/bugs.html> for instructions.
...
Attached patch is a tentative fix. I'll bootstrap and reg-test on x86_64.
Thanks,
- Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: fix-s390-va-arg-ice.patch
Type: text/x-patch
Size: 2419 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20150512/208bbae6/attachment.bin>
More information about the Gcc-patches
mailing list