This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [autovect] [patch] tree-ifcvt enhancements


Victor Kaplansky wrote:
Implementation of some enhancements to tree-ifcvt

Cool!
(sink_store): New.
Is it possible to reuse pass_sink_code ?

(store_motion): New.
/* Main entry point.
Apply if-conversion to the LOOP. Return true if successful otherwise return
false. If false is returned then loop remains unchanged.
@@ -145,9 +391,26 @@ tree_if_conversion (struct loop *loop, b
block_stmt_iterator itr;
tree cond;
unsigned int i;
+ extern void dump_tree_ssa (FILE *);


ifc_bbs = NULL;

+ if (!store_movable_loop_p (loop))
+ {
+ if (dump_file && (dump_flags & TDF_DETAILS))
+ fprintf (dump_file,"SM: store motion cannot be applied\n");
+ if (ifc_bbs)
+ {
+ free (ifc_bbs);
+ ifc_bbs = NULL;
+ }
+ free_dominance_info (CDI_POST_DOMINATORS);
+ return false;

Does this mean, if store is not movable then do not do if-conversion at all ?
+     TODO: check if speculative loadin is indeed allowed. */
+  if (flag_tree_vectorize == 0)
If flag_tree_vectorize is 0 then tree-if-conversion pass is not executed. In that situation how can we reach this point with flag_tree_vectorize = 0 ?

-
Devang



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]