diff options
author | Aldy Hernandez <aldyh@redhat.com> | 2022-06-02 19:52:41 +0200 |
---|---|---|
committer | Aldy Hernandez <aldyh@redhat.com> | 2022-06-03 10:31:01 +0200 |
commit | 0fd3c7063db52b8f509a9572ff8078a0f91176da (patch) | |
tree | f9937a174a2a9768856cf73b4a4413a3eb60ce38 /gcc/gimple-range.cc | |
parent | f4fa81ba63299030d068327f3d90920de8c54d1c (diff) | |
download | gcc-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/gimple-range.cc')
-rw-r--r-- | gcc/gimple-range.cc | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/gcc/gimple-range.cc b/gcc/gimple-range.cc index 67dafb2..f3a4655 100644 --- a/gcc/gimple-range.cc +++ b/gcc/gimple-range.cc @@ -461,17 +461,20 @@ gimple_ranger::register_inferred_ranges (gimple *s) tree lhs = gimple_get_lhs (s); if (lhs) { - int_range_max tmp; + Value_Range tmp (TREE_TYPE (lhs)); if (range_of_stmt (tmp, s, lhs) && !tmp.varying_p () && update_global_range (tmp, lhs) && dump_file) { - value_range vr = tmp; + // ?? This section should be adjusted when non-iranges can + // be exported. For now, the only way update_global_range + // above can succeed is with an irange so this is safe. + value_range vr = as_a <irange> (tmp); fprintf (dump_file, "Global Exported: "); print_generic_expr (dump_file, lhs, TDF_SLIM); fprintf (dump_file, " = "); vr.dump (dump_file); int_range_max same = vr; - if (same != tmp) + if (same != as_a <irange> (tmp)) { fprintf (dump_file, " ... irange was : "); tmp.dump (dump_file); |