diff options
author | Guozhi Wei <carrot@google.com> | 2018-03-22 21:47:25 +0000 |
---|---|---|
committer | Guozhi Wei <carrot@google.com> | 2018-03-22 21:47:25 +0000 |
commit | 17ff975eb1b589e4793cb0544c8e91e5c2407150 (patch) | |
tree | c3dbbd2c58e01f38233e3d7622bf043a8571c64b /clang/lib/StaticAnalyzer/Core/AnalyzerOptions.cpp | |
parent | 3bbf5af0ac2e9b5564dfecee64ec7b0df1da4edb (diff) | |
download | bcm5719-llvm-17ff975eb1b589e4793cb0544c8e91e5c2407150.tar.gz bcm5719-llvm-17ff975eb1b589e4793cb0544c8e91e5c2407150.zip |
[DAGCombiner] Fold (zext (and/or/xor (shl/shr (load x), cst), cst))
In our real world application, we found the following optimization is missed in DAGCombiner
(zext (and/or/xor (shl/shr (load x), cst), cst)) -> (and/or/xor (shl/shr (zextload x), (zext cst)), (zext cst))
If the user of original zext is an add, it may enable further lea optimization on x86.
This patch add a new function CombineZExtLogicopShiftLoad to do this optimization.
Differential Revision: https://reviews.llvm.org/D44402
llvm-svn: 328252
Diffstat (limited to 'clang/lib/StaticAnalyzer/Core/AnalyzerOptions.cpp')
0 files changed, 0 insertions, 0 deletions