llvm-6502/lib/Transforms
Jingyue Wu f182c81444 [NaryReassociate] run NaryReassociate iteratively
Summary:
An alternative is to use a worklist approach. However, that approach
would break the traversing order so that we couldn't lookup SeenExprs
efficiently. I don't see a clear winner here, so I picked the easier approach.

Along with two minor improvements:
1. preserves ScalarEvolution by forgetting instructions replaced
2. removes dead code locally avoiding the need of running DCE afterwards

Test Plan: add to slsr-add.ll a test that requires multiple iterations

Reviewers: broune, dberlin, atrick, meheff

Reviewed By: atrick

Subscribers: llvm-commits

Differential Revision: http://reviews.llvm.org/D9058

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@235151 91177308-0d34-0410-b5e6-96231b3b80d8
2015-04-17 00:25:10 +00:00
..
Hello [CMake] Add LLVM_LINK_COMPONENTS to loadable modules, LLVMHello and BugpointPasses, on Win32. 2014-07-13 13:36:48 +00:00
InstCombine [X86, SSE] instcombine common cases of insertps intrinsics into shuffles 2015-04-16 17:52:13 +00:00
Instrumentation DebugInfo: Gut DICompileUnit and DIFile 2015-04-15 23:19:27 +00:00
IPO DebugInfo: Gut DICompileUnit and DIFile 2015-04-15 23:19:27 +00:00
ObjCARC Remove empty non-virtual destructors or mark them =default when non-public 2015-04-11 15:32:26 +00:00
Scalar [NaryReassociate] run NaryReassociate iteratively 2015-04-17 00:25:10 +00:00
Utils Silencing a -Wunused-but-set-variable warning; NFC. 2015-04-16 13:29:36 +00:00
Vectorize Add range iterators for post order and inverse post order. Use them 2015-04-15 17:41:42 +00:00
CMakeLists.txt
LLVMBuild.txt
Makefile