[llvm] r324958 - Revert "[LSR] Avoid UB overflow when examining reuse opportunities"
Eric Christopher via llvm-commits
llvm-commits at lists.llvm.org
Mon Feb 12 15:07:34 PST 2018
Thanks Adam. Also handy to reply to the original commit that you've done so
too :)
Thanks!
-eric
On Mon, Feb 12, 2018 at 2:44 PM Adam Nemet via llvm-commits <
llvm-commits at lists.llvm.org> wrote:
> Author: anemet
> Date: Mon Feb 12 14:42:13 2018
> New Revision: 324958
>
> URL: http://llvm.org/viewvc/llvm-project?rev=324958&view=rev
> Log:
> Revert "[LSR] Avoid UB overflow when examining reuse opportunities"
>
> This reverts commit r324943.
>
> Breaking bots, reverting for Gerolf.
>
> Removed:
> llvm/trunk/test/CodeGen/X86/loop-strength-reduce-overflow-check.ll
> Modified:
> llvm/trunk/lib/Transforms/Scalar/LoopStrengthReduce.cpp
>
> Modified: llvm/trunk/lib/Transforms/Scalar/LoopStrengthReduce.cpp
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Transforms/Scalar/LoopStrengthReduce.cpp?rev=324958&r1=324957&r2=324958&view=diff
>
> ==============================================================================
> --- llvm/trunk/lib/Transforms/Scalar/LoopStrengthReduce.cpp (original)
> +++ llvm/trunk/lib/Transforms/Scalar/LoopStrengthReduce.cpp Mon Feb 12
> 14:42:13 2018
> @@ -3939,11 +3939,6 @@ void LSRInstance::GenerateCrossUseConsta
> if (Imms.size() == 1)
> continue;
>
> - // UB: Check for overflow
> - int64_t Res;
> - if (__builtin_saddll_overflow(Imms.begin()->first,
> std::prev(Imms.end())->first, &Res))
> - continue;
> -
> DEBUG(dbgs() << "Generating cross-use offsets for " << *Reg << ':';
> for (const auto &Entry : Imms)
> dbgs() << ' ' << Entry.first;
>
> Removed: llvm/trunk/test/CodeGen/X86/loop-strength-reduce-overflow-check.ll
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/X86/loop-strength-reduce-overflow-check.ll?rev=324957&view=auto
>
> ==============================================================================
> --- llvm/trunk/test/CodeGen/X86/loop-strength-reduce-overflow-check.ll
> (original)
> +++ llvm/trunk/test/CodeGen/X86/loop-strength-reduce-overflow-check.ll
> (removed)
> @@ -1,26 +0,0 @@
> -; RUN: llc < %s -O1 -mtriple=x86_64-unknown-unknown
> -
> -; LSR has to check for overflow to avoid UB when it examines reuse
> opportunities
> -; Clang built with UBSan would expose the issue in this test case
> -
> -define void @main() {
> -bb:
> - br label %bb1
> -
> -bb1: ; preds = %bb1, %bb
> - %tmp = phi i64 [ 248268322795906120, %bb ], [ %tmp10, %bb1 ]
> - %tmp2 = sub i64 %tmp, 248268322795906120
> - %tmp3 = getelementptr i8, i8* undef, i64 %tmp2
> - %tmp4 = sub i64 %tmp, 248268322795906120
> - %tmp5 = getelementptr i8, i8* undef, i64 %tmp4
> - %tmp6 = getelementptr i8, i8* %tmp5, i64 -9086989864993762928
> - %tmp7 = load i8, i8* %tmp6, align 1
> - %tmp8 = getelementptr i8, i8* %tmp3, i64 -1931736422337600660
> - store i8 undef, i8* %tmp8
> - %tmp9 = add i64 %tmp, 248268322795906121
> - %tmp10 = add i64 %tmp9, -248268322795906120
> - br i1 undef, label %bb11, label %bb1
> -
> -bb11: ; preds = %bb1
> - ret void
> -}
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20180212/4b7471eb/attachment.html>
More information about the llvm-commits
mailing list