aboutsummaryrefslogtreecommitdiff
path: root/gcc/value-range.h
diff options
context:
space:
mode:
authorAldy Hernandez <aldyh@redhat.com>2022-06-02 19:52:41 +0200
committerAldy Hernandez <aldyh@redhat.com>2022-06-03 10:31:01 +0200
commit0fd3c7063db52b8f509a9572ff8078a0f91176da (patch)
treef9937a174a2a9768856cf73b4a4413a3eb60ce38 /gcc/value-range.h
parentf4fa81ba63299030d068327f3d90920de8c54d1c (diff)
downloadgcc-0fd3c7063db52b8f509a9572ff8078a0f91176da.zip
gcc-0fd3c7063db52b8f509a9572ff8078a0f91176da.tar.gz
gcc-0fd3c7063db52b8f509a9572ff8078a0f91176da.tar.bz2
Misc range temporary fixes.
This fixes a couples places that were using int_range_max, but needed a generic temporary. Found while merging the frange work. Also, copying between range temporaries is actually useful :). Tested on x86-64 Linux. gcc/ChangeLog: * gimple-range-cache.cc (ranger_cache::range_from_dom): Use Value_Range. * gimple-range.cc (gimple_ranger::register_inferred_ranges): Same. * value-range.h (Value_Range::Value_Range): Implement copy constructor for Value_Range.
Diffstat (limited to 'gcc/value-range.h')
-rw-r--r--gcc/value-range.h8
1 files changed, 7 insertions, 1 deletions
diff --git a/gcc/value-range.h b/gcc/value-range.h
index 26e41ed..dc6f6b0 100644
--- a/gcc/value-range.h
+++ b/gcc/value-range.h
@@ -314,6 +314,7 @@ public:
Value_Range ();
Value_Range (const vrange &r);
Value_Range (tree type);
+ Value_Range (const Value_Range &);
void set_type (tree type);
vrange& operator= (const vrange &);
bool operator== (const Value_Range &r) const;
@@ -344,7 +345,6 @@ private:
unsupported_range m_unsupported;
vrange *m_vrange;
int_range_max m_irange;
- DISABLE_COPY_AND_ASSIGN (Value_Range);
};
inline
@@ -370,6 +370,12 @@ Value_Range::Value_Range (tree type)
init (type);
}
+inline
+Value_Range::Value_Range (const Value_Range &r)
+{
+ m_vrange = r.m_vrange;
+}
+
// Initialize object so it is possible to store temporaries of TYPE
// into it.