OSDN Git Service

Reassociate: Reprocess RedoInsts after each inst
authorAditya Nandakumar <aditya_nandakumar@apple.com>
Tue, 26 Jan 2016 18:42:36 +0000 (18:42 +0000)
committerAditya Nandakumar <aditya_nandakumar@apple.com>
Tue, 26 Jan 2016 18:42:36 +0000 (18:42 +0000)
commita2fd503e0ee45f26c0cd670c527e278b3d84bcbb
tree16efe45aad3b27d89999c28eb5fc003ea611eac7
parentc853b6cabe3e2e5ca95aa2327bc5da5efdce7e66
Reassociate: Reprocess RedoInsts after each inst

Previously the RedoInsts was processed at the end of the block.
However it was possible that it left behind some instructions that
were not canonicalized.
This should guarantee that any previous instruction in the basic
block is canonicalized before we process a new instruction.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@258830 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Transforms/Scalar/Reassociate.cpp
test/Transforms/Reassociate/prev_insts_canonicalized.ll [new file with mode: 0644]
test/Transforms/Reassociate/reassoc-intermediate-fnegs.ll
test/Transforms/Reassociate/xor_reassoc.ll