diff options
author | Duncan Sands <baldrick@free.fr> | 2010-12-21 08:49:00 +0000 |
---|---|---|
committer | Duncan Sands <baldrick@free.fr> | 2010-12-21 08:49:00 +0000 |
commit | 6c7a52cf806b7e9fede7ca5397a74b20306dc43a (patch) | |
tree | 39ecac2bcafe217598dede38e3a80a36c005cd43 /llvm/lib/Transforms/Utils/SimplifyInstructions.cpp | |
parent | ec9518be89c938b0ec2db2f5b9c83ce9605d3026 (diff) | |
download | llvm-6c7a52cf806b7e9fede7ca5397a74b20306dc43a.zip llvm-6c7a52cf806b7e9fede7ca5397a74b20306dc43a.tar.gz llvm-6c7a52cf806b7e9fede7ca5397a74b20306dc43a.tar.bz2 |
Add generic simplification of associative operations, generalizing
a couple of existing transforms. This fires surprisingly often, for
example when compiling gcc "(X+(-1))+1->X" fires quite a lot as well
as various "and" simplifications (usually with a phi node operand).
Most of the time this doesn't make a real difference since the same
thing would have been done elsewhere anyway, eg: by instcombine, but
there are a few places where this results in simplifications that we
were not doing before.
llvm-svn: 122326
Diffstat (limited to 'llvm/lib/Transforms/Utils/SimplifyInstructions.cpp')
0 files changed, 0 insertions, 0 deletions