aboutsummaryrefslogtreecommitdiff
path: root/gcc/passes.c
diff options
context:
space:
mode:
authorAndreas Krebbel <Andreas.Krebbel@de.ibm.com>2009-06-14 14:45:32 +0000
committerAndreas Krebbel <krebbel@gcc.gnu.org>2009-06-14 14:45:32 +0000
commit03bd2f1af7c1f2343940f6ca5409048ba16a2e4c (patch)
treeb8f6f449a98ff4e7527b14909b70123620025068 /gcc/passes.c
parenta810f82f7bd1fb1c3f4fa1f332e736cb1ada36c4 (diff)
downloadgcc-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.c1
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);