+2015-12-24  Aditya Kumar  <aditya.k7@samsung.com>
+
+       * graphite-sese-to-poly.c (build_loop_iteration_domains): Use ref instead of value.
+       * sese.c (invariant_in_sese_p_rec): Use const ref instead of value.
+       (scalar_evolution_in_region): Same
+       * sese.h (bb_in_region): Same
+       (bb_in_sese_p): Same.
+       (stmt_in_sese_p): Same.
+       (defined_in_sese_p): Same.
+       (loop_in_sese_p): Same.
+
 2015-12-24  Aditya Kumar  <aditya.k7@samsung.com>
 
        * graphite-scop-detection.c
 
    when T depends on memory that may change in REGION.  */
 
 bool
-invariant_in_sese_p_rec (tree t, sese_l ®ion, bool *has_vdefs)
+invariant_in_sese_p_rec (tree t, const sese_l ®ion, bool *has_vdefs)
 {
   if (!defined_in_sese_p (t, region))
     return true;
    is not defined in the REGION is considered a parameter.  */
 
 tree
-scalar_evolution_in_region (sese_l ®ion, loop_p loop, tree t)
+scalar_evolution_in_region (const sese_l ®ion, loop_p loop, tree t)
 {
   gimple *def;
   struct loop *def_loop;
 
 extern void sese_insert_phis_for_liveouts (sese_info_p, basic_block, edge, edge);
 extern void build_sese_loop_nests (sese_info_p);
 extern struct loop *outermost_loop_in_sese (sese_l &, basic_block);
-extern tree scalar_evolution_in_region (sese_l &, loop_p, tree);
+extern tree scalar_evolution_in_region (const sese_l &, loop_p, tree);
 extern bool scev_analyzable_p (tree, sese_l &);
-extern bool invariant_in_sese_p_rec (tree, sese_l &, bool *);
+extern bool invariant_in_sese_p_rec (tree, const sese_l &, bool *);
 
 /* Check that SESE contains LOOP.  */
 
    EXIT blocks.  */
 
 static inline bool
-bb_in_region (basic_block bb, basic_block entry, basic_block exit)
+bb_in_region (const_basic_block bb, const_basic_block entry, const_basic_block exit)
 {
   /* FIXME: PR67842.  */
 #if 0
    EXIT blocks.  */
 
 static inline bool
-bb_in_sese_p (basic_block bb, sese_l &r)
+bb_in_sese_p (basic_block bb, const sese_l &r)
 {
   return bb_in_region (bb, r.entry->dest, r.exit->dest);
 }
 /* Returns true when STMT is defined in REGION.  */
 
 static inline bool
-stmt_in_sese_p (gimple *stmt, sese_l &r)
+stmt_in_sese_p (gimple *stmt, const sese_l &r)
 {
   basic_block bb = gimple_bb (stmt);
   return bb && bb_in_sese_p (bb, r);
 /* Returns true when NAME is defined in REGION.  */
 
 static inline bool
-defined_in_sese_p (tree name, sese_l &r)
+defined_in_sese_p (tree name, const sese_l &r)
 {
   return stmt_in_sese_p (SSA_NAME_DEF_STMT (name), r);
 }
 /* Returns true when LOOP is in REGION.  */
 
 static inline bool
-loop_in_sese_p (struct loop *loop, sese_l ®ion)
+loop_in_sese_p (struct loop *loop, const sese_l ®ion)
 {
   return (bb_in_sese_p (loop->header, region)
          && bb_in_sese_p (loop->latch, region));