diff options
author | Duncan Sands <baldrick@free.fr> | 2011-01-18 09:24:58 +0000 |
---|---|---|
committer | Duncan Sands <baldrick@free.fr> | 2011-01-18 09:24:58 +0000 |
commit | 9b8e2bd8ef852dd43d1f2c9778e76d17eca5a61f (patch) | |
tree | 1fe81e43fa1029973d2d67f60eae39902e42ec10 /lldb/tools/debugserver/source/MacOSX/MachThread.cpp | |
parent | 065494626880e3fab0e867f9131aa0545eedc8ce (diff) | |
download | bcm5719-llvm-9b8e2bd8ef852dd43d1f2c9778e76d17eca5a61f.tar.gz bcm5719-llvm-9b8e2bd8ef852dd43d1f2c9778e76d17eca5a61f.zip |
Simplify (X<<1)-X into X. According to my auto-simplier this is the most common missed
simplification in fully optimized code. It occurs sporadically in the testsuite, and
many times in 403.gcc: the final bitcode has 131 fewer subtractions after this change.
The reason that the multiplies are not eliminated is the same reason that instcombine
did not catch this: they are used by other instructions (instcombine catches this with
a more general transform which in general is only profitable if the operands have only
one use).
llvm-svn: 123754
Diffstat (limited to 'lldb/tools/debugserver/source/MacOSX/MachThread.cpp')
0 files changed, 0 insertions, 0 deletions