diff options
author | Richard Biener <rguenther@suse.de> | 2014-04-28 14:36:13 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2014-04-28 14:36:13 +0000 |
commit | 22869a37b0d0bb3107a6a55d95a08dd243bc50fc (patch) | |
tree | 51d32838b9998a12218d4e27734aff397aed9cb6 /gcc/tree-ssa-alias.c | |
parent | 771c950116f7b08a45eecb6334954cfe8891a587 (diff) | |
download | gcc-22869a37b0d0bb3107a6a55d95a08dd243bc50fc.zip gcc-22869a37b0d0bb3107a6a55d95a08dd243bc50fc.tar.gz gcc-22869a37b0d0bb3107a6a55d95a08dd243bc50fc.tar.bz2 |
re PR middle-end/60092 (posix_memalign not recognized to derive alias and alignment info)
2014-04-28 Richard Biener <rguenther@suse.de>
PR middle-end/60092
* builtins.def (DEF_C11_BUILTIN): Add.
(BUILT_IN_ALIGNED_ALLOC): Likewise.
* coretypes.h (enum function_class): Add function_c11_misc.
* tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Handle
BUILT_IN_ALIGNED_ALLOC like BUILT_IN_MALLOC.
(call_may_clobber_ref_p_1): Likewise.
* tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Likewise.
(mark_all_reaching_defs_necessary_1): Likewise.
(propagate_necessity): Likewise.
(eliminate_unnecessary_stmts): Likewise.
* tree-ssa-ccp.c (evaluate_stmt): Handle BUILT_IN_ALIGNED_ALLOC.
ada/
* gcc-interface/utils.c: Define flag_isoc11.
lto/
* lto-lang.c: Define flag_isoc11.
* gcc.dg/tree-ssa/alias-32.c: New testcase.
* gcc.dg/vect/pr60092.c: Likewise.
From-SVN: r209863
Diffstat (limited to 'gcc/tree-ssa-alias.c')
-rw-r--r-- | gcc/tree-ssa-alias.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/gcc/tree-ssa-alias.c b/gcc/tree-ssa-alias.c index 2c57a17..cd2c110 100644 --- a/gcc/tree-ssa-alias.c +++ b/gcc/tree-ssa-alias.c @@ -1646,6 +1646,7 @@ ref_maybe_used_by_call_p_1 (gimple call, ao_ref *ref) case BUILT_IN_FREE: case BUILT_IN_MALLOC: case BUILT_IN_POSIX_MEMALIGN: + case BUILT_IN_ALIGNED_ALLOC: case BUILT_IN_CALLOC: case BUILT_IN_ALLOCA: case BUILT_IN_ALLOCA_WITH_ALIGN: @@ -1956,6 +1957,7 @@ call_may_clobber_ref_p_1 (gimple call, ao_ref *ref) /* Allocating memory does not have any side-effects apart from being the definition point for the pointer. */ case BUILT_IN_MALLOC: + case BUILT_IN_ALIGNED_ALLOC: case BUILT_IN_CALLOC: case BUILT_IN_STRDUP: case BUILT_IN_STRNDUP: |