[gcc/]
authorromangareev <romangareev@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 14 Aug 2014 14:53:59 +0000 (14:53 +0000)
committerromangareev <romangareev@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 14 Aug 2014 14:53:59 +0000 (14:53 +0000)
* graphite-scop-detection.c:
Add inclusion of cp-tree.h.
(graphite_can_represent_scev): Disables the handling of SSA_NAME nodes
in case they are pointers to object types

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213969 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/graphite-scop-detection.c

index 4d5841c..0761150 100644 (file)
@@ -1,3 +1,10 @@
+2014-08-14  Roman Gareev  <gareevroman@gmail.com>
+
+       * graphite-scop-detection.c:
+       Add inclusion of cp-tree.h.
+       (graphite_can_represent_scev): Disables the handling of SSA_NAME nodes
+       in case they are pointers to object types
+
 2014-08-14  Richard Biener  <rguenther@suse.de>
 
        * BASE-VER: Change to 5.0.0
index 5d1c96e..4158368 100644 (file)
@@ -54,6 +54,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "tree-pass.h"
 #include "sese.h"
 #include "tree-ssa-propagate.h"
+#include "cp/cp-tree.h"
 
 #ifdef HAVE_cloog
 #include "graphite-poly.h"
@@ -217,6 +218,14 @@ graphite_can_represent_scev (tree scev)
   if (chrec_contains_undetermined (scev))
     return false;
 
+  /* We disable the handling of pointer types, because it’s currently not
+     supported by Graphite with the ISL AST generator. SSA_NAME nodes are
+     the only nodes, which are disabled in case they are pointers to object
+     types, but this can be changed.  */
+
+  if (TYPE_PTROB_P (TREE_TYPE (scev)) && TREE_CODE (scev) == SSA_NAME)
+    return false;
+
   switch (TREE_CODE (scev))
     {
     case NEGATE_EXPR: