aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorAndrew MacLeod <amacleod@redhat.com>2022-09-22 17:27:36 -0400
committerAndrew MacLeod <amacleod@redhat.com>2022-09-29 18:34:18 -0400
commitcfa7434c4b09e439ae8b904ad116adf6d3033f8c (patch)
tree6d93466c3ab0f8c76400d59a1b42371873b891fb /gcc
parentef9bc3626ceacf9a81c1e6178a5b0eb83ca2e559 (diff)
downloadgcc-cfa7434c4b09e439ae8b904ad116adf6d3033f8c.zip
gcc-cfa7434c4b09e439ae8b904ad116adf6d3033f8c.tar.gz
gcc-cfa7434c4b09e439ae8b904ad116adf6d3033f8c.tar.bz2
Move class value_relation the header file.
* value-relation.cc (class value_relation): Move to .h file. (value_relation::set_relation): Ditto. (value_relation::value_relation): ditto. * value-relation.h (class value_relation): Move from .cc file. (value_relation::set_relation): Ditto (value_relation::value_relation): Ditto.
Diffstat (limited to 'gcc')
-rw-r--r--gcc/value-relation.cc55
-rw-r--r--gcc/value-relation.h57
2 files changed, 57 insertions, 55 deletions
diff --git a/gcc/value-relation.cc b/gcc/value-relation.cc
index 7fc22d3..e6f5ef4 100644
--- a/gcc/value-relation.cc
+++ b/gcc/value-relation.cc
@@ -635,61 +635,6 @@ equiv_oracle::dump (FILE *f) const
// --------------------------------------------------------------------------
-
-// The value-relation class is used to encapsulate the represention of an
-// individual relation between 2 ssa-names, and to facilitate operating on
-// the relation.
-
-class value_relation
-{
-public:
- value_relation ();
- value_relation (relation_kind kind, tree n1, tree n2);
- void set_relation (relation_kind kind, tree n1, tree n2);
-
- inline relation_kind kind () const { return related; }
- inline tree op1 () const { return name1; }
- inline tree op2 () const { return name2; }
-
- bool union_ (value_relation &p);
- bool intersect (value_relation &p);
- void negate ();
- bool apply_transitive (const value_relation &rel);
-
- void dump (FILE *f) const;
-private:
- relation_kind related;
- tree name1, name2;
-};
-
-// Set relation R between ssa_name N1 and N2.
-
-inline void
-value_relation::set_relation (relation_kind r, tree n1, tree n2)
-{
- related = r;
- name1 = n1;
- name2 = n2;
-}
-
-// Default constructor.
-
-inline
-value_relation::value_relation ()
-{
- related = VREL_VARYING;
- name1 = NULL_TREE;
- name2 = NULL_TREE;
-}
-
-// Constructor for relation R between SSA version N1 nd N2.
-
-inline
-value_relation::value_relation (relation_kind kind, tree n1, tree n2)
-{
- set_relation (kind, n1, n2);
-}
-
// Negate the current relation.
void
diff --git a/gcc/value-relation.h b/gcc/value-relation.h
index 64884a8..f3b18ac 100644
--- a/gcc/value-relation.h
+++ b/gcc/value-relation.h
@@ -256,4 +256,61 @@ private:
bitmap_obstack m_bitmaps;
struct obstack m_chain_obstack;
};
+
+// The value-relation class is used to encapsulate the represention of an
+// individual relation between 2 ssa-names, and to facilitate operating on
+// the relation.
+
+class value_relation
+{
+public:
+ value_relation ();
+ value_relation (relation_kind kind, tree n1, tree n2);
+ void set_relation (relation_kind kind, tree n1, tree n2);
+
+ inline relation_kind kind () const { return related; }
+ inline tree op1 () const { return name1; }
+ inline tree op2 () const { return name2; }
+
+ bool union_ (value_relation &p);
+ bool intersect (value_relation &p);
+ void negate ();
+ bool apply_transitive (const value_relation &rel);
+
+ void dump (FILE *f) const;
+private:
+ relation_kind related;
+ tree name1, name2;
+};
+
+// Set relation R between ssa_name N1 and N2.
+
+inline void
+value_relation::set_relation (relation_kind r, tree n1, tree n2)
+{
+ gcc_checking_assert (TREE_CODE (n1) == SSA_NAME
+ && TREE_CODE (n2) == SSA_NAME);
+ related = r;
+ name1 = n1;
+ name2 = n2;
+}
+
+// Default constructor.
+
+inline
+value_relation::value_relation ()
+{
+ related = VREL_VARYING;
+ name1 = NULL_TREE;
+ name2 = NULL_TREE;
+}
+
+// Constructor for relation R between SSA version N1 nd N2.
+
+inline
+value_relation::value_relation (relation_kind kind, tree n1, tree n2)
+{
+ set_relation (kind, n1, n2);
+}
+
#endif /* GCC_VALUE_RELATION_H */