aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Transforms/Utils/SimplifyInstructions.cpp
diff options
context:
space:
mode:
authorDuncan Sands <baldrick@free.fr>2010-12-21 08:49:00 +0000
committerDuncan Sands <baldrick@free.fr>2010-12-21 08:49:00 +0000
commit6c7a52cf806b7e9fede7ca5397a74b20306dc43a (patch)
tree39ecac2bcafe217598dede38e3a80a36c005cd43 /llvm/lib/Transforms/Utils/SimplifyInstructions.cpp
parentec9518be89c938b0ec2db2f5b9c83ce9605d3026 (diff)
downloadllvm-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