Closed karelklic closed 11 years ago
Currently, ArrayInterface methods were moved to Domain, so they can be reworked one after another.
extractelement and insertelement are implemented and used
extractvalue implemented and used
insertvalue implemented and used
The last Domain::getItem method remains used in Pointer dereference. Reduced product requires implementation of the new array instructions.
Reduced product now implements the new array instructions.
Domain::load is now used in pointers to load elements.
Similar function is required for storing of elements and then we can get rid of Domain::getItem and have a reduced product of arrays.
To enable the analysis of strings, we need to support the reduced product of array abstractions to be used in operations. Currently, this is not supported.
ArrayInterface is no longer useful when we have the reduced product. Reduced product and ArrayUtils should replace a part of its functionality.
We should add new instructions to Domains, replacing the array interface:
http://llvm.org/docs/LangRef.html#vectorops