diff options
author | Andreas Krebbel <Andreas.Krebbel@de.ibm.com> | 2009-06-14 14:45:32 +0000 |
---|---|---|
committer | Andreas Krebbel <krebbel@gcc.gnu.org> | 2009-06-14 14:45:32 +0000 |
commit | 03bd2f1af7c1f2343940f6ca5409048ba16a2e4c (patch) | |
tree | b8f6f449a98ff4e7527b14909b70123620025068 /gcc/passes.c | |
parent | a810f82f7bd1fb1c3f4fa1f332e736cb1ada36c4 (diff) | |
download | gcc-03bd2f1af7c1f2343940f6ca5409048ba16a2e4c.zip gcc-03bd2f1af7c1f2343940f6ca5409048ba16a2e4c.tar.gz gcc-03bd2f1af7c1f2343940f6ca5409048ba16a2e4c.tar.bz2 |
passes.c: Add bswap pass.
2009-06-14 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
* passes.c: Add bswap pass.
* tree-pass.h: Add pass_optimize_bswap declaration.
* tree-ssa-math-opts.c: Include diagnostics.h for print_gimple_stmt.
Include rtl.h, expr.h and optabs.h for optab_handler check.
(struct symbolic_number, pass_optimize_bswap): New definition.
(do_shift_rotate, verify_symbolic_number_p): New functions.
(find_bswap_1, find_bswap, execute_optimize_bswap): New functions.
(gate_optimize_bswap): New function.
* tree.c (widest_int_cst_value): New function.
* tree.h (widest_int_cst_value): Prototype added.
2009-06-14 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
* gcc.dg/optimize-bswap-1.c: New testcase.
From-SVN: r148471
Diffstat (limited to 'gcc/passes.c')
-rw-r--r-- | gcc/passes.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/gcc/passes.c b/gcc/passes.c index adf0ed0..6870973 100644 --- a/gcc/passes.c +++ b/gcc/passes.c @@ -638,6 +638,7 @@ init_optimization_passes (void) NEXT_PASS (pass_copy_prop); NEXT_PASS (pass_fold_builtins); NEXT_PASS (pass_cse_sincos); + NEXT_PASS (pass_optimize_bswap); NEXT_PASS (pass_split_crit_edges); NEXT_PASS (pass_pre); NEXT_PASS (pass_sink_code); |