Omega 1.2

Omega has two major components. One component is the Omega test, a system for manipulating sets of affine constraints over integer variables. When we started work on the Omega test for dependence testing, it was designed as a decision test for the existence of integer solutions to affine constraints. We found that by having the Omega test return symbolic answers, rather than yes/no answers, we could perform standard data dependence analysis quicker. As we have explored more difficult issues in analysis and transformation of scientific programs, we have extended the Omega test to the point where it is a complete system for simplifying and verifying Presburger formulas (Presburger formulas contain affine constraints, the usual logical connectives, and existential and universal quantifiers). Of course, the Omega test cannot simplify all Presburger formulas efficiently (there is a 2^(2^n) nondeterministic lower bound and a 2^(2^(2^n)) deterministic upper bound on the time required to verify Presburger formulas). However, in practice the Omega test is reasonably efficient for the tasks for which we currently use it.

SRPMS

omega-1.2-4.src.rpm

Patch Descriptions

omega-1.2-build.patch
use Fedora Core paths. Build shared libraries instead of static libraries.
omega-1.2-iso-c++.patch
Update to ISO C++. This makes it possible to build with recent versions of g++.
omega-1.2-64bit.patch
Make the code 64-bit clean.
omega-1.2-uninit.patch
Quiet compiler warnings about uninitialized variables.
omega-1.2-destruct.patch
Quiet compiler warnings about classes with virtual functions and non-virtual destructors.
omega-1.2-assert.patch
Change the assert macro so the compiler doesn't emit warnings every single time it is used.
omega-1.2-lexerparser.patch
Several fixes related to using a newer flex/bison than the omega developers.
omega-1.2-xk_latin1.patch
The X11 header files define XK_LATIN1, so don't define it in the code also.
omega-1.2-symbol.patch
Move symbols around so we don't produce libraries containing unresolved symbols.
omega-1.2-demo.patch
Patch the demo scripts so they'll actually run.
omega-1.2-gcc43.patch
Fix a boatload of warnings from GCC 4.3. This patch does not eliminate all of the new warnings. Some of them are due to the lesstif headers, which use char * in a number of places where const char * should be used.

TODO

Back to the RPMS


Last modified: Mon Jun 9 15:00:55 MDT 2008 by Jerry James