diff options
| author | Chris Lattner <sabre@nondot.org> | 2005-01-29 06:11:16 +0000 |
|---|---|---|
| committer | Chris Lattner <sabre@nondot.org> | 2005-01-29 06:11:16 +0000 |
| commit | 787aed675db2a54e562c19a0d00577047aa4aceb (patch) | |
| tree | 30117a106e207760c01560dd9b6efad0a4ca025f /llvm/lib/Debugger/SourceLanguage.cpp | |
| parent | b25abcb1fa2f1d0bf1bfb080b52b97ca421856a8 (diff) | |
| download | bcm5719-llvm-787aed675db2a54e562c19a0d00577047aa4aceb.tar.gz bcm5719-llvm-787aed675db2a54e562c19a0d00577047aa4aceb.zip | |
Eliminate generality that is not buying us anything. In particular, this
will cause us to miss cases where the input pointer to a load could be value
numbered to another load. Something like this:
%X = load int* %P1
%Y = load int* %P2
Those are obviously the same if P1/P2 are the same. The code this patch
removes attempts to handle that. However, since GCSE iterates, this doesn't
actually buy us anything: GCSE will first replace P1 or P2 with the other
one, then the load can be value numbered as equal.
Removing this code speeds up gcse a lot. On 176.gcc in debug mode, this
speeds up gcse from 29.08s -> 25.73s, a 13% savings.
llvm-svn: 19906
Diffstat (limited to 'llvm/lib/Debugger/SourceLanguage.cpp')
0 files changed, 0 insertions, 0 deletions

