diff options
| author | Sanjoy Das <sanjoy@playingwithpointers.com> | 2015-08-28 19:09:31 +0000 |
|---|---|---|
| committer | Sanjoy Das <sanjoy@playingwithpointers.com> | 2015-08-28 19:09:31 +0000 |
| commit | 6f5dca70ed1c030957a45ad91bd295921f17b18d (patch) | |
| tree | 09e596d886fc42b8caa61a48ae6939fd8245c389 /llvm/lib/Transforms/InstCombine/InstCombineInternal.h | |
| parent | c0225ca2769de22834afba06b1b8e7f318c0f7b7 (diff) | |
| download | bcm5719-llvm-6f5dca70ed1c030957a45ad91bd295921f17b18d.tar.gz bcm5719-llvm-6f5dca70ed1c030957a45ad91bd295921f17b18d.zip | |
[InstCombine] Fix PR24605.
PR24605 is caused due to an incorrect insert point in instcombine's IR
builder. When simplifying
%t = add X Y
...
%m = icmp ... %t
the replacement for %t should be placed before %t, not before %m, as
there could be a use of %t between %t and %m.
llvm-svn: 246315
Diffstat (limited to 'llvm/lib/Transforms/InstCombine/InstCombineInternal.h')
| -rw-r--r-- | llvm/lib/Transforms/InstCombine/InstCombineInternal.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/llvm/lib/Transforms/InstCombine/InstCombineInternal.h b/llvm/lib/Transforms/InstCombine/InstCombineInternal.h index ac934f1bd85..9f5cdcbb329 100644 --- a/llvm/lib/Transforms/InstCombine/InstCombineInternal.h +++ b/llvm/lib/Transforms/InstCombine/InstCombineInternal.h @@ -360,6 +360,11 @@ private: /// \brief Try to optimize a sequence of instructions checking if an operation /// on LHS and RHS overflows. /// + /// If this overflow check is done via one of the overflow check intrinsics, + /// then CtxI has to be the call instruction calling that intrinsic. If this + /// overflow check is done by arithmetic followed by a compare, then CtxI has + /// to be the arithmetic instruction. + /// /// If a simplification is possible, stores the simplified result of the /// operation in OperationResult and result of the overflow check in /// OverflowResult, and return true. If no simplification is possible, |

