As mentioned elsewhere this is a set of patches to remove the fold_builtins
pass. I decided to do a full submitting of the patch set even though some of
these have been submitted seperately.
This whole set has been bootstrapped at each patch and for the full set.
There are still some future improvements that can/should be done. One is
setting PROP_last_full_fold at the begining of the -Og specific pipeline.
The other is simplification of va_arg builtins after inlining if stdargs pass
does not need to run.
Andrew Pinski (11):
fab/forwprop: Move memcmp->memcmp_eq to forwprop
fab: Manaully build gimple rather than depend on gimplifier for stdarg
functions
fab: rewrite optimize_stack_restore call check [PR122033]
gimple-fold/fab: Move ASSUME_ALIGNED handling to gimple-fold
[PR121762]
fab/gimple-fold: Move removal of ASSUME internal function to gimple
fold [PR121762]
fab/forwprop: Move optimize stack restore to forwprop [PR121762]
fab/forwprop: Move optimize_unreachable to forwprop [PR121762]
fab/gimple-fold/forwprop: Move va_args folding to gimple_fold
[PR121762]
fab: Use a macro for the atomic/sync builtins case
fab/isel: Move atomic optimizations to isel from fab [PR121762]
Remove fold_builtin pass [PR121762]
gcc/doc/passes.texi | 6 -
gcc/gimple-fold.cc | 152 ++
gcc/gimple-isel.cc | 956 +++++++++++
gcc/passes.def | 8 +-
gcc/testsuite/c-c++-common/ubsan/align-5.c | 7 +-
gcc/testsuite/c-c++-common/ubsan/align-5a.c | 18 +
gcc/testsuite/gcc.dg/builtin-unreachable-5.c | 10 +-
gcc/testsuite/gcc.dg/builtin-unreachable-6.c | 6 +-
gcc/testsuite/gcc.dg/builtin-unreachable-6a.c | 6 +-
gcc/testsuite/gcc.dg/builtin-unreachable-7.c | 8 +-
gcc/testsuite/gcc.dg/pr78408-2.c | 4 +-
.../gcc.dg/tree-ssa/builtin-fprintf-1.c | 20 +-
.../gcc.dg/tree-ssa/builtin-fprintf-chk-1.c | 20 +-
.../gcc.dg/tree-ssa/builtin-printf-1.c | 22 +-
.../gcc.dg/tree-ssa/builtin-printf-chk-1.c | 22 +-
.../gcc.dg/tree-ssa/builtin-vfprintf-1.c | 16 +-
.../gcc.dg/tree-ssa/builtin-vfprintf-chk-1.c | 16 +-
.../gcc.dg/tree-ssa/builtin-vprintf-1.c | 16 +-
.../gcc.dg/tree-ssa/builtin-vprintf-chk-1.c | 16 +-
gcc/testsuite/gcc.dg/tree-ssa/pr122033-1.c | 18 +
gcc/testsuite/gcc.dg/tree-ssa/pr122033-2.c | 23 +
gcc/testsuite/gcc.dg/tree-ssa/pr79691.c | 2 +-
gcc/testsuite/gcc.dg/tree-ssa/ssa-ccp-10.c | 4 +-
gcc/tree-pass.h | 1 -
gcc/tree-ssa-ccp.cc | 1447 -----------------
gcc/tree-ssa-forwprop.cc | 186 ++-
gcc/tree.h | 9 +
27 files changed, 1460 insertions(+), 1559 deletions(-)
create mode 100644 gcc/testsuite/c-c++-common/ubsan/align-5a.c
create mode 100644 gcc/testsuite/gcc.dg/tree-ssa/pr122033-1.c
create mode 100644 gcc/testsuite/gcc.dg/tree-ssa/pr122033-2.c
--
2.43.0