[PATCH] D38313: [InstCombine] Introducing Aggressive Instruction Combine pass

Amjad Aboud via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Nov 1 10:54:00 PDT 2017


aaboud updated this revision to Diff 121149.
aaboud added a comment.

Addressed Hal's comments.

1. Remove all recursive functions and replaced with Worklist + Stack containers. Note, this is needed for handling loops (which will be added with the PHINode patch).
2. Improved the compile time performance of the pass, by implementing an early exist for multi-used instructions that are not post-dominated by the TruncInst.


https://reviews.llvm.org/D38313

Files:
  docs/Passes.rst
  include/llvm/InitializePasses.h
  include/llvm/Transforms/Scalar.h
  lib/LTO/LLVMBuild.txt
  lib/Passes/LLVMBuild.txt
  lib/Transforms/AggressiveInstCombine/AggressiveInstCombine.cpp
  lib/Transforms/AggressiveInstCombine/AggressiveInstCombineInternal.h
  lib/Transforms/AggressiveInstCombine/CMakeLists.txt
  lib/Transforms/AggressiveInstCombine/LLVMBuild.txt
  lib/Transforms/AggressiveInstCombine/TruncInstCombine.cpp
  lib/Transforms/CMakeLists.txt
  lib/Transforms/IPO/LLVMBuild.txt
  lib/Transforms/IPO/PassManagerBuilder.cpp
  lib/Transforms/LLVMBuild.txt
  lib/Transforms/Scalar/LLVMBuild.txt
  lib\Transforms\AggressiveInstCombine
  test/Transforms/AggressiveInstCombine/trunc_multi_uses.ll
  test\Transforms\AggressiveInstCombine
  tools/opt/opt.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D38313.121149.patch
Type: text/x-patch
Size: 41517 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20171101/b3c29e15/attachment.bin>


More information about the llvm-commits mailing list