[PATCH] GVN: merge overflow intrinsics with non-overflow instructions.
Erik Verbruggen
erik.verbruggen at me.com
Mon Mar 10 04:48:30 PDT 2014
1 week ping!
Added Owen Anderson as advised by someone on irc...
-- Erik.
On 28 Feb 2014, at 11:07, Erik Verbruggen <erik.verbruggen at me.com> wrote:
> When an overflow intrinsic is followed by a non-overflow instruction,
> replace the latter with an extract. For example:
>
> %sadd = tail call { i32, i1 } @llvm.sadd.with.overflow.i32(i32 %a, i32 %b)
> %sadd3 = add i32 %a, %b
>
> Here the add statement will be replaced by an extract.
>
> When an overflow intrinsic follows a non-overflow instruction, a clone
> of the intrinsic is inserted before the normal instruction, which makes
> it the same as the previous case. Subsequent runs of GVN can then clean
> up the duplicate instructions and insert the extract.
>
> This fixes PR8817.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-GVN-merge-overflow-intrinsics-with-non-overflow-inst.patch
Type: application/octet-stream
Size: 11794 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20140310/deda5952/attachment.obj>
More information about the llvm-commits
mailing list