diff options
author | Tobias Grosser <tobias@grosser.es> | 2017-03-10 14:55:58 +0000 |
---|---|---|
committer | Tobias Grosser <tobias@grosser.es> | 2017-03-10 14:55:58 +0000 |
commit | 51ebda8c9d74dcd309b80dbbf1800034b17f9a3f (patch) | |
tree | 08a03d46ed38075631f3de498bfe56787d5b183e /clang/test/SemaCXX/cxx0x-initializer-aggregates.cpp | |
parent | 4c24e57965e3a3d2bfbea17614c9ee9495836cc1 (diff) | |
download | bcm5719-llvm-51ebda8c9d74dcd309b80dbbf1800034b17f9a3f.tar.gz bcm5719-llvm-51ebda8c9d74dcd309b80dbbf1800034b17f9a3f.zip |
[FlattenAlgo] Translate to C++ bindings
Translate the full algorithm to use the new isl C++ bindings
This is a large piece of code that has been written with the Polly IslPtr<>
memory management tool, which only performed memory management, but did not
provide a method interface. As such the code was littered with calls to
give(), copy(), keep(), and take(). The diff of this change should give a
good example how the new method interface simplifies the code by removing the
need for switching between managed types and C functions all the time
and consequently also the need to use the long C function names.
These are a couple of examples comparing the old IslPtr memory management
interface with the complete method interface.
Check properties
----------------
Before:
if (isl_aff_is_zero(Aff.get()) || isl_aff_is_one(Aff.get()))
return true;
After:
if (Aff.is_zero() || Aff.is_one())
return true;
Type conversion
---------------
Before:
isl_union_pw_multi_aff *UPMA =
give(isl_union_pw_multi_aff_from_union_map(UMap.copy());
After:
isl::union_pw_multi_aff UPMA = UMap;
Type construction
-----------------
Before:
auto Empty = give(isl_union_map_empty(Space.copy());
After:
auto Empty = isl::union_map::empty(Space);
Operations
----------
Before:
Set = give(isl_union_set_intersect(Set.copy(), Set2.copy());
After:
Set = Set.intersect(Set2);
Tags: #polly
Reviewed By: Meinersbur
Differential Revision: https://reviews.llvm.org/D30617
llvm-svn: 297463
Diffstat (limited to 'clang/test/SemaCXX/cxx0x-initializer-aggregates.cpp')
0 files changed, 0 insertions, 0 deletions