[llvm] r285997 - Add bugpoint-reduced reproducer for pr30693
Zvi Rackover via llvm-commits
llvm-commits at lists.llvm.org
Fri Nov 4 07:53:22 PDT 2016
Author: zvi
Date: Fri Nov 4 09:53:22 2016
New Revision: 285997
URL: http://llvm.org/viewvc/llvm-project?rev=285997&view=rev
Log:
Add bugpoint-reduced reproducer for pr30693
Added:
llvm/trunk/test/CodeGen/X86/pr30693.ll (with props)
Added: llvm/trunk/test/CodeGen/X86/pr30693.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/X86/pr30693.ll?rev=285997&view=auto
==============================================================================
--- llvm/trunk/test/CodeGen/X86/pr30693.ll (added)
+++ llvm/trunk/test/CodeGen/X86/pr30693.ll Fri Nov 4 09:53:22 2016
@@ -0,0 +1,148 @@
+; PR30693
+; XFAIL: *
+; RUN: llc < %s | FileCheck %s
+
+; CHECK: .p2align 2
+; CHECK-NEXT: .LCPI0_0:
+; CHECK-NOT: vmovaps .LCPI0_0(%rip),
+; CHECK: .cfi_endproc
+target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
+target triple = "x86_64-unknown-linux-gnu"
+
+ at var_35 = external local_unnamed_addr global i32, align 4
+ at var_14 = external local_unnamed_addr global i16, align 2
+
+; Function Attrs: uwtable
+define void @_Z3foov() local_unnamed_addr #0 {
+entry:
+ %0 = load i32, i32* @var_35, align 4
+ %1 = load i16, i16* @var_14, align 2
+ %conv34 = zext i16 %1 to i64
+ %conv37 = ashr exact i64 undef, 32
+ %sub316 = add i16 undef, -7198
+ %cmp339981 = icmp sgt i32 undef, 0
+ %cmp401989 = icmp sgt i32 undef, 0
+ %cmp443994 = icmp sgt i32 undef, 0
+ %lcmp.mod = icmp eq i64 undef, 0
+ %broadcast.splat1461 = shufflevector <32 x i16> undef, <32 x i16> undef, <32 x i32> zeroinitializer
+ %broadcast.splat1357 = shufflevector <32 x i16> undef, <32 x i16> undef, <32 x i32> zeroinitializer
+ %broadcast.splat1435 = shufflevector <32 x i16> undef, <32 x i16> undef, <32 x i32> zeroinitializer
+ %broadcast.splat1409 = shufflevector <32 x i16> undef, <32 x i16> undef, <32 x i32> zeroinitializer
+ br label %for.cond11.preheader
+
+for.cond11.preheader: ; preds = %for.cond.cleanup477.loopexit, %entry
+ %div = sdiv i32 0, 0
+ %mul31 = mul nsw i32 %div, %0
+ %conv32 = sext i32 %mul31 to i64
+ %div40 = sdiv i64 0, 0
+ %div41 = sdiv i32 0, 0
+ %conv42 = sext i32 %div41 to i64
+ %mul43 = mul nsw i64 %conv32, %conv34
+ %mul44 = mul i64 %mul43, %div40
+ %mul45 = mul i64 %mul44, %conv37
+ %mul46 = mul i64 %mul45, %conv42
+ %add48 = add nsw i64 %mul46, 36611
+ %conv49 = trunc i64 %add48 to i16
+ br label %vector.ph1520
+
+vector.ph1520: ; preds = %for.cond11.preheader
+ %broadcast.splatinsert1531 = insertelement <32 x i16> undef, i16 %conv49, i32 0
+ %broadcast.splat1532 = shufflevector <32 x i16> %broadcast.splatinsert1531, <32 x i16> undef, <32 x i32> zeroinitializer
+ br i1 %lcmp.mod, label %vector.body1512.prol.loopexit, label %vector.body1512.prol.preheader
+
+vector.body1512.prol.preheader: ; preds = %vector.ph1520
+ store <32 x i16> %broadcast.splat1532, <32 x i16>* undef, align 8, !tbaa !1
+ unreachable
+
+vector.body1512.prol.loopexit: ; preds = %vector.ph1520
+ %add318 = add i16 %sub316, 0
+ %2 = insertelement <16 x i16> undef, i16 %add318, i32 7
+ %3 = insertelement <16 x i16> %2, i16 %add318, i32 8
+ %4 = insertelement <16 x i16> %3, i16 %add318, i32 9
+ %5 = insertelement <16 x i16> %4, i16 %add318, i32 10
+ %6 = insertelement <16 x i16> %5, i16 %add318, i32 11
+ %7 = insertelement <16 x i16> %6, i16 %add318, i32 12
+ %8 = insertelement <16 x i16> %7, i16 %add318, i32 13
+ %9 = insertelement <16 x i16> %8, i16 %add318, i32 14
+ %10 = insertelement <16 x i16> undef, i16 %add318, i32 7
+ %11 = insertelement <16 x i16> %10, i16 %add318, i32 8
+ %12 = insertelement <16 x i16> %11, i16 %add318, i32 9
+ %13 = insertelement <16 x i16> %12, i16 %add318, i32 10
+ %14 = insertelement <16 x i16> %13, i16 %add318, i32 11
+ %15 = insertelement <16 x i16> %14, i16 %add318, i32 12
+ %16 = insertelement <16 x i16> %15, i16 %add318, i32 13
+ %17 = insertelement <16 x i16> %16, i16 %add318, i32 14
+ %18 = insertelement <16 x i16> %17, i16 %add318, i32 15
+ %19 = insertelement <8 x i16> undef, i16 %add318, i32 7
+ br label %for.cond74.loopexit.us
+
+for.cond337.preheader.lr.ph: ; preds = %for.cond130.preheader.loopexit
+ br i1 %cmp339981, label %for.cond337.preheader.us.preheader, label %for.cond.cleanup335
+
+for.cond337.preheader.us.preheader: ; preds = %for.cond337.preheader.lr.ph
+ store <32 x i16> %broadcast.splat1461, <32 x i16>* undef, align 4, !tbaa !1
+ unreachable
+
+for.cond74.loopexit.us: ; preds = %for.cond74.loopexit.us, %vector.body1512.prol.loopexit
+ store <8 x i16> zeroinitializer, <8 x i16>* undef, align 2, !tbaa !1
+ %cmp76.us = icmp slt i64 undef, undef
+ br i1 %cmp76.us, label %for.cond74.loopexit.us, label %for.cond130.preheader.loopexit
+
+for.cond130.preheader.loopexit: ; preds = %for.cond74.loopexit.us
+ store <16 x i16> zeroinitializer, <16 x i16>* undef, align 2, !tbaa !1
+ store <16 x i16> %18, <16 x i16>* undef, align 2, !tbaa !1
+ store <8 x i16> %19, <8 x i16>* undef, align 2, !tbaa !1
+ br label %for.cond337.preheader.lr.ph
+
+for.cond.cleanup335: ; preds = %for.cond337.preheader.lr.ph
+ br label %for.cond380.preheader
+
+for.cond380.preheader: ; preds = %for.cond.cleanup335
+ br label %for.cond385.preheader
+
+for.cond.cleanup378.loopexit: ; preds = %for.cond.cleanup388
+ br label %for.cond481.preheader
+
+for.cond385.preheader: ; preds = %for.cond380.preheader
+ br i1 %cmp443994, label %for.cond392.preheader.us.preheader, label %for.cond392.preheader.preheader
+
+for.cond392.preheader.preheader: ; preds = %for.cond385.preheader
+ store <32 x i16> %broadcast.splat1435, <32 x i16>* undef, align 4, !tbaa !1
+ store <32 x i16> %broadcast.splat1409, <32 x i16>* undef, align 4, !tbaa !1
+ unreachable
+
+for.cond392.preheader.us.preheader: ; preds = %for.cond385.preheader
+ br label %for.cond399.preheader.lr.ph.us.1
+
+for.cond.cleanup388: ; preds = %for.cond399.preheader.lr.ph.us.1
+ br label %for.cond.cleanup378.loopexit
+
+for.cond481.preheader: ; preds = %for.cond.cleanup486, %for.cond.cleanup378.loopexit
+ br label %for.cond.cleanup486
+
+for.cond.cleanup477.loopexit: ; preds = %for.cond.cleanup486
+ store <8 x i32> <i32 1221902566, i32 1221902566, i32 1221902566, i32 1221902566, i32 1221902566, i32 1221902566, i32 1221902566, i32 1221902566>, <8 x i32>* undef, align 4, !tbaa !5
+ br label %for.cond11.preheader
+
+for.cond.cleanup486: ; preds = %for.cond481.preheader
+ br i1 undef, label %for.cond481.preheader, label %for.cond.cleanup477.loopexit
+
+for.cond399.preheader.lr.ph.us.1: ; preds = %for.cond392.preheader.us.preheader
+ br i1 %cmp401989, label %for.cond399.preheader.us.us.1.preheader, label %for.cond.cleanup388
+
+for.cond399.preheader.us.us.1.preheader: ; preds = %for.cond399.preheader.lr.ph.us.1
+ store <32 x i16> %broadcast.splat1357, <32 x i16>* undef, align 4, !tbaa !1
+ unreachable
+}
+
+attributes #0 = { uwtable "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "less-precise-fpmad"="false" "no-frame-pointer-elim"="false" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="false" "stack-protector-buffer-size"="8" "target-cpu"="knl" "target-features"="+adx,+aes,+avx,+avx2,+avx512cd,+avx512er,+avx512f,+avx512pf,+bmi,+bmi2,+cx16,+f16c,+fma,+fsgsbase,+fxsr,+lzcnt,+mmx,+movbe,+pclmul,+popcnt,+prefetchwt1,+rdrnd,+rdseed,+rtm,+sse,+sse2,+sse3,+sse4.1,+sse4.2,+ssse3,+x87,+xsave,+xsaveopt" "unsafe-fp-math"="false" "use-soft-float"="false" }
+
+!llvm.ident = !{!0}
+
+!0 = !{!"clang version 4.0.0 (http://llvm.org/git/clang.git ef66d4d58b9a2c6b3d31bbaf3ed2a70a9754a137) (http://llvm.org/git/llvm.git 5e661621191d6133a12effa103bfb2cbbdbb35ad)"}
+!1 = !{!2, !2, i64 0}
+!2 = !{!"short", !3, i64 0}
+!3 = !{!"omnipotent char", !4, i64 0}
+!4 = !{!"Simple C++ TBAA"}
+!5 = !{!6, !6, i64 0}
+!6 = !{!"int", !3, i64 0}
Propchange: llvm/trunk/test/CodeGen/X86/pr30693.ll
------------------------------------------------------------------------------
svn:eol-style = native
More information about the llvm-commits
mailing list