1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-21 20:12:56 +02:00
llvm-mirror/lib/Transforms
Jingyue Wu 80d7caa6b3 [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

llvm-svn: 235151
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