* tree-pass.h (pass_implicit_zee): Declare.
* passes.c (init_optimization_passes): Add zee pass.
* common.opt (fzee): New flag.
* timevar.def (TV_ZEE): Define.
* config/i386/i386.c (optimization_options): Turn on ZEE for level 2
and beyond.
* Makefile.in (implicit-zee.o): Add new build file.
* gcc.target/i386/zee.c: New file.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159342
138bc75d-0d04-0410-961f-
82ee72b054a4
+2010-05-12 Sriraman Tallam <tmsriram@google.com>
+
+ * implicit-zee.c: New file.
+ * tree-pass.h (pass_implicit_zee): Declare.
+ * passes.c (init_optimization_passes): Add zee pass.
+ * common.opt (fzee): New flag.
+ * timevar.def (TV_ZEE): Define.
+ * config/i386/i386.c (optimization_options): Turn on ZEE for level 2
+ and beyond.
+ * Makefile.in (implicit-zee.o): Add new build file.
+
2010-05-12 Kazu Hirata <kazu@codesourcery.com>
Nathan Froyd <froydnj@codesourcery.com>
haifa-sched.o \
hooks.o \
ifcvt.o \
+ implicit-zee.o \
init-regs.o \
integrate.o \
intl.o \
web.o : web.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) \
hard-reg-set.h $(FLAGS_H) $(BASIC_BLOCK_H) $(FUNCTION_H) output.h $(TOPLEV_H) \
insn-config.h $(RECOG_H) $(DF_H) $(OBSTACK_H) $(TIMEVAR_H) $(TREE_PASS_H)
+implicit-zee.o : implicit-zee.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) \
+ hard-reg-set.h $(FLAGS_H) $(BASIC_BLOCK_H) $(FUNCTION_H) output.h \
+ $(DF_H) $(TIMEVAR_H) tree-pass.h $(RECOG_H) $(EXPR_H) \
+ $(REGS_H) $(TREE_H) $(TM_P_H) insn-config.h $(INSN_ATTR_H) $(REAL_H) $(TOPLEV_H) \
+ $(TARGET_H) $(OPTABS_H) insn-codes.h rtlhooks-def.h $(PARAMS_H) $(CGRAPH_H)
gcse.o : gcse.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) \
$(REGS_H) hard-reg-set.h $(FLAGS_H) $(REAL_H) insn-config.h $(GGC_H) \
$(RECOG_H) $(EXPR_H) $(BASIC_BLOCK_H) $(FUNCTION_H) output.h $(TOPLEV_H) \
flag_schedule_insns = 0;
#endif
+ /* For -O2 and beyond, turn on -fzee for x86_64 target. */
+ if (level > 1 && TARGET_64BIT)
+ flag_zee = 1;
+
if (TARGET_MACHO)
/* The Darwin libraries never set errno, so we might as well
avoid calling them when that's the only reason we would. */
#include "expr.h"
#include "insn-attr.h"
#include "recog.h"
+#include "real.h"
#include "toplev.h"
#include "target.h"
#include "timevar.h"
NEXT_PASS (pass_postreload_cse);
NEXT_PASS (pass_gcse2);
NEXT_PASS (pass_split_after_reload);
+ NEXT_PASS (pass_implicit_zee);
NEXT_PASS (pass_branch_target_load_optimize1);
NEXT_PASS (pass_thread_prologue_and_epilogue);
NEXT_PASS (pass_rtl_dse2);
+2010-05-12 Sriraman Tallam <tmsriram@google.com>
+
+ * gcc.target/i386/zee.c: New file.
+
2010-05-12 Jason Merrill <jason@redhat.com>
* g++.dg/conversion/op1.C: Expect template candidate message.
extern struct rtl_opt_pass pass_initialize_regs;
extern struct rtl_opt_pass pass_combine;
extern struct rtl_opt_pass pass_if_after_combine;
+extern struct rtl_opt_pass pass_implicit_zee;
extern struct rtl_opt_pass pass_partition_blocks;
extern struct rtl_opt_pass pass_match_asm_constraints;
extern struct rtl_opt_pass pass_regmove;