aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/CodeGen/CodeGenModule.h
diff options
context:
space:
mode:
authorDuncan Sands <baldrick@free.fr>2011-01-18 09:24:58 +0000
committerDuncan Sands <baldrick@free.fr>2011-01-18 09:24:58 +0000
commit9b8e2bd8ef852dd43d1f2c9778e76d17eca5a61f (patch)
tree1fe81e43fa1029973d2d67f60eae39902e42ec10 /clang/lib/CodeGen/CodeGenModule.h
parent065494626880e3fab0e867f9131aa0545eedc8ce (diff)
downloadllvm-9b8e2bd8ef852dd43d1f2c9778e76d17eca5a61f.zip
llvm-9b8e2bd8ef852dd43d1f2c9778e76d17eca5a61f.tar.gz
llvm-9b8e2bd8ef852dd43d1f2c9778e76d17eca5a61f.tar.bz2
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 'clang/lib/CodeGen/CodeGenModule.h')
0 files changed, 0 insertions, 0 deletions