diff options
| author | Chris Lattner <sabre@nondot.org> | 2002-09-08 18:45:18 +0000 |
|---|---|---|
| committer | Chris Lattner <sabre@nondot.org> | 2002-09-08 18:45:18 +0000 |
| commit | 30214c23aab06284716de08f7f983f5185d7c3dc (patch) | |
| tree | 303ab846ce6d0ecb8d0e5f2eca6e221f3d55bc70 /llvm/support/lib/Support | |
| parent | 3ea7da13bb9d613892cf1401604e42d49481221c (diff) | |
| download | bcm5719-llvm-30214c23aab06284716de08f7f983f5185d7c3dc.tar.gz bcm5719-llvm-30214c23aab06284716de08f7f983f5185d7c3dc.zip | |
* Add capability to recognize alias properties of the following common cases:
- A[c1] cannot alias A[c2] where constants c1 != c2
- A[i] cannot alias B[j] if A & B are provably different arrays
This should help out array based codes. For example, from bzip2 from spec,
3 additional loads can be GCSE'd, and _21_ additional loads can be LICMd due
to this change.
In a test example from the Spec GAP benchmark (vecffe.c), this change allows
_52_ additional loads to be GCSE'd and _224_ additional LICM'd loads.
Not bad for such a simple change. Other testcases show no change at all
because they just don't use arrays. Not too suprising there.
llvm-svn: 3616
Diffstat (limited to 'llvm/support/lib/Support')
0 files changed, 0 insertions, 0 deletions

